7. Configuración de FreeS/WAN en la máquina gateway

Sigua los siguientes pasos para completar su configuración:

7.1. Configuración de ipsec.secrets

El archivo /etc/ipsec.secrets debe contener lo siguiente:

: RSA host.dominio.com.key "req-password"

La palabra rep-password ha de ser sustituida con la clave que introdujo a la hora de generar el certificado SSL, o con: %prompt si quiere que al arrancar IPSec pregunte por la clave.

[Warning]Aviso

A lo largo de este documento estamos suponiendo el uso de una versión 1.96 o superior de FreeS/WAN.

7.2. Configuración de ipsec.conf

El archivo /etc/ipsec.conf ha de poseer un contenido similar a:

[Important]Importante

Tenga en cuenta que la identación es importante, si no se respeta, FreeS/WAN fallará.

# /etc/ipsec.conf - FreeS/WAN IPsec configuration file
# RCSID $Id: ipsec.conf.in,v 1.10.2.1 2003/06/13 23:27:25 sam Exp $

# This file:  /usr/share/doc/freeswan/ipsec.conf-sample
#
# Manual:     ipsec.conf.5
#
# Help:
# http://www.freeswan.org/freeswan_trees/freeswan-2.01/doc/quickstart.html
# http://www.freeswan.org/freeswan_trees/freeswan-2.01/doc/config.html
# http://www.freeswan.org/freeswan_trees/freeswan-2.01/doc/adv_config.html
#
# Policy groups are enabled by default. See:
# http://www.freeswan.org/freeswan_trees/freeswan-2.01/doc/policygroups.html
#
# Examples:
# http://www.freeswan.org/freeswan_trees/freeswan-2.01/doc/examples


version 2.0     # conforms to second version of ipsec.conf specification

config setup
    interfaces=%defaultroute
    klipsdebug=none
    plutodebug=none
    plutoload=%search
    plutostart=%search
    uniqueids=yes

conn %default
    keyingtries=1
    compress=yes
    disablearrivalcheck=no
    authby=rsasig
    leftrsasigkey=%cert
    rightrsasigkey=%cert

conn roadwarrior-net
    leftsubnet=192.168.1.0/24
    also=roadwarrior

conn roadwarrior
    right=%any
    left=%defaultroute
    leftcert=host.dominio.com.pem
    auto=add
    pfs=yes

Esta configuración permitirá a cualquier persona, con un certificado válido, conectarse a nuestro host. Hay dos perfiles de conexión: uno para las conexiones que se realizan directamente en el gateway y otro para los clientes que se conectan a la red que está detrás del gateway.

7.3. Arrancando IPSec

Ahora sólo falta arrancar el demonio IPSec tecleando:

# /etc/init.d/ipsec start
ipsec_setup: Starting FreeS/WAN IPsec 2.01...
ipsec_setup: Using /lib/modules/<uname -r>/kernel/net/ipsec/ipsec.o

Una vez que ipsec ha arrancado con normalidad, se habrá creado una nueva interfaz de red (ipsec0), el demonio pluto estará escuchando en el puerto UDP 500 y se habrán añadido algunas entradas en la tabla de rutas:

# /sbin/ifconfig
eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:01
          inet addr:193.146.99.5  Bcast:193.146.99.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:5 Base address:0x8f00

ipsec0    Link encap:Ethernet  HWaddr 00:00:00:00:00:02
          inet addr:192.168.1.254  Mask:255.255.255.0
          UP RUNNING NOARP  MTU:16260  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 0)

eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:02
          inet addr:192.168.1.254  Bcast:10.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:9 Base address:0xee80

# /sbin/route -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
193.146.99.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
193.146.99.0    0.0.0.0         255.255.255.0   U     0      0        0 ipsec0
0.0.0.0         193.146.99.254  128.0.0.0       UG    0      0        0 ipsec0
128.0.0.0       193.146.99.254  128.0.0.0       UG    0      0        0 ipsec0
0.0.0.0         193.146.99.254  0.0.0.0         UG    0      0        0 eth1
# /bin/netstat -putan | grep pluto
udp        0      0 10.0.1.4:500            0.0.0.0:*                          16428/pluto