¿Usuario de la red de la EHU? ¿Usuario de Ubuntu? ¿Quieres conectar por VPN? ¡Estás de enhorabuena! El proceso se ha simplificado en 3 pasos:
$ sudo apt-get install vpnc
$ sudo vi /etc/vpnc.conf
IPSec gateway 158.227.0.11
IPSec ID EHU
IPSec secret VPNs
Xauth username nombre_de_usuario
Xauth password contraseña
Interface name vpn0
$ sudo vpnc --natt-mode none
¡Listo!
Gracias por la info. Hasta ahora no había conseguido que vpnc funcionara en mi sistema (utilizo el vpn de Cisco).
Tan solo tres apuntes:
– Cómo cerrar la conexión:sudo «vpnc-disconnect» (al principio yo mataba directamente el proceso «vpnc»).
– Se puede añadir la opción sobre NAT al fichero de configuración, de tal modo que solo tenemos que escribir «sudo vpnc». Mi configuración:
Interface name vpnehu
IPSec gateway 158.227.0.11
IPSec ID EHU
IPSec secret VPNs
Xauth username usuario
# Xauth password contraseña
NAT Traversal Mode none
– Cuidado con los ficheros de configuración. Hay varios, y «vpnc» sigue un orden para consultarlos al buscar la configuración por defecto (man vpnc). Yo utilizo «/etc/vpnc/default.conf»
Joño; eskerrik asko!
En el anterior post olvidé comentar que si teneis un cortafuegos cuyas reglas se basan en el interfaz a través del cuál tenéis la conexión (eth0, eth1, …), tendréis que ampliar las reglas al nuevo interfaz que se crea al establecer la conexión vpn («vpnehu» en el ejemplo que puse).
Gracias por la información.
De todas maneras, aprovecho este post para hacer una consulta.
He instalado un nuevo router (de orange) que me permite conectar dos ordenadores. El asunto es que la conexión VPN no funciona, según parece, por que tengo que abreir los puertos del router (de hecho, no funciona ni en linux ni en windows).
Podéis decirme cómo abrir los puertos del router para VPN?
Mila esker
@Txomin: para que podamos ayudarte mejor, por favor, indícanos la marca exacta del router (nombre, modelo, todo lo que sepas sobre él… o que puedas leer en las pegatinas o serigrafías que lleva).
Hola amigos.
EL dichoso route es Sagem 1201. ¿Es necesario que mire algún otro dato?
Mila esker
TXomin
@Txomin:
instrucciones paso a paso para abrir puertos en el Sagem 1201 (en castellano):
http://www.adslayuda.com/foro/routers-adsl/sagem-f-st-1200-1201-1500/abrir-puertos-con-sagem-1201-t76373.html#p300509
en ese ejemplo se indica cómo abrir los puertos TCP y UDP 6881 y 6889 (para BitTorrent). En tu caso, lo único que hay que cambiar es que sólo tienes que abrir el puerto UDP 500 (es que usa vpnc por defecto)
A ver qué tal te va.
Mil gracias.
Mi principal problema era que no sabía los puertos que utilizaba.
Probaré a ver si funciona.
En fin.
No logro hacer la conexión.
Si tienes un momento te agradecería que miraras estas dos fotos donde resumo los pasos que he realizado para configurar el router, a ver qué te parecen (por si se me escapa algo)
Mila esker
Txomin
http://farm4.static.flickr.com/3001/2875024564_91b3971396_o.png
http://farm4.static.flickr.com/3289/2875024682_aef974485d.jpg
@Txomin: desde la consola, ejecuta el siguiente comando:
$ sudo nc -l -p 500
Esto lanzará un servidor a la escucha en el puerto TCP 500. Este servidor es netcat (nc), haciendo las funciones de un frontón 🙂 Todo lo que le llegue, rebota hacia el cliente. Es decir, si abres una conexión desde fuera hacia la máquina con nc a la escucha y le envías el string «hola», netcat le devolverá el string «hola». Muy útil para probar que los puertos están abiertos correctamente.
Una vez lanzado el comando nc anterior, lo más fácil para probar es que te conectes con el navegador a la web:
http://testmyports.com/
y teclees el puerto 500. Aunque esa web diga que hace escaneo TCP y UDP , he probado que no es del todo cierto, sólo hace correctamente el escaneo TCP. Suficiente para nuestras pruebas. Tras sondear el puerto 500 te tiene que salir lo siguiente:
http://argazkiak.s3.amazonaws.com/6f71204d0dd2f77253b13de6591df790_c.jpg
Si quieres hacer pruebas de verdad contra el puerto UDP 500, tienes que lanzar netcat en tu máquina así:
$ sudo nc -l -u -p 500
Y para escanear ese puerto UDP, desde una máquina remota (conéctate por ssh):
$ nc -u IP_PUBLICA 500
Donde IP_PUBLICA es la dirección IP pública que usas para conectarte a Internet. Si no la sabes, puedes averiguarla a través de la web:
http://www.cualesmiip.com
Finalmente, ojo con el firewall. No sería la primera vez que pierdo varias horas probando un montón de configuraciones distintas en el router hasta darme cuenta de que el problema estaba en que iptables bloqueaba el tráfico que yo quería dejar pasar. Eso lo puedes saber así:
$ sudo iptables -L
$ sudo iptables -L -t nat
¿Qué reglas te salen ahí?
Aúpa.
Comienzo por el final. Con los iptables no sé arreglarme, todavía, y por eso uso firestarter.
Cuando intento la conexión vpn, pruebo también cerrando el firewall.
sudo iptables -L devuelve lo siguiente:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp — myrouter.home anywhere tcp flags:!FIN,SYN,RST,ACK/SYN
ACCEPT udp — myrouter.home anywhere
ACCEPT 0 — anywhere anywhere
ACCEPT icmp — anywhere anywhere limit: avg 10/sec burst 5
DROP 0 — anywhere 255.255.255.255
DROP 0 — anywhere 192.168.0.255
DROP 0 — BASE-ADDRESS.MCAST.NET/8 anywhere
DROP 0 — anywhere BASE-ADDRESS.MCAST.NET/8
DROP 0 — 255.255.255.255 anywhere
DROP 0 — anywhere 0.0.0.0
DROP 0 — anywhere anywhere state INVALID
LSI 0 -f anywhere anywhere limit: avg 10/min burst 5
INBOUND 0 — anywhere anywhere
LOG_FILTER 0 — anywhere anywhere
LOG 0 — anywhere anywhere LOG level info prefix `Unknown Input’
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT icmp — anywhere anywhere limit: avg 10/sec burst 5
LOG_FILTER 0 — anywhere anywhere
LOG 0 — anywhere anywhere LOG level info prefix `Unknown Forward’
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp — 192.168.0.129 myrouter.home tcp dpt:domain
ACCEPT udp — 192.168.0.129 myrouter.home udp dpt:domain
ACCEPT 0 — anywhere anywhere
DROP 0 — BASE-ADDRESS.MCAST.NET/8 anywhere
DROP 0 — anywhere BASE-ADDRESS.MCAST.NET/8
DROP 0 — 255.255.255.255 anywhere
DROP 0 — anywhere 0.0.0.0
DROP 0 — anywhere anywhere state INVALID
OUTBOUND 0 — anywhere anywhere
LOG_FILTER 0 — anywhere anywhere
LOG 0 — anywhere anywhere LOG level info prefix `Unknown Output’
Chain INBOUND (1 references)
target prot opt source destination
ACCEPT tcp — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp — anywhere anywhere tcp dpts:6881:6889
ACCEPT udp — anywhere anywhere udp dpts:6881:6889
LSI 0 — anywhere anywhere
Chain LOG_FILTER (5 references)
target prot opt source destination
Chain LSI (2 references)
target prot opt source destination
LOG_FILTER 0 — anywhere anywhere
LOG tcp — anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5 LOG level info prefix `Inbound ‘
DROP tcp — anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN
LOG tcp — anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5 LOG level info prefix `Inbound ‘
DROP tcp — anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST
LOG icmp — anywhere anywhere icmp echo-request limit: avg 1/sec burst 5 LOG level info prefix `Inbound ‘
DROP icmp — anywhere anywhere icmp echo-request
LOG 0 — anywhere anywhere limit: avg 5/sec burst 5 LOG level info prefix `Inbound ‘
DROP 0 — anywhere anywhere
Chain LSO (0 references)
target prot opt source destination
LOG_FILTER 0 — anywhere anywhere
LOG 0 — anywhere anywhere limit: avg 5/sec burst 5 LOG level info prefix `Outbound ‘
REJECT 0 — anywhere anywhere reject-with icmp-port-unreachable
Chain OUTBOUND (1 references)
target prot opt source destination
ACCEPT icmp — anywhere anywhere
ACCEPT tcp — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT 0 — anywhere anywhere
———————————————————————————
sudo iptables -L -t nate devuelve:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
y
——————————————————————————————–
No sé si sirve de algo…
Por otro lado he intentado los primeros pasos pero la pag. http://testmyports.com/ no me devuelve nada…:-(
No sé…
Por cierto, para la configuración de VPN utilizó los apuntes de la EHU (http://www.tic.ehu.es/p074-10632/es/contenidos/manual/vpn_guia_ehux/es_ehux/guia_ehux.html)
Antes de tener este router, lograba conectarme…
YA me comentarás y gracias.
Txomin
@txomin: ¿si paras momentáneamente el router, lanzas el comando netcat (nc) y pruebas en testmyports.com no te indica conexión?
Es decir:
$ sudo /etc/init.d/iptables stop
$ nc -l -p 500
y desde testmyports.com probar conexión contra el puerto 500
Si eso no funciona, es que la configuración del router está mal… y ya no se me ocurre qué más probar.
De todas formas, veo que tienes los puertos de eMule activados en el firewall (6881:6889). ¿También en el router? Si eso es así, y te funciona, podrías usar esos puertos como puerto por defecto en la conexión VPN 🙂 y así no tienes por qué abrir el 500.
en el comando vpnc tendrás que especificar –local-port 6881 como opción, por ejemplo (porque tienes del 6881 al 6889 para elegir) … y mientras uses la VPN no podrás usar eMule.
Muchas gracias por tus explicaciones.
Intentaré arreglar el asunto.
Si lo logro, te comento.
Sigue con el trabajo en el blog, es muy bueno.
Txomin
Para comprobar si estás correctamente conectado visita cualquier web en la que te digan cual es tu IP pública y esta tendrá que tener la forma 158.x.y.z
Igual es de perogruyo para todo el mundo, pero a mí no se me había ocurrido, gracias Juanan.
A mí no me ha funcionado así. Ni «–natt-mode none» en la línea de comandos, ni «NAT Traversal Mode cisco-udp» o «NAT Traversal Mode none» en el archivo de configuración.
Me funciona pasando este parámetro en la línea de comandos «–auth-mode psk».