Nota: Intenté configurar la misma conexión con IPSEC nativo del kernel 2.6 y Racoon, pero tuve problemas con la Xauth, ya que parece que Fortigate no se identifica como host Xauth, y Racoon da un error diciendo que el peer no se ha declarado como Xauth host. Si alguien tiene alguna idea al respecto, se agradecerá ;)
- Instalar openswan:
Aceptar las opciones por defecto.
- Configurar la conexión VPN:
conn office
#Izquierda somos nosotros
left=%defaultroute
#Somos cliente XAUTH
leftxauthclient=yes
#El gateway por defecto (por el NAT-T)
leftnexthop=192.168.0.1
#Derecha es el Fortigate
right=X.X.X.X
#La ID que envía es el Fortigate, puede que no sea necesario si es iagual a right
rightid=X2.X2.X2.X2
#Fortigate es servidor XAUTH
rightxauthserver=yes
#Subnet remota
rightsubnet=X.X.X.X/YY
#Tipo de intercambio de llaves
keyexchange=ike
#Opciones IKE
ike=3des-sha-modp1536
#Opciones SA
auth=esp
auto=add
authby=secret
#Cifrado y autenticacion SA
esp=3des-sha1
#perfect forward secrecy
pfs=yes
#Modo agresivo
aggrmode=yes
Añadir el nuevo fichero en la configuración IPSEC. Añadir esta línea al fichero /etc/ipsec.conf:
include /etc/ipsec.d/forti.conf
Añadir una línea con el secreto compartido en /etc/ipsec.secrets:
ID_LOCAL ID_FORTIGATE : PSK "SECRETO"
ID_LOCAL será normalmente la IP local
ID_FORTIGATE será la ID enviada por Fortigate
Mas fácil: Si sólo usamos una VPN con un secreto compartido, podemos no especificar las IDs, así:
: PSK "SECRETO"
- Crear un script para arrancar la VPN cuando se levante la interfaz de red. Fichero /etc/dhcp3/dhclient-exit-hooks.d/vpn:
if [ "$reason" != BOUND ] && [ "$reason" != RENEW ] \
&& [ "$reason" != REBIND ] && [ "$reason" != REBOOT ]
then
return
fi
/etc/init.d/ipsec stop
/etc/init.d/ipsec start
sleep 3
ipsec whack --name office --xauthname XAUTHNAME --xauthpass XAUTHPASS --initiate
XAUTHNAME es nuestro login XAUTH
XAUTHPASS es nuestra contraseña XAUTH
Para comprobar que la conexión VPN se realiza correctamente, podemos ejecutar en consola:
#dhclient eth0
Así veremos el proceso de negociación de la VPN.
- Arrancar la VPN desde el Network Manager en Ubuntu 8.10 (parece que no funcionan igual los hooks que en la 8.04)
/etc/init.d/ipsec stop
/etc/init.d/ipsec start
sleep 3
ipsec whack --name office --xauthname XAUTHNAME --xauthpass XAUTHPASS --initiate
En la version 8.10 de Ubuntu, OpenSwan no puede renegociar la VPN, así que podemos poner un cron para revivirla, que ejecute este script:
/usr/sbin/ipsec whack --name office --terminate
sleep 3
/usr/sbin/ipsec whack --name office --xauthname USER --xauthpass PASS --initiate
Este script lo metemos en el cron de root, porque no se porque razón en el crontab no se ejecuta.
Como root:
# crontab -e
10 * * * * /etc/init.d/vpn 1>/tmp/a 2>/tmp/b 130 * * * * /etc/init.d/vpn 1>/tmp/a 2>/tmp/b 150 * * * * /etc/init.d/vpn 1>/tmp/a 2>/tmp/b 1
No hay comentarios:
Publicar un comentario