vpn con strongswan e ipsec

Forums: 

}:)

Estoy intentando hacer una vpn con strongswan e ipsec en dos servidores los cuales tienen internet infitum (modem 2wire) ya habri los puertos en ambos modems el 500, 50 y 51 y probe que estubieran abiertos de la siguiente manera: nc -l -p ip, los dos servidores tienen no-ip, la ip la tome del no-ip, en ambos servidores me pude comunicar por esos puertos, el modem si me permitio comunicarme por los 3 puertos. La configuracion del ipsec.conf es la siguiente:

nodo A
config setup
interfaces ="ipsec0=eth0"

conn vpnprueba
left=192.168.1.64 ---ip del eth0
leftnexthop=192.168.1.254 ---ip del router (modem)
leftcert=011cert.pem
right=192.168.2.86 --ip del eth0 nodo B
rightnexthop=192.168.2.254 --ip del router (modem) nodo B
rightid= "/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda011/emailAddress=tienda011@patito.com"
auto=start
ike=3des-md5
esp=3des-md5
pfs=no

nodo B

config setup
interfaces ="ipsec0=eth0"

conn vpnprueba
left=192.168.2.86 --- ip del eth0 nodo B
leftnexthop=192.168.2.254 --ip del router (modem) nodo B
leftcert=502cert.pem
right=192.168.1.64 --ip del eth0 nodo A
rightnexthop=192.168.1.254 --ip del router (modem) nodo A
rightid= "/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda502/emailAddress=tienda502@patito.com"
auto= start
ike=3des-md5
esp=3des-md5
pfs=no

al darle ipsec start me marca lo siguiente en el log /var/log/secure :

Mar 22 10:37:34 micarinito pluto[11134]: listening for IKE messages
Mar 22 10:37:34 micarinito pluto[11134]: adding interface lo/lo 127.0.0.1:500
Mar 22 10:37:34 micarinito pluto[11134]: adding interface eth0/eth0 192.168.1.64:500
Mar 22 10:37:34 micarinito pluto[11134]: adding interface lo/lo ::1:500
Mar 22 10:37:34 micarinito pluto[11134]: loading secrets from "/etc/ipsec.secrets"
Mar 22 10:37:34 micarinito pluto[11134]: loaded private key file '/etc/ipsec.d/private/011502key.pem' (1751 bytes)
Mar 22 10:37:34 micarinito pluto[11134]: loaded host cert file '/etc/ipsec.d/certs/011cert.pem' (1533 bytes)
Mar 22 10:37:34 micarinito pluto[11134]: added connection description "vpnprueba"
Mar 22 10:37:34 micarinito pluto[11134]: "vpnprueba" #1: initiating Main Mode
Mar 22 10:38:44 micarinito pluto[11134]: "vpnprueba" #1: max number of retransmissions (2) reached STATE_MAIN_I1. No response (or no acceptable response) to our first IKE message
Mar 22 10:38:44 micarinito pluto[11134]: "vpnprueba" #1: starting keying attempt 2 of at most 3
Mar 22 10:38:44 micarinito pluto[11134]: "vpnprueba" #2: initiating Main Mode to replace #1

La version del strongswan que manejo es la 2.7.3 y la distro de linux es slackware 10.2, kernel 2.6.18 ...

Espero y me puedan ayudar, reciban un cordian saludo..

vpn strongswan - dudas sobre tu configuracion

Imagen de acl

He intentado graficar tu topologia de red, pero no logro entender algunas cosas y me faltan datos...

Si el nodo A y el nodo B tienen su direccion publica, por que no usas estas publicas en el left y el right, en vez de las privadas? No tengo muy claro por donde sales a internet en los nodos...tienes 2 interfaces de red fisicas?

Puedes mostrar las tablas de enrutamiento de los nodos?

configuracion

Si pongo en left y en right las ips publicas me marca el siguiente error en los dos nodos:

Mar 27 09:06:26 micarinito pluto[17257]: "vpnprueba": we have no ipsecN interfac e for either end of this connection

Mar 27 09:06:46 micarinitoII pluto[12837]: "vpnprueba": we have no ipsecN interface for either end of this connection

Por eso le puse la ip del eth0 que es la que le asigna el modem..
Si tengo dos tarjetas en cada nodo, Cada nodo tiene conectado su propio modem en su tarjeta de red (eth0), la (eth1) no esta siendo utilizada por el momento..

Las tablas de enrutamiento son las siguientes cuando ejecuto ipsec start con las configuraciones que tengo mostradas anteriormente:
nodo A:

Destination Gateway Genmask Flags Metric Ref Use Iface
dsl-189-174-7-2 home 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default home 0.0.0.0 UG 0 0 0 eth0

nodo B:

Destination Gateway Genmask Flags Metric Ref Use Iface
dsl-189-174-159 home 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default home 0.0.0.0 UG 0 0 0 eth0

¿Que estara mal?, la configuracion del ipsec.conf?

left & right en *swan

Imagen de acl

Tratemos de dejar una configuracion consistente para ambos lados:

Cuando usas strongswan no importa que nodo sea el left o el right, pero *tienes que ser consistente*. Si en el nodo A tienes que A es el left de la conexion, y B es el right, entonces en el nodo B debes tener exactamente lo mismo (A es left, B es right). Esto es fuente de muchos problemas. Una vez que tengamos eso, vuleve a mostrarnos los logs, la salida de "route -n" y "tcpdump -i ipsec0 -lnXs0 udp port 500"

configuracion del ipsec.conf

Ok, cambie la configuracion de mi ipsec.conf, es la siguiente:

