Páginas: [1]
|
 |
|
Autor
|
Tema: DMZ a una VPN local (Leído 697 veces)
|
^TiFa^
Desconectado
Mensajes: 673
Need a Love Loan? Borrow some from me :)
|
Hola, tengo lo siguiente. He configurado un servidor VPN que esta dentro de mi LAN. Dicho servidor tiene una sola tarjeta ethernet, por lo tanto tuve que crear ya que no existia el dispositivo tun para el openvpn. Cree el dipositivo con mknod, pero al reiniciar obviamente se perdia, asi que decidi meter mknod dentro de rc.local para que me cree el dispositivo tun en cada reiniciada... Ya no tengo problemas con esa parte. Me puedo conectar al servidor openvpn desde otra PC que este dentro de mi LAN sin problema alguno. Ahora como el objetivo de dicho servidor es para usarlo desde fuera (Road-Warrior). Se me ocurrio usar como DMZ otro servidor Linux, que si tiene salida externa o sea tiene una IP publica disponible, pero no importa que reglas iptables yo ingrese a dicho servidor, a la hora que intento conectarme por la IP publica al puerto openvpn ese me rechaza  en vez de redireccionarme a la PC openvpn que esta dentro de mi LAN. Las reglas Iptables que tengo en el servidor para que me haga un DMZ al servidorcito local vpn son : iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 1194 -j DNAT --to 172.20.0.176:1194 iptables -A INPUT -p tcp -m state --state NEW --dport 1194 -i eth0 -j ACCEPT iptables -t filter -A FORWARD -m multiport -p tcp --dport 1194 -d 172.20.0.176 -m state --state NEW -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 1194 -j ACCEPT Pero no parece funcionar, porque no puedo conectarme  Me dice Error Connection refused, yo asumo que es porque en el servidor que quiero usar de DMZ el puerto 1194 realmente no esta abierto.. porque no tengo nada ejecutandose ahi, pero yo pensaba que si redireccionaba el debia hacerlo ya que la PC local VPN si tiene dicho puerto abierto.
|
|
|
|
« Última modificación: 12 Junio 2008, 23:30 por ^TiFa^ »
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
z0t0
Desconectado
Mensajes: 444
Slackware
|
Buenas,
Puede que el problema no este en las reglas de iptables, ¿estás redirecionando el puerto en el router a tu ordenador?.
Revisa la configuracón de tu router especialmente el subapartado: Port Forward.
PD: Estoy dando por hecho que tienes varios ordenadores conectados un router con salida a internet.
Un Saludo.
|
|
|
|
|
En línea
|
|
|
|
zhyzura
Sie sind nicht wie die anderen
Colaborador
Desconectado
Mensajes: 2.123
"dieses ist es unsere Welt"
|
Por pura casualidad si tienes habilitado el reenvio de paquetes? cat > /proc/sys/net/ipv4/ip_forward si no es asi basta con: echo 1 > /proc/sys/net/ipv4/ip_forward me supongo que eth0 es la interfaz por la cual el servidor sale a internet y eth1 es con la que se conecta a la red: iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 1194 -j DNAT --to 172.20.0.176:1194 ademas dices que dicho servidor tiene una ip publica disponible y mi pregunta es si la tiene por que esta conectado directamente a internet o si lo hace por medio de un router? ademas tus reglas, solo aceptan conexiones nuevas pero no aceptan las ya establecidas y relacionadas: iptables -A INPUT -p tcp -m state --state NEW --dport 1194 -i eth0 -j ACCEPT ptables -A INPUT -p tcp -i eth0 -m state --state NEW,ESTABLISHED,RELATED -m tcp --dport 1194 -j ACCEPT ... creo que mejor ya me voy a dormir que me esta doliendo la cabeza de igual forma no soy un experto en iptables, lo poco que se al respecto me ayudo bastante unos post del sR.aDiKtO. saludos
|
|
|
|
|
En línea
|
- - -->> Sie urteilen zu uns seiend unterschiedlich <<-- - - unser Durst des Wissens ist unersättlich
|
|
|
Widget
Desconectado
Mensajes: 151
|
Con el PREROUTING y el FORWARD debería de ser suficiente para hacer el NAT del puerto, y no le pregunteis más sobre si usa un router, por que claramente el equipo con el IPTables es un firewall/router dentro de su red local... Si añades una regla INPUT para ese puerto, la maquina donde estas ejecutando el iptables permite el tráfico a través de él en la interfaz local, obviando las reglas de forwarding. Prueba con esto: iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 1194 -j DNAT --to-destination 172.20.0.176:1194 iptables -A FORWARD -i eth0 -p tcp --dport 1194 -m state --state NEW -j ACCEPT
No te hace falta el multiport (creo) en la regla del FORWARD ni tampoco las reglas de INPUT y OUTPUT, elimina ambas y prueba de nuevo. Saludos.
|
|
|
|
|
En línea
|
Es mejor no abrir la boca pareciendo ser idiota, que abrirla y no dejar duda de ello...
|
|
|
^TiFa^
Desconectado
Mensajes: 673
Need a Love Loan? Borrow some from me :)
|
Gracias a todos por su respuestas. Se que no me explique del todo bien, la situacion es la siguiente : Servidor 1: 1 PC dentro de la LAN local con 1 sola tarjeta ethernet, he instalado y configurado el servidor openvpn en esta PC. La IP clase C de esta PC es 172.20.0.176. Servidor 2: 1 PC dentro de mi LAN con 2 tarjetas de ethernet, 1 de estas con una IP rango 172.20.0.6 (que sirve como gateway de emergencia a mi red, ya que tenemos otro gateway con otro ISP) la otra tarjeta conectada a un router en modo bridge con IP publica no dinamica. Dicho router esta bridge o sea no hay 1 solo puerto bloqueado incluso este mismo servidor tiene una vpn por la cual todos los dias externamente se conectan 10 usuarios desde su casa. Ahora, mi intencion es, Lograr que el servidor 2 redireccione cualquier peticion al puerto 1194 al servidor 1, el servidor 1 tiene el Ipv4 habilitado, he seguido los pasos que me dio DammWidget, y si doy uso del protocolo tcp se me queda el cliente como intentando conectar.... Pero nunca conecta, si uso el protocolo 'udp' que a lo mejor en los clientes no deberia utilizar pero estoy probando, usando el protocolo udp, al menos no se queda en ;intentando conectar....' sino que realmente hace un intento de conectar el cual es rechazado por el servidor 1. PC de mi LAN que hace peticion a conectar al vpn de mi LAN local a traves del ip publica de mi servidor 2 : Respuesta del Servidor 1 VPN : root@faxserver:/etc/openvpn# openvpn server.conf Fri Jun 13 09:07:21 2008 OpenVPN 2.0.9 i486-slackware-linux [SSL] [LZO] [EPOLL] built on Jun 11 2007 Fri Jun 13 09:07:21 2008 Diffie-Hellman initialized with 1024 bit key Fri Jun 13 09:07:21 2008 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Fri Jun 13 09:07:21 2008 TUN/TAP device tun0 opened Fri Jun 13 09:07:21 2008 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500 Fri Jun 13 09:07:21 2008 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2 Fri Jun 13 09:07:21 2008 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Fri Jun 13 09:07:21 2008 GID set to calmante Fri Jun 13 09:07:21 2008 UID set to calmante Fri Jun 13 09:07:21 2008 UDPv4 link local (bound): 172.20.0.176:1194 Fri Jun 13 09:07:21 2008 UDPv4 link remote: [undef] Fri Jun 13 09:07:21 2008 MULTI: multi_init called, r=256 v=256 Fri Jun 13 09:07:21 2008 IFCONFIG POOL: base=10.8.0.4 size=62 Fri Jun 13 09:07:21 2008 IFCONFIG POOL LIST Fri Jun 13 09:07:21 2008 Initialization Sequence Completed Fri Jun 13 09:07:28 2008 MULTI: multi_create_instance called Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 Re-using SSL/TLS context Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 LZO compression initialized Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 Local Options hash (VER=V4): '530fdded' Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 Expected Remote Options hash (VER=V4): '41690919' Fri Jun 13 09:07:28 2008 xx.xx.xx.xx:1046 TLS: Initial packet from xx.xx.xx.xx:1046, sid=304b2ea6 e530c957 Fri Jun 13 09:07:28 2008 read UDPv4 [ECONNREFUSED]: Connection refused (code=111) Fri Jun 13 09:07:30 2008 read UDPv4 [ECONNREFUSED]: Connection refused (code=111) Fri Jun 13 09:07:32 2008 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)Respuesta de mi PC dentro de mi LAN que intenta conectarse a la VPN usando la IP publica que supuestamente redirecciona al Servidor 1 : bash-3.1# openvpn client.conf Fri Jun 13 09:08:16 2008 OpenVPN 2.0.9 i486-slackware-linux [SSL] [LZO] [EPOLL] built on Jun 11 2007 Fri Jun 13 09:08:16 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port. Fri Jun 13 09:08:16 2008 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info. Fri Jun 13 09:08:16 2008 LZO compression initialized Fri Jun 13 09:08:16 2008 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Fri Jun 13 09:08:16 2008 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Fri Jun 13 09:08:16 2008 Local Options hash (VER=V4): '41690919' Fri Jun 13 09:08:16 2008 Expected Remote Options hash (VER=V4): '530fdded' Fri Jun 13 09:08:16 2008 UDPv4 link local: [undef] Fri Jun 13 09:08:16 2008 UDPv4 link remote: 216.42.34.66:1194 Fri Jun 13 09:09:16 2008 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) Fri Jun 13 09:09:16 2008 TLS Error: TLS handshake failed Fri Jun 13 09:09:16 2008 TCP/UDP: Closing socket Fri Jun 13 09:09:16 2008 SIGUSR1[soft,tls-error] received, process restarting Fri Jun 13 09:09:16 2008 Restart pause, 2 second(s)Como veran, ahora el cliente da un supuesto error de negocioacion de llave publica o TLS... pero si lo hago local dentro de mi LAN me conecto sin ningun problema .. Yo no quiero usar udp quiero usar tcp no se mucho mejor dicho no se nada de redes.... Por ende, entenderan un poco esta situacion. Porque con tcp se queda esperando conectarse (lo cual es entendible ya que tcp si verifica si recibe o no paquetes) y udp No, creo que por tal razon con udp al menos semi-conecta aunque me de error de conexión.... Alguna sugerencia?
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
Widget
Desconectado
Mensajes: 151
|
Puedes añadir una regla para el mismo puerto con el protocolo udp cambiando el -p tcp a -p all así cualquier protocolo será tenido en cuenta por la regla.
De todos modos no creo que tengas nada mal ni en tu red ni en la configuracion, no tengo mucha idea de como funciona el protocolo VPN pero por el error que te da de ultimas, me suena a que quizas este intentando negociar la key TLS por un puerto distinto y por eso no llega a conectar (es solo una hipotesis).
Puedes relizar algunas pruebas sencillas usando netcat para intentar conectar directamente a los puertos que usa el VPN de forma manual, si eres capaz de establecer la conexión deberiamos de descartar ya que las reglas de forwarding esten mal, y podriamos centrarnos en el servicio, si no puedes establecer la conexión pues deberiamos de seguir trabajando con las reglas del firewall.
Saludos.
|
|
|
|
|
En línea
|
Es mejor no abrir la boca pareciendo ser idiota, que abrirla y no dejar duda de ello...
|
|
|
^TiFa^
Desconectado
Mensajes: 673
Need a Love Loan? Borrow some from me :)
|
Gracias por intentar ayudarme. Pero continuo recibiendo el mismo error, al menos me conforta saber que por udp hace el intento de conectarse aunque me de error a la hora del dichoso TLS. Pero al menos se comunica de una u otra forma y eso es buena senal. Estoy indagando por la internet, ya que aparentemente es un error muy comun. De gente como yo que nunca ha configurado una vpn con DMZ  Hubiera considerado lo de la TLS negociando por un puerto distinto, pero estoy usando el puerto 1194 tanto en el servidor vpn, como en el redireccionamiento DMZ. Ya les cuento como me ira este proceso que parece largo....
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
sirdarckcat
|
Si es IPSEC, necesitas el puerto 500 (udp) con pf tambien para que VPN funcione..
|
|
|
|
|
En línea
|
|
|
|
^TiFa^
Desconectado
Mensajes: 673
Need a Love Loan? Borrow some from me :)
|
Openvpn no usa Ipsec. Es intercambio de llave publicas. Aunque ya pude resolver el problema, realmente no eran las reglas de Iptables el problema, ni eran los archivos de configuracion ni mucho menos. El problema era el dichoso ClarckConnect (El servidor que funciona como gateway y al cual yo intentaba redireccionar el puerto con DMZ) Bueno el problema es el. Ya que conecte para probar, otro Slackware como servidor Gateway puse las mismas reglas iptables me redirecciono perfectamente el puerto y pude conectarme remotamente a la VPN. Estos Linuxes comerciales no sirven para nada 
|
|
|
|
|
En línea
|
http://chixmes.blogspot.com/Si quieres saber el valor del dinero, trata de conseguirlo prestado. El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz. - Benjamin Franklin. 
|
|
|
|
sirdarckcat
|
Ah no vi que usabas openvpn, (aunque juraria que lei tu mensaje, pero mis ojos no lo vieron :S) Anyway.. congratulations
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|