Supponendo di avere un server privato virtuale da qualcuno come Linode, che esegue Ubuntu, come faccio a configurare facilmente una VPN PPTP in modo che i client Ubuntu possano connettersi ad essa?
Per impostazione predefinita, Ubuntu offre la connessione a queste reti PPTP. Voglio configurarlo in modo tale che sia molto facile connettersi (cioè senza installare alcun pacchetto sul client).
Migliore risposta
La configurazione minima assoluta del server
Quelle che seguono sono le istruzioni minime assolute necessarie per ottenere un server VPN PPTP di base in esecuzione su Ubuntu. I client saranno quindi in grado di connettersi tramite VPN al server e instradare il proprio traffico Internet in modo che passi attraverso il server a Internet. Come sempre, consulta la documentazione completa per capire cosa sta facendo tutto.
Innanzitutto, installa il software richiesto:
sudo apt-get install pptpd
In secondo luogo, abilita ip_forward
nel kernel per IPv4 decommentando la riga associata in /etc/sysctl.conf :
sudo sed -i -r 's/^s*#(net.ipv4.ip_forward=1.*)/1/' /etc/sysctl.conf
# Reload the config file to have the change take effect immediately.
sudo -i sysctl -p
Terzo, abilita NAT (se non è già abilitato) in modo che gli utenti sulla rete VPN privata possano avere i loro pacchetti instradati su Internet:
OUTIF=`/sbin/ip route show to exact 0/0 | sed -r 's/.*devs+(S+).*/1/'`
sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
# Enable NAT on boot from the rc.local script.
CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
sudo sed -i "$i$CMDn" /etc/rc.local
Nota: Questa guida presuppone che sul server non sia configurato alcun firewall. Se hai un firewall sul server, come UFW, consulta invece la documentazione pertinente.
In quarto luogo, per ogni utente VPN, crea un account nel file /etc/ppp/chap-secrets . Sostituisci $USER
con il nome utente effettivo che desideri utilizzare per quell'utente VPN.
KEY=`head -c 20 /dev/urandom | sha1sum | nawk '{print $1}'`
echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets
Finalmente sei pronto per...
Configura il cliente
Nell'applet Network Manager, seleziona Connessioni VPN → Configura VPN , quindi fai clic su Aggiungi . Nella schermata successiva seleziona PPTP per il tipo VPN, quindi fai clic su Crea .
In questa finestra, inserisci il nome host o l'IP del tuo server insieme al nome utente e alla chiave che hai aggiunto a /etc/ppp/chap-secrets file sul server.
Ora fai clic su Avanzate .
In questa finestra, abilita "Usa crittografia punto a punto (MPPE)" e seleziona 128-bit sicurezza. Disabilita l'uso di MSCHAP autenticazione (lascia MSCHAPv2 abilitato).
Infine, fai clic su Ok e poi Salva per chiudere la finestra precedente.
Correlati:il mouse Apple Magic si disconnette e si riconnette frequentemente?Ora puoi testare la connessione VPN andando all'applet Network Manager → Connessioni VPN e selezionando la connessione che hai appena creato. Assicurati di ricevere un messaggio che dice che la connessione VPN è riuscita, quindi accedi a un sito Web di controllo IP per verificare che il tuo IP ora venga visualizzato come IP del server.
Se ricevi un messaggio che dice che la connessione VPN al server non è riuscita:prima verifica di aver inserito correttamente le impostazioni del client; in secondo luogo, verificare che il client disponga della connettività di rete alla porta TCP 1723 sul server; infine, controlla il file di registro /var/log/messages sul server per ulteriori indizi. Se la tua connessione VPN ha esito positivo, ma successivamente non sei in grado di accedere a nessun sito Web dal client, consulta questa guida diagnostica incredibilmente utile sul sito Web pptpd.
Note
Se la rete locale a cui sei connesso utilizza le sottoreti 192.168.0.0/24 e 192.168.1.0/24, si verificheranno problemi perché questo è ciò che il server PPTP utilizza per impostazione predefinita. Dovrai configurare PPTP per utilizzare sottoreti diverse in pptpd.conf.
Ci sono numerose altre modifiche alla configurazione che potresti voler apportare. Ad esempio, tutte le ricerche dei nomi di dominio verranno comunque interrogate utilizzando il server DNS locale invece di passare attraverso il server PPTP. Prenditi del tempo per leggere tutta la documentazione per scoprire come modificare questa impostazione e molte altre.