Bueno, esta experiencia fue muy tortuosa ya que necesitaba de 0 lo mas pronto posible y Sin conocimiento previo de ipsec y no pude hasta no leer mucho durante varios dias. Antes habia implementado OpenVPN y en lo personal me parece mas practico debido a que solo es redireccionar un puerto sea TCP o UDP, mientras que con Ipsec ademas de el puerto 500 tcp hay q tener encuenta el protocolo GRE o 47 como se le conoce. Muchos routers baratos no traen estas opciones de forwarding y es complicado. Una ventaja de Ipsec es que es estandard, se encuentra en todos los sitemas operativos, ademas de celulares,tablets, etc. En este caso, deseaba conectar mi Linux en este caso Mandriva con Openswan y un RV042.
Este ejercicio se hizo en un laboriatorio, tendria que funcionar tambien si desean implementarlo en internet, sin q los ekipos esten nateados.
La topologia es la siguiente:
LAN1=172.16.0.0/16
WANLINUX=192.168.124.80
LAN2=192.168.8.0/24
WANRV042=192.168.124.81
Configuracion en WANLINUX
/etc/ipsec.conf
config setup
protostack=netkey
klipsdebug=none
plutodebug=none
interfaces=%defaultroute
oe=no
nhelpers=0
nat_traversal=yes
conn %default
authby=secret
type=tunnel
left=%defaultroute
left=192.168.124.80
leftsubnet=172.16.0.0/16
leftsourceip=172.16.0.1
conn linuxrv042
auto=add
right= 192.168.124.81
rightsubnet=192.168.8.0/24
rightsourceip=192.168.8.1
dpdtimeout=120
dpddelay=30
dpdaction=hold # alternatves:
restart_by_peer, restart, clear, hold
rekey=no
auth=esp
esp=3des-md5
ike=3des-md5
keyexchange=ike
pfs=yes
Creamos un archivo en
/etc/ipsec.d/linuxrv042.secrets
192.168.124.80 192.168.124.81 : PSK
"clavesegur4"
Configuracion en WANRV042
Agregamos una nueva VPN tipo gateway to gateway en el RV042, y tenemos en cuenta los siguientes parametros:
Tunnel Name: linuxrv042
Interface: WAN1
En local Group set up
Local Security Gateway Type: IP Only
Local Security Grup Type: Subnet
Ip address : 192.168.8.0
Subnet mask: 255.255.255.0
En remote group Setup:
Remote Security Gateway Type: IP Only
Ip address: 192.168.124.80
Remote Security Group Type: Subnet
IP Address: 172.16.0.0
Subnet Mask: 255.255.0.0
En IPsec Setup
Keying mode: IKE with Preshared Key
Phase 1 DH Group: Group 2 - 1024 bit
Phase 1 encryption: 3DES
Phase 1 Authentication: MD5
Phase 1 SA life Time: 28800
Perfect Forward Secrecy: "check"
Phase 2 DH Group: Group 2 - 1024 bit
Phase 2 encryption: 3DES
Phase 2 Authentication: MD5
Phase 2 SA life Time: 3600
Preshared Key: clavesegur4
Minimum preshared key Complexity: "check"
En Advanced
Keep-alive: "check"
Nat Transversal: "check"
Dead peer Detection interval: 10 seconds.
Guardamos.
Volvemos a nuestro Linux y configuramos algunos parametros del kernel que necesitamos en "/etc/sysctl.conf"
net.ipv4.ip_forward = 1
net.ipv4.conf.eth1.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth1.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
cargamos los valores e iniciamos ipsec:
#sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.eth1.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth1.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
cargamos los valores e iniciamos ipsec:
#sysctl -p
#service ipsec start
#ipsec auto --up linuxrv042
104 "linuxrv042"
#1: STATE_MAIN_I1: initiate
003 "linuxrv042"
#1: ignoring Vendor ID payload [strongSwan 4.0.4]
003 "linuxrv042"
#1: received Vendor ID payload [Dead Peer Detection]
003 "linuxrv042"
#1: received Vendor ID payload [RFC 3947] method set to=109
106 "linuxrv042"
#1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "linuxrv042"
#1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): no NAT
detected
108 "linuxrv042"
#1: STATE_MAIN_I3: sent MI3, expecting MR3
004 "linuxrv042"
#1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY
cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1024}
117 "linuxrv042"
#2: STATE_QUICK_I1: initiate
004 "linuxrv042"
#2: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode
{ESP=>0xf82c2d00 <0xc3a4fc7d xfrm=3DES_0-HMAC_MD5 NATOA=none
NATD=none DPD=enabled}
Este ultimo comando inicia el tunel llamado linuxrv042. Si deseas q al iniciar ipsec inicie el tunel con el, modifica el peer en el archivo "/etc/ipsec.conf" y cambiar auto=add por auto=start
Listo, desde sus resepctivas redes hagan pings entre ellas y ahi sta la VPN.
Espero les sirva. Saludos !!
como se podría conectar varios rv042 con openswan
ResponderEliminarHola, Solo crea un peer "conn rv042" con cada uno de tus Rv's y luego crea un archivo rv042.secrets que contenga, ip y la clave.
Eliminar