Objectius:
El que ens interessa en aquest cas és disposar d’una connexió VPN des d’un router ADSL Netgear DG834G amb un servidor VPN OpenSwan que es troba dins d’una xarxa amb NAT. Un dels problemes que trobarem és que l’adreça del router ADSL canvia a cada connexió cosa que ens condicionarà la configuració de l’OpenSwan.
Instal·lació:
La instal·lació la fem sobre un Debian 5.0 (Lenny) pelat. Podeu trobar un petit i ràpid tutorial de com instal·lar el sistema operatiu en aquest enllaç: Debian Lenny (5.0).
La comanda per instal·lar el servidor VPN és:
$ apt-get install openswan
En el servidor Debian hauriem de deshabilitar el següent:
echo 0 > /proc/sys/net/ipv4/conf/eth0/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/lo/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects echo 0 > /proc/sys/net/ipv4/conf/lo/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
La comanda ipsec verify ens mostrarà si tot és correcte.
Configuració:
La configuració del servidor és fa mitjançant dos arxius:
- /etc/ipsec.secrets
- /etc/ipsec.conf
El primer contindrà les claus compartides i el segon la configuració pròpia del túnel.
La topologia de xarxa que volem configurar és la següent:
El que ens interessa és que el client que es troba en 192.168.1.2 pugui accedir a la xarxa 192.168.0.0/24 mitjançant el tunel.
La configuració de OpenSwan és la següent:
/etc/ipsec.secrets:
@empresa %any: PSK "unacontrasenyamoltbona"
/etc/ipsec.conf:
version 2.0 config setup interfaces=%defaultroute nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.0.0/24 conn vpn authby=secret pfs=yes left=192.168.0.10 leftsubnet=192.168.0.0/24 leftsourceip=192.168.0.10 leftid=@empresa right=%any rightsubnet=vhost:%priv,%no rightid=@client auto=add include /etc/ipsec.d/examples/no_oe.conf
A continuació podem configurar el router DG834G. La configuració es du a terme des de l’interfície Web. Ens connectarem a la pàgina i anirem a les opcions de VPN. Haurem de crear una nova política (VPN Policies) amb la següent configuració:
Policy Name: Empresa Remote VPN Endpoint: Fixed IP Address -> 123.123.123.123 NETBIOS: No IKE Keep Alive: No -- Local Lan: Subnet address Single/Start address: 192.168.1.1 Subnet mask: 255.255.255.0 Remote LAN: Subnet address Single/Start address: 192.168.0.1 Subnet mask: 255.255.255.0 -- IKE Direction: Initiator and responder Exchange mode: Main Mode DH Group: Group 2 (1024 bits) Local Identity Type: FQDN Data: empresa Remote Identity Type: FQDN Data: client -- Parameters Encryption Algorithm: 3DES Authentication Algorithm: SHA-1 PreShared-Key: unacontrasenyamoltbona SA Life Time: 3600 seconds Enable PFS: No
A partir d’aquest punt el router ADSL s’hauria de connectar correctament al servidor OpenSwan.
Notes:
- S’ha de recordar de fer el NAT al router de l’empresa dels ports UDP 500 (IKE) i 4500 (NAT-T) cap al servidor intern (192.168.0.10).
- A més s’ha de tenir en compte que quan una màquina de la xarxa client (192.168.1.0/24) accedeixi a les màquines de la xarxa de l’empresa aquestes últimes utilitzaran la seva gateway per defecte per accedir a la xarxa del client i això provocara la perdua total de paquets a menys que configurem una ruta nova en el router de l’empresa que redireccioni els paquets a la xarxa 192.168.1.0 a traves del servidor VPN.
- Pel pas anterior s’ha de tenir en compte també que l’ip_forwarding ha d’estar habilitat en el servidor VPN.
Documentació:
Es recomana la lectura de:
$ man ipsec.secrets $ man ipsec.conf
La pàgina següent conté força informació al respecte de la configuració VPN en Linux: