Crearsi velocemente una vpn pptp con Linux (ubuntu) senza router adsl particolari
Per crearsi in modo semplice e rapido una vpn casalinga o aziendale è veramente molto semplice: basta Linux e una manciata di minuti a disposizione…
Mi sono basato su questa bellissima guida, ma ho integrato alcune importanti configurazioni che ho dovuto fare per risolvere alcuni disfunzioni sul mio Server… Grazie UbuntuTrucchi!
Prima le facevamo con openvpn e ipcop, adesso basta cliente dedicati sui singoli pc, ma largo alle trasparenza pptp!!! Ovviamene il certificato OpenVpn è una sicurezza in più…
Partiamo dunque:
sudo apt-get install pptpd bcrelay
Il servizio sarà già attivo e funzionante… non rimane che dargli qualche piccola limatura, creare gli utenti e abilitare la porta sul router.
Sul router adsl, o firewall aziendale è necessario che la porta TCP 1723 sia aperta sull’ip del server linux con le funzionalità di PPTP Server.
Fatto questo siamo raggiungibili dall’esterno, pertanto dobbiamo creare gli utenti per la connessione. Bisogna quindi modificare il file /etc/ppp/chap-secrets tramite terminale oppure utilizzando l’interfaccia grafica webmin che ha un modulo per il pptp.
La struttura del file è semplice e chiara:
"NomeUtente" nometunnel "Password" *
oppure in caso di utenti di dominio
"DOMINIO\\Nome Utente" NomeTunnel "Password" *
Se non c’e’ dominio consiglio di utilizzare la prima sintassi.
Il nome del tunnel predefinito per il servizio è pptpd quindi une esempio potrebbe essere:
"Angelo" pptpd "PasswordDiAngelo" *
Riavviamo il servizio:
/etc/init.d/pptpd restart
Prima di testare la connessione, è necessario capire se ma macchina Linux ha attivato l’IP FORWARDING, altrimenti il client remoto sarà in grado solamente di raggiungere le risorse sul server e non gli altri pc della rete. Per verificare se IP Forwarding è abilitato:
cat /proc/sys/net/ipv4/ip_forward
Se risponde 0 vuol dire che non è abilitato. Se invece risponde 1 possiamo proseguire allegramente
Per settare definitivamente l’impostazione :
gksudo /etc/sysctl.conf
e impostiamo la riga in questione così:
net.ipv4.ip_forward = 1
Per abilitarlo già da subito, senza riavviare, andiamo a forzare l’impostazione sul kernel in esecuzione:
echo "1" > /proc/sys/net/ipv4/ip_forward
A questo punto, se proviamo a collegarci con Windows vedremo che si collegherà correttamente, solamente che non sarà più possibile navigare, questo perchè il server pptpd (su Ubuntu per lo meno) non va a impostare un default gateway per la connessione remota.
Dal canto suo, il comportamento predefinito della connessione VPN di Windows è quello di aspettare il nuovo gateway dal Server PPTPD; quindi l’utente remoto potrà raggiungere le risorse sul server ma non saprà come raggiungere qualsiasi altro indirizzo in internet.
Abbiamo quindi 2 opzioni:
- Impostare la connessione di Windows affinchè non utilizzi il gateware del server remoto, ma utilizzi quello solito di windows
- Impostare il server affinchè dia il default gateway e i dns per la navigazione
Per il primo caso, basta andare a modificare le impostazioni IPv4 della connessioni sul singolo client remoto, quindi su avanzate -> togliere la spunta su “usa gateway predefinito sulla rete remota”. Riavviando la connessione tutto funzionerà a dovere.
Per il secondo caso andiamo a modificare il file /etc/ppp/pptpd-options
e commentiamo nodefaultroute in questo modo
#nodefaultroute
inotre impostiamo i dns che verranno passati al client remoto; in questo caso imposto quelli di Telecom, ma potrebbero essere anche di un dns interno alla rete di casa/ufficio.
ms-dns 212.216.112.112.
ms-dns 151.99.0.100
Di default PPTPD, per ogni connessione stabilità, creerà una nuova interfaccia pppX con indirizzo IP 192.168.0.xxx mentre i client che si connetteranno riceveranno indirizzo IP 192.168.1.xxx e le due interfacce potranno comunicare tranquillamente tra loro.
Tuttavia questa configurazione di IP spesso va a cozzare con gli indirizzi già esistenti nella rete locale. E’ possibile modificarli per assegnare quelli da noi desiderati, semplicemente con:
gksudo gedit /etc/pptpd.conf
Se la vostra rete ha indirizzo 192.168.1.0 vi consiglio di trovare una decina di indirizzi ip statici contigui che non sono gestiti dal DHCP Server. ad esempio da 192.168.1.150 a 192.168.1.160.
E aggiungere in fondo al file:
localip 192.168.1.150
remoteip 192.168.1.151-160
Questo forzerà il server PPTPD a utilizzare per ogni client un indirizzo IP compreso tra 192.168.1.151 e 192.168.1.160, mentre sul server per ogni connessione sarà costituita un’interfaccia pppX con IP fisso 192.168.1.150.
In questo modo tutti quanti i client nella stessa rete potranno comunicare direttamente, siano essi interni siano essi esterni. Naturalmente tutte le informazioni in transito saranno crittografate.
Alla fine delle modifiche ricordiamoci di riavviare il servizio pptpd con:
sudo /etc/init.d/pptpd restart
Questo è tutto













Comments(1)
[...] questo interessante articolo viene spiegato come creare un server vpn con ubuntu e [...]