Tra le mille features che dd-wrt possiede ha quelle che gli permette di essere configurato come server vpn pptp in modo da permetterci di accedere agli host della nostra LAN anche quando siamo lontani da casa.
Configurare dd-wrt come server vpn pptp
Passo indispensabile è configurare dd-wrt come server ppt, una volta fatto questo dd-wrt si metterà in ascolto sulla porta tcp 1723 per accettare possibili connessioni provenienti dalla WAN. Se il router su cui gira dd-wrt non ha un indirizzo pubblico (perché magari è dietro nat) sarà necessario eseguire un forward della porta tcp 1723 dal router adsl verso quello dd-wrt.
La configurazione consiste nell’assegnare un nome utente e una password di autenticazione e un indirizzo ip privato con cui verrà visto il router dd-wrt dai client che accedono alla vpn.
L’utente e la password devono essere inseriti nel campo CHAP-Secrets nella forma
utente * password *
Nel mio ho inserito quanto segue:
david * 123456789 *
Naturalmente la password indicata è a scopo puramente indicativo.
E’ possibile raggiungere l’interfaccia di configurazione dal menù Services/PPTP.
Configurare Ubuntu come client
Per configurare ubuntu come client pptp è necessario che il pacchetto pptp-linux sia installato, se così non fosse basterà impartire il seguente comando:
sudo apt-get install pptp-linux
una volta installato dovremo configurare la connessione con l’utility pptpsetup come segue:
sudo pptpsetup --create lejubila --server vpn.lejubila.net --username david --password 123456789
in questo modo creaiamo il tunnel ppp il cui nome lejubila è assegnato dall’opzione –create. Il server a cui deve fare riferimento è l’indirizzo ip pubblico o l’host name con cui il nostro router dd-wrt viene visto su internet. In caso di connessioni con indirizzo ip dinamico è possibile gestire l’host name grazie a servizi tipo dyndns.
Creata la connessione è possibile specificare le regole di routing che ci permetteranno di raggiungere gli host della nostra LAN che stanno dietro al route dd-wrt. Per fare questo dobbiamo creare un file nella directory /etc/ppp/ip-up.d che contenga quanto segue:
#!/bin/sh # # This script is run by the pppd after the link is established. # It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes, # set IP address, run the mailq etc. you should create script(s) there. # # Be aware that other packages may include /etc/ppp/ip-up.d scripts (named # after that package), so choose local script names with that in mind. # # This script is called with the following arguments: # Arg Name Example # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional ``ipparam'' value foo # The environment is cleared before executing this script # so the path must be reset PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH # These variables are for the use of the scripts run by run-parts PPP_IFACE="$1" PPP_TTY="$2" PPP_SPEED="$3" PPP_LOCAL="$4" PPP_REMOTE="$5" PPP_IPPARAM="$6" if [ "$PPP_IPPARAM" = "lejubila" ]; then route add -net 192.168.50.0/24 gw $PPP_REMOTE fi
Le ultime tre righe riconoscono che è stata instaurata la connessione di nome lejubila e provvedono ad inserire la regola di routing necessaria per raggiungere la rete 192.168.50.0/24 (LAN) che stanno dietro all’indirizzo remoto che abbiamo contattato (router dd-wrt) per instaurare la vpn.
Eseguite le operazioni sopra indicate sarà possibile collegarsi in vpn digitando il seplice comando:
sudo pon lejubila
Adesso possiamo provare a fare un semplice ping verso un’host della nostra LAN e vedere se risponde:
ping 192.168.50.1
Volendo disconnettere la vpn digitiamo:
sudo poff lejubila
Possiamo anche configurare la connessione in modo che possa essere avviata in automatico al boot del pc e abilitata/disabilitata con i comadi ifup e ifdown. Per fare questo devono essere inserite le seguenti righe nel file nel file /etc/network/interfaces.
auto lejubila iface lejubila inet ppp provider lejubila
La prima riga auto lejubila indica di abilitare la connessione in automatico all’avvio, la seconda iface lejubila inet ppp definisce l’interfaccia lejubila in modo che possa essere gestita dai comandi ifup/ifdown, mentre provider lejubila indica che l’interfaccia lejubila deve essere gestita grazie alla configurazione presente nel file /etc/ppp/peers/lejubila.
Configurare Windows XP come client
E’ possibile configurare anche windows xp come client seguendo i passi descritti nelle seguenti videate a partire dal Pannello di Controllo:
Anche sotto windows dobbiamo abilitare la regola di routing che ci permette di accedere agli host della nostra LAN che stanno dietro il router dd-wrt. Lo facciamo impartendo da linea di comando quanto segue:
route ADD 192.168.50.0 MASK 255.255.255.0 192.168.100.101
dove 192.168.50.0 è l’indirizzo della nostra LAN e 192.168.100.101 è l’indirizzo ip che la vpn ci ha assegnato e viene utilizzato come gateway.
E’ possibile anche fare in modo che questa regola diventi permanente aggiungendo il parametro -p al comando:
route -p ADD 192.168.50.0 MASK 255.255.255.0 192.168.100.101
[…] Articolo Originale: lejubila's blog » Server vpn pptp con dd-wrt e client con Ubuntu … Articoli correlati: Server Linux e server Windows a confronto […]
[…] Server vpn pptp con dd-wrt e client con Ubuntu Linux e Windows XP Tra le mille features che dd-wrt possiede ha quelle che gli permette di essere configurato come server vpn pptp in modo da permetterci di accedere agli host della nostra LAN anche quando siamo lontani da casa. blog: lejubila's blog | leggi l'articolo […]