|
|
|
|
Strumenti |
26-02-2021, 21:42 | #1 |
Member
Iscritto dal: Jun 2006
Messaggi: 124
|
[Guida] Superare il NAT dei vari Operatori con il reverse tunneling + VPS
Il contenuto di questo post è rilasciato con licenza Creative Commons Attribution-Noncommercial-Share Alike 2.5 http://creativecommons.org/licenses/by-nc-sa/2.5/it/
Ho creato anche io una guida alternativa per superare il nat dei nostri amati operatori mobili per esporre le nostre porte dei servizi su ip pubblico. Per ora è una guida basilare e cercherò di ampliarla, se richiesto. Si richiede sempre l'utilizzo di una vps su server esterni con ip pubblico, di un Raspberry posizionato nella nostra rete è un po' di buona volontà. La reale differenza consiste nel fatto che il nostro traffico non viene indirizzato tutto sulla vps, ma solo le porte da noi scelte. In questa maniera non avremo problemi di velocità, di traffico totale a disposizione sulla vps e ci permetterà di scegliere la vps più economica possibile. Ovviamente non va bene per i giochi e si utilizza solo il protocollo TCP. Però è utile per esporre telecamere, server interni ed ad esempio interfacce dei nostri modem, per monitorarli anche dall'esterno. 1) Installare il sistema operativo su microSD per il raspberry, usando https://www.raspberrypi.org/software/ scegliete la versione con Pi Os with desktop, quella da circa 1GB 2) Prima di inserire la microsd nel Raspberry, inseritela nel computer nuovamente ed aggiungete un file chiamato "ssh" (senza virgolette), senza estensione e senza scrivere nulla al suo interno e lo salvate nella partizione boot . Qui altri sistemi di abilitazione di ssh (il nostro sistema è il punto 3): https://www.raspberrypi.org/document...te-access/ssh/ 3) Inserire la microsd nel Raspberry, dargli l'alimentazione, aspettare un po', cercare che ip ha preso, supponendo che la vostra rete abbia il dhcp. Aprire winscp ed Andare in options>preference>panels e dirgli di mostrare anche le cartelle e i file nascosti (si può fare anche premendo ctrl+alt+h). a) Premere new site b) Inserite l'ip del raspberry in host c) Come user name pi e password raspberry d) Cliccate save, per salvare i dati di accesso e poi login e) Confermate al messaggio successivo la chiave ed ecco che siete entrati nel raspberry, via ssh. A destra sono le cartelle del vostro raspberry a sx il vostro computer. f) Scaricate putty dal sito https://www.putty.org/ sul vostro pc e mettetelo nella cartella denominata putty in winscp. Eventualmente aprite le opzioni di winscp e specificate dove è posizionato il file putty.exe in Prefernce>Integration>Applications 4) installare autossh sul raspberry con putty, che avvieremo direttamente da winscp, dopo essere entrati nel nostro raspberry, selezionando l'icona con i 2 computer con il lampo. Si aprirà il terminale, eventualmente rimetteremo la pw e daremo il comando: sudo apt install autossh Autossh è un servizio che permette di ripristinare ssh se cade la connessione A questo punto Sarebbe intelligente cambiare la password dell'utente pi, inviando questo comando sempre dal terminale putty passwd seguire le indicazioni. 5) creare sul raspberry sempre tramite putty una chiave rsa. I comandi dateli dopo aver fatto prima sudo su ssh-keygen usate la cartella suggerita e non usate una password quando richiesto 6) attivare il TCP forwarding su raspberry, da putty sudo nano /etc/sysctl.conf Rimuovete dalla riga #net.ipv4.ip_forward=1 il simbolo di inizio commento (#). Che quindi diventerà: net.ipv4.ip_forward=1 Cliccate su CTRL+X, scrivete yes. Per applicare i cambiamenti descritti nel file appena modificato digitate sysctl -p 7) Acquistare una vps con Debian 10 non importano le prestazioni, basta l'ip pubblico 8) Accedere con winscp alla vostra nuova VPS (fate New site ed aggiungete i dati della vostra VPS, come avete fatto con il raspberry, ma ovviamente con indirizzi IP e utenti diversi) e andare in etc/ssh/sshd_config della vps e modificare il file in questo modo, aggiungendo alla fine del file le righe qui sotto e dopo riavviate la vps. GatewayPorts yes AllowTcpForwarding yes KeepAlive yes Protocol 1,2 X11Forwarding yes TCPKeepAlive yes ClientAliveInterval 5 ClientAliveCountMax 10 9) Attivare l'inoltro anche delle porte sul server vps, come avete fatto sul raspberry, da putty sudo nano /etc/sysctl.conf Rimuovete dalla riga #net.ipv4.ip_forward=1 il simbolo di inizio commento (#). Che quindi diventerà: net.ipv4.ip_forward=1 Cliccate su CTRL+X, scrivete yes. Per applicare i cambiamenti descritti nel file appena modificato digitate sysctl -p 10) Copiare con winscp il contenuto del file id_rsa.pub del nostro Raspberry (client) che trovate dentro la cartella /root/.ssh di ed incollarlo nel file presente in /root/.ssh authorized_keys della vps. Se non c'è crearlo e dargli questi permessi rw-r-r, sempre con putty (ottale 0644) 11) Collegarsi via SSH dal Raspberry alla vps, sempre da winscp connesso al raspberry, avviare putty e scrivete ssh root@ip.vps, ditegli di sì e a quel punto non servirà più mettere utente e pw per connettersi. Comunque riprovare facendo exit e rinviando il comando 12) Provare il reverse tunneling sulla porta che volete aprire. Per esempio ho una telecamera con ip 192.168.1.110 sulla porta 5010 e la mia vps ha il suo determinato ip. il comando sarà ssh -R 5010:192.168.1.110:5010 -N root@ip.del.vps -p 22 Se invece volessimo cambiare la porta su internet, e scelgo per esempio la 9010, ma che punta sempre alla stessa telecamera, possiamo fare ssh -R 9010:192.168.1.110:5010 -N root@ip.del.vps -p 22 13) Provare il servizio, scrivendo vps.ip:5010 e si dovrebbe aprire la telecamera 14) In aggiunta editate sempre con winscp il file config presente sul raspberry in /root/.ssh/ aggiungendo per esempio una telecamera che è sull'ip 192.168.1.110, che necessita della porta 5010 aperta, che chiameremo Tele5010 Host Tele5010 HostName IP della VPS User root Port 22 RemoteForward 5010 192.168.1.110:5010 ServerAliveInterval 30 ServerAliveCountMax 3 ExitOnForwardFailure yes 15) Dopo aver creato questo file, non ci sarà più bisogno di mandare il comando ssh -R 9010:192.168.1.110:5010 -N root@ip.del.vps -p 22 , ma solo autossh -M 0 -f -T -N tele5010 16) editate il file crontab in modo che al riavvio venga correttamente eseguito il comando autossh -M 0 -f -T -N tele5010 Se avete un Mikrotik connesso ad un modem LTE potreste evitare tutta questa procedura e seguire questa altra mia guida per ora in inglese: https://www.reddit.com/r/mikrotik/co...nt_behind_vps/ Ultima modifica di lelebello1977 : 01-03-2021 alle 11:10. |
12-04-2021, 18:57 | #2 |
Junior Member
Iscritto dal: Apr 2021
Messaggi: 14
|
Interessante questa guida
Alla fine non fai altro che creare un tunnel ssh ,potrebbe tornarmi utile anche se credo che la soluzione della vpn sia migliore . Usare utente "ROOT" non è mai una buona idea secondo me ,potresti aggiungere adduser Ultima modifica di chinemys : 12-04-2021 alle 19:03. |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:18.