|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
[Guida] [Wireguard] Come ottenere un IP pubblico con qualsiasi connessione 3G/4G
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/ Changelog: 1.0.0 Release Iniziale Come tutti sappiamo, già da tempo gli operatori hanno smesso di fornire IP pubblici sulle sim dei telefoni cellulari. Questa guida ha il duplice scopo di ottenere un IP pubblico su linee 3G/4G da utilizzare per i dispositivi interni e/o accedere dall'esterno alla propria rete LAN. A differenza della mia precedente guida, mi è stato più volte chiesto di sviluppare una guida specifica per Wireguard, più performante rispetto a OpenVPN. Cosa serve: - Connessione 3G/4G correttamente configurata e funzionante. - Dispositivo Linux (Raspberry o PC) correttamente installato con un'interfaccia avente IP statico e come default gateway la connessione 3G/4G. - Dispositivo Linux correttamente installato con un'interfaccia avente IP pubblico (VPS o altra connessione con IP pubblico di cui si è legittimi fruitori. Ricordo che la condivisione di connessioni internet è illegale). NOTE - Ho saltato la parte di configurazione dei dispositivi Linux: partiamo dal presupposto che siano correttamente funzionanti. Se avete bisogno, in rete c'è ampia documentazione o potete chiedere a me, ma in ogni caso esula dallo scopo di questa guida. - Per gestire il traffico uscente, nel caso si voglia tunnelizzare il traffico attrverso la VPN, serve implementare il routing sul Raspberry/PC in modo che faccia da gateway per tutta la propria rete. Ad oggi questa parte di configurazione non l'ho ancora implementata, quindi sulla release attuale non la troverete. Non escludo di inserirla, tempo permettendo, in futuro. L'alternativa per il momento è installare un client VPN su ogni dispositivo che necessiti di utilizzare l'IP pubblico. Capitolo 1: Installazione Server A differenza di OpenVPN ove esiste il concetto client/server, con Wireguard ci sono solo peer, quindi la configurazione è praticamente analoga su client e su server. Faremo comunque la distinzione, poi capirete perchè. 1) Installate Wireguard: Codice:
apt install wireguard Codice:
wg genkey > private Codice:
cat private Codice:
wg pubkey < private Codice:
nano /etc/wireguard/wg0.conf Codice:
[Interface] Address = 10.6.0.1/24 ListenPort = 40115 PrivateKey = ************************************ [Peer] PublicKey = *********************************** AllowedIPs = 10.6.0.10/32 Capitolo 2: Installazione Client Il client dev'essere installato come il server, a differenza della configurazione, quindi seguo gli stessi passi dall'1 al 4 del precedente capitolo, per il client procedo a configurarlo come segue: Codice:
[Interface] Address = 10.6.0.10/24 PrivateKey = ************************************* DNS = 8.8.8.8, 8.8.4.4 [Peer] PublicKey = ************************************* AllowedIPs = 10.6.0.1/0 Endpoint = ***.***.***.***:40115 PersistentKeepalive = 60 A questo punto potete andare (se non l'avete già fatto) a completare la configurazione del server con la chiave pubblica del client. Avviate il servizio sul server: Codice:
systemctl start wg-quick@wg0 Codice:
systemctl enable wg-quick@wg0.service Se tutto è stato eseguito correttamente, lanciando il seguente comando: Codice:
wg show Codice:
interface: wg0 public key: ****************************** private key: (hidden) listening port: 40115 peer: ************************* endpoint: ***.***.***.***:64014 allowed ips: 10.6.0.10/32 latest handshake: Now transfer: 2.16 MiB received, 5.78 MiB sent https://hwupgrade.it/forum/showthread.php?t=2880131
__________________
Si stava meglio quando si stava peggio Ultima modifica di OUTATIME : 13-09-2023 alle 10:46. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
1 *** Riservato ***
__________________
Si stava meglio quando si stava peggio |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
2 *** Riservato ***
__________________
Si stava meglio quando si stava peggio |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Guida molto interessante...
Mi domando...qualora sul PC Win (configurato come client e unico della rete a necessitare dell' accesso da remoto trovandosi sotto cgnat dell'ISP Vodafone) vi fosse la necessità di risvegliarlo da sospensione o ibernazione con WOL, esiste il modo? E' sufficiente il timing del keepalive, a causa del quale non andrà in sospensione? Ultima domanda... Sul PC client è possibile mantenere il traffico in uscita diretto su web (fornito dall'ISP, Vodafone in questo caso) e utilizzare l'ip pubblico ottenuto da propria VPS (Ubuntu) solo per le connessioni in entrata (ovvero, da remoto)? ![]() ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Quote:
- Il wake on LAN vero funziona inviando il magic packet in broadcast su tutta la rete, il funzionamento "monco" del fidarsi della tabella ARP del router non lo prendo neppure in considerazione, di conseguenza la prima è l'unica configurazione che ritengo veramente funzionante. - Non ho capito se per "client da risvegliare" intendi un client su cui è installato wireguard, in questo caso la risposta è no: wireguard è un'applicazione a livello di sistema operativo. Spento il PC, spenta la connessione Wireguard. Quello che chiedi è possibile solamente se sulla rete è presente un client tipo Raspberry sempre acceso con la connessione Wireguard attiva. Come sopra: certamente, SE la connessione Wireguard è creata da un dispositivo terzo come un Raspberry.
__________________
Si stava meglio quando si stava peggio |
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Come immaginavo…
E che ne dici di collegare in cascata (solo al pc di cui ho bisogno di connettermi da remoto, trovandomi sotto cgnat) un router gl.inet? Riuscirebbe a svolgere, una volta impostato come client wireguard, la funzione da mini-server? Sarebbe in grado di far lanciare i magic packet per risvegliare i pc in lan? |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Quote:
In alternativa, se non hai già l'hardware, posso fare le prove su un Edgerouter x di Ubiquiti, e su quello posso darti una mano in tempo reale.
__________________
Si stava meglio quando si stava peggio |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Ho già un gl.inet 300N, ancora inscatolato.
Preso qualche tempo fa per dei test, ma mai usato. Vorrei fare il modo di raggiungere un pc e un mac della lan (connessa a router con Vodafone) da remoto, risvegliandoli all’occorrenza (per evitare di lasciarli accesi h24). Ho VPS Ubuntu… Il progetto sarebbe questo… |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Ok, inizia con il configurare la connessione wireguard funzionante, poi vediamo le configurazioni iptables.
__________________
Si stava meglio quando si stava peggio |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
|
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Su entrambi i dispositivi. Sul VPS Ubuntu essendo una derivata Debian vanno bene i comandi che ti ho scritto sopra.
Per quanto riguarda OpenWRT ha dei comandi differenti, quindi su quello non so aiutarti. Quello che dobbiamo arrivare ad ottenere è che dal VPS pinghi l'IP dell'interfaccia wg0 del router e viceversa.
__________________
Si stava meglio quando si stava peggio |
![]() |
![]() |
![]() |
#13 | |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Quote:
|
|
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Niente da fare....
A parte che ho problemi a collegare gl.inet al mio router fritzbox (con porta wan), ma anche settandolo come repeater (e con accesso alla rete) non riesco a connettermi con wireguard. Sbaglio cnte qualcosa. Ad esempio, non capisco nella tua guida, se le chiavi (private e pubbliche) tra server e peer siano le stesse... EDIT: Sono riuscito. Su VPS Oracle le IPtable non bastano, bisogna aprire le porte dal pannello amministratore. Ok. Ora ho il gl.net configurato correttamente per l'accesso alla VPS attraverso wireguard. Ultima modifica di misterbat : 23-02-2023 alle 00:14. |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Quote:
Se non lo fosse, installalo sul VPS e poi bisogna sperare che il gl.inet consenta il forward dei pacchetti all'indirizzo di broadcast.
__________________
Si stava meglio quando si stava peggio |
|
![]() |
![]() |
![]() |
#16 |
Member
Iscritto dal: Sep 2007
Messaggi: 35
|
Prima devo risolvere un problema.
Wireguard tunnel funziona correttamente, ma non riesco a pingare la LAN del peer (per la VPS non mi interessa). Credo sia un problema di iptables sul gl.inet... |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Quote:
Per questo ti avevo chiesto se era possibile installare etherwake sul router, in modo da evitare di mettere mano all'iptables ![]()
__________________
Si stava meglio quando si stava peggio |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2005
Città: Piacenza
Messaggi: 1078
|
Ciao cerco di configurare wireguard (VPS server ubuntu 22.04) e windows 11
Dove sbaglio? questa la vps https://ibb.co/Q8yhCDN e questo il client https://ibb.co/KGgXWSf e dal client continuo ad uscire con IP internet della connessione e non con quello della vps |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Dec 2007
Città: LIDV
Messaggi: 11469
|
Quote:
__________________
Si stava meglio quando si stava peggio |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:45.