Archivio

Posts Tagged ‘pptp server’

Come configurare un server VPN PPTP con Ubuntu Linux

29 aprile 2009

Connessione VPN

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:

“Pippo” pptpd “PasswordDiPippo” *

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 gateway del server remoto, ma utilizzi quello solito di windows

1. Impostare la connessione di Windows affinché non utilizzi il gateway del server remoto, ma utilizzi quello solito di windows

2. Impostare il server affinché dia il default 2. 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

Share

Tips Linux e Microsoft