Server vpn pptp con dd-wrt e client con Ubuntu Linux e Windows XP

vpnTra 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.

dd-wrt-pptp-server

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:

+39 055 89890
#!/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:

xp-vpn-pptp-1

xp-vpn-pptp-2

xp-vpn-pptp-3

xp-vpn-pptp-4

xp-vpn-pptp-5

xp-vpn-pptp-6

xp-vpn-pptp-7

xp-vpn-pptp-8

xp-vpn-pptp-9

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

2 pensieri su “Server vpn pptp con dd-wrt e client con Ubuntu Linux e Windows XP

  1. […] 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 […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *