Com crear un servidor de VPN (PPTP) amb Ubuntu 14.04?

Si voleu connectar-vos a la vostra LAN des de l’exterior d’una forma el màxim de segura possible, la millor solució es crear un servidor de VPN (Virtual Private Network) dins de la vostra LAN.

Els servidors de VPN (PPTP) us permeten crear connexions segures des de qualsevol punt d’Internet cap a la vostra LAN.

Podríem dir que seria com poder “tirar” un cable ethernet des de el nostre equip fins a  la vostra LAN.

El primer que necessitem serà disposar d’una equip amb Ubuntu Desktop, o bé Ubuntu Server que ha de gestionar les connexions.

Per fer la instal·lació tindrem que obrir un finestra de terminal o accedir a la consola de sistema. El primer que farem serà instal·lar els paquets :

# sudo apt-get install pptpd

Desprès d’instal·lar el paquet hem de configurar el servei de PPTPD, per fer-ho, hem d’editar l’arxiu pptpd.conf

# sudo vi /etc/pptpd.conf

Dins del arxiu s’ha d’especificar la IP de distribució de la VPN i el rang d’IP’s que s’assignaran en els equips remots. Dins del arxiu heu d’activar o configurar les següent linies :

localip 192.168.1.5
remoteip 192.168.1.100-110

En aquest exemple la IP de distribució és la 192.168.1.5 i el rang d’IP’s que s’assignaran en els equips remots serà de la 192.168.1.100 fins a la 192.168.1.110.

La IP de distribució, i el rang ha de coincidir amb la nostra xarxa LAN. Es important que el servidor de VPN tingui una IP estàtica, com per exemple la 192.168.1.3

El següent serà editar l’arxiu pptpd-options per definir els DNS que s’assignaran a les estacions remotes.

# sudo vi /etc/ppp/pptpd-options

Dins del arxiu heu d’afegir o activar les linies que defineixen les IP’s dels DNS :

ms-dns 8.8.8.8
ms-dns 194.224.52.4

Ja per finalitzar la configuració del PPTPD només caldrà editar l’arxiu chap-secrets per definir els usuaris de VPN

# sudo vi /etc/ppp/chap-secrets

Dins del arxiu s’ha de definir el usuari, servidor, contrasenya i IP remota que s’assignarà. Un exemple seria :

# client       server                   secret                   IP addresses

vpn1           *                 12345                  *
vpn2           *                 abcde          192.168.1.199

En aquest exemple definir el usuari vpn1 i vpn2, amb la contrasenya 12345 i abcde respectivament. En el usuari vpn2 se li assignarà la IP 192.168.1.199, en canvi el usuari vpn1 se li assignarà una IP del rang especificat anteriorment

Ara només caldrà reiniciar el servei PPTPD

# sudo /etc/init.d/pptpd restart

Per finalitzar tota la configuració, només caldrà configurar la IP de reenviament dins del sysctl.conf (paràmetres del kernel) i en el iptables

#  sudo vi /etc/sysctl.conf

Dins del arxiu s’ha d’afegir la següent línea o bé activar-la

net.ipv4.ip_forward=1

A continuació tindrem que recarregar la configuració

# sudo sysctl –p

Ja per últim, hem d’editar l’arxiu rc.local per afegir una regla just abans del exit 0

# sudo vi /etc/rc.local

Les dues línea a afegir són :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp –syn -s 192.168.1.0/24 -j TCPMSS –set-mss 1356

La primer línea es per definir la subxarxa de la nostra LAN on tindrem la VPN. La segona ens permet definir el valor de MTU (Unitat màxim de transferència) a 1356.

Es important obrir el port pptp (1723) en el vostre router dirigir a la IP del servidor de VPN, per exemple, 192.168.1.3