nodo A:
conn vpnprueba
left=%defaultroute
leftnexthop=192.168.1.254
leftcert=011cert.pem
leftid="/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda011/emailAddress=tienda011@patito.com"
right=189.174.8.125 #ip publica del nodo B
rightnexthop=192.168.2.254 #ip del router del nodo B
rightcert=502cert.pem
rightid="/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda502/emailAddress=tienda502@patito.com"
auto=start

Nodo B:

conn vpnprueba
left=189.174.159.140 #ip publica del nodo A
leftnexthop=192.168.1.254 #ip del router del nodo A
leftcert=011cert.pem
leftid="/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda011/emailAddress=tienda011@patito.com"
right=%defaultroute
rightnexthop=192.168.2.254
rightcert=502cert.pem
rightid="/C=mx/ST=sinaloa/O=patito/OU=administracion/CN=tienda502/emailAddress=tienda502@patito.com"
auto=start

No puedo poner en el left del nodo A la ip 189.174.159.140 por que me marca error (we have no ipsecN interfac e for either end of this connection), asi que le puse %defaultroute, la verdad si estoy algo confundida conforme a la configuracion..

lo que me arroja la tabla de ruteo es lo siguiente:
nodo A:
Destination Gateway Genmask Flags Metric Ref Use Iface
189.174.8.125 192.168.1.254 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0

nodo b:
Destination Gateway Genmask Flags Metric Ref Use Iface
189.174.159.140 192.168.2.254 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth0

y los logs me aparece lo siguiente:
nodo A:
Mar 28 09:17:10 micarinito pluto[19525]: "vpnprueba" #2: sent MR3, ISAKMP SA established
Mar 28 09:17:10 micarinito pluto[19525]: "vpnprueba" #3: responding to Quick Mode
Mar 28 09:17:11 micarinito pluto[19525]: "vpnprueba" #3: IPsec SA established {ESP=>0x5c78ffbf <0x8529984e}
Mar 28 09:18:15 micarinito pluto[19525]: "vpnprueba" #1: max number of retransmissions (2) reached STATE_MAIN_I1. No response (or no acceptable response) to our first IKE message
nodo b:
Mar 28 09:17:24 micarinitoII pluto[15086]: "vpnprueba" #1: ISAKMP SA established
Mar 28 09:17:24 micarinitoII pluto[15086]: "vpnprueba" #2: initiating Quick Mode RSASIG+ENCRYPT+TUNNEL+PFS+UP {using isakmp#1}
Mar 28 09:17:25 micarinitoII pluto[15086]: "vpnprueba" #2: sent QI2, IPsec SA established {ESP=>0x8529984e <0x5c78ffbf}

y al darle tcpdump -i ipsec0 -lnXs0 udp port 500 en ambos servidores me marca: tcpdump: ioctl: No such device

Me podrian ayudar porfavor... ya que en el nodo A aun no puedo establecer la conexion, ninguno de los dos nodos tiene el firewall activado ..

vpn con strongswan

Imagen de acl

Perfecto, ahora intenta el mismo comando tcpdump pero con eth0 en lugar de ipsec0.

Una fuente de problema que puede ver con tu caso es que las maquinas podrian estar usando su direccion privada (192.168.0.0/16) para comunicarse con el otro lado y esas direcciones no son ruteables. Los 2 modems que se encuentran en el camino deberian saber como llegar a la red. Seria interesante saber las lineas pertinentes de la tabla de enrutamiento de tus modems/routers

Ok, ejecute tcpdump -i eth0

}:)
Ok, ejecute tcpdump -i eth0 -lnXs0 udp port 500 en los dos servidores, y me aparecio lo siguiente:
nodo A:
IP 192.168.1.64.500 > 189.174.8.125.500: isakmp: phase 2/others I oakley-quick[E]
Nodo B:
IP 192.168.2.86.500 > 189.174.159.140.500: isakmp: phase 1 I ident

Efectivamente esta tomando las privadas, las que asigna el modem al (eht0), pero entonces que le puedo poner en left y right?, por que si le pongo a left 189.174.159.140 y a right 189.174.159.140 me marca el error: "vpnprueba": we have no ipsecN interfac e for either end of this connection.

vpns

Imagen de acl

La razon de ese error cuando pones la direccion publica es porque desde el punto de vista del kernel, no se puede asociar directamente la direccion publica (que es secundaria - eth0:1 por ejemplo) a la interfaz de la vpn. Utilizar direcciones adicionales para la misma tarjeta tiene sus desventajas (sobre todo cuando estas en el mundo de enrutamiento y tuneles)

Recuerdo que dijiste que tenias dos tarjetas en cada maquina. Probaste utilizando la segunda tarjeta con la direccion publica?

Recomiendo tambien que nos muestres mas del tcpdump (sobre todo mientras sube la vpn)

Ademas, como dije mas arriba, revisa que los modems/routers sepan como llegar a la red 192.168.1.0 y 192.168.2.0. Es posible que alguno de los dos no lo sepa... Seria bueno ver sus tablas de enrutamiento

conexion PPPoE Estube

conexion PPPoE

Estube investigando, y me encontre que si los modems 2wire se encuentra en modo router no funciona la vpn, asi que se tenian que poner en modo puente, pues lo hice asi y utilice el pppoe para hacer la conexion y me genero la interfaz ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:189.174.154.107 P-t-P:200.38.194.227 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:18772 errors:0 dropped:0 overruns:0 frame:0
TX packets:19663 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:4002202 (3.8 Mb) TX bytes:2217725 (2.1 Mb)

en los dos nodos, y al darle ipsec start si se establece la vpn en los dos nodos, para esto cambie la configuracion de mi ipsec.conf poniendo en left la ip que me aparece en el ppp0; solo que tengo una pregunta yo en el ipsec.conf tengo en interfaces="ipsec0=eth0", no se supone que me debe de aparecer un ipsec0 al darle ifconfig? o estoy equivocada?

Páginas