OpenVPN: Solo una IP de la VPN tiene acceso a mi red interna



  • Hola,

    Recientemente he configurado el servicio de OpenVPN en el pfSense, el caso es que los clientes establecen la conexión con exito mediante sus cuentas LDAP pero sólo pueden acceder a la red de la empresa con una IP especifica de la VPN, el resto de las IP asignada a los clientes conectados a la VPN no tiene acceso.

    ¿Qué pordrá ser?

    Las reglas del firewall conceden el acceso a toda la red VPN



  • Hola.
    Si estoy entendiendo bien tu caso, quieres decir que los usuarios se conectan correctamente a OpenVPN, es decir, que autentican correctamente y que obtienen una ip del rango de OpenVPN definido. Y que una vez conectados, sólo el usuario (que no siempre es el mismo) que obtiene una ip concreta X (del rango OpenVPN) puede acceder a equipos de la red de área local (LAN).
    En este caso, puedes realizar desde varios equipos conectados por OpenVPN, las siguientes pruebas:

    • ping a un equipo de la LAN
    • tracert a un equipo de la LAN.
    • el log del firewall en STATUS - SYSTEM LOGS - FIREWALL. Aquí puedes ver si los paquetes están siendo rechazados o permitidos. Para ver los paquetes permitidos, en la regla que permite el acceso desde toda la red OpenVPN, puedes marcar la opción de log.


  • Hola @lucasll,

    Muchas gracias por tu respuesta. En efecto, es como lo has interpretado en tu escrito. Voy a proceder con las pruebas que mencionas.

    Saludos.



  • @Yohannys-Ramón-Agrizonis

    Tu firewall Pfsense (que tiene el Servicio de vpn) es tu Firewall perimetral? existe otro equipo de seguridad que controle una red puntual?

    Tus rangos en los equipos capa 3 (de existir) son /24? cuidado con un /30 por alli escondido.

    Tienes una red vpn /24, donde todos los usuarios conectan, pero sola una IP puntual es la que tiene acceso a todo. solo apunto a lo que te he comentado.



  • Gracias @j-sejo1

    Si, mi firewall es perimetral, no hay otro equipo. Los rangos estan bien definidos, no hay nada escondido. Solo una IP de la OpenVPN que logra conexión a hacia la LAN, el resto de IP no se conecta ni a la Puerta de Enlace de la OpenVPN.



  • Hola @lucasll

    Hice la prueba de ping y de tracert a un equipo de la LAN desde equipos conectados por la OpenVPN, solo responde a una IP, el resto no responde ni siquiera a la Puerta de Enlace del tuner.

    He marcado la opción log, pero los registros que observo en el firewall son de la IP que logra conexión hacia la LAN desde la OpenVPN:

    Apr 4 07:21:38 filterlog: 10,,,1000000104,ovpns3,match,block,out,4,0x0,,64,55886,0,none,6,tcp,97,<IP_LOCAL_FIREWALL>,<IP_OPENVPN_ACEPTADA>,443,35080,45,RPA,2759868023:2759868068,3477501422,519,,nop;nop;TS

    No hay registro de las IP que no tienen conexión a la LAN desde la OpenVPN.

    Lo que si pude notar es que las IP de la OpenVPN que no conectan a la LAN, no le llegan a la Puerta de Enlace de la OpenVPN, en realidad a ninguna Puerta de Enlace.

    Saludos,



  • @Yohannys-Ramón-Agrizonis

    Hola.
    ¿Podrías poner capturas de pantalla de la configuración OpenVPN?

    • VPN - OPENVPN - SERVER -- configuración del servidor Openvpn creado
    • VPN - OPENVPN - CLIENTS -- si hay alguna configuración
    • VPN - OPENVPN - Client Specific Overrides -- si hay alguna configuración

    Cuando hay 2 ó más clientes Openvpn, ¿puedes poner capturas de pantalla de STATUS - OPENVPN?



  • @lucasll

    ¿Te puedo enviar los captures por otro medio?



  • @Yohannys-Ramón-Agrizonis
    Si las capturas tienen información que prefieres no compartir, puedes editarlas (borrando o recortando lo que no quieras compartir) antes de adjuntarlas.
    Otra opción es hacer capturas o copiar texto sólo de lo que sí puedes compartir.

    No veo otro método ahora mismo para que me las puedas enviar.



  • De acuerdo @lucasll

    No tengo configuración alguna en VPN - OPENVPN - CLIENTS ni en VPN - OPENVPN - Client Specific Overrides.

    A continuación las capturas de pantalla:

    Screenshot from 2020-04-04 15-09-20.png

    Screenshot from 2020-04-04 15-12-29.png



  • @Yohannys-Ramón-Agrizonis
    Hola.
    ¿Puedes mostrar la configuración, lo que se pueda, de VPN - OPENVPN - SERVER -- configuración del servidor Openvpn creado (en tu caso "vpn para usuarios corporativos (tun)")?



  • De acuerdo @lucasll

    1. Screenshot from 2020-04-04 15-31-31.png
    2. Screenshot from 2020-04-04 15-31-57.png
    3. Screenshot from 2020-04-04 15-34-29.png
    4. Screenshot from 2020-04-04 15-33-49.png
    5. Screenshot from 2020-04-04 15-34-54.png
    6. Screenshot from 2020-04-04 15-35-28.png
    7. Screenshot from 2020-04-04 15-35-50.png



  • @Yohannys-Ramón-Agrizonis

    Mi configuración tiene estos valores:

    • Protocol: TCP on IPv4 only
    • Device mode: tun-Layer 3 Tunnel Mode
    • Local port: 1723
    • IPv4 Tunnel Network: 10.0.11.0/24
    • IPv4 Local network(s): 192.168.0.0/16
    • Concurrent connections: 20
    • Duplicate Connection: marcado Allow multiple concurrent connections from clients using the same Common Name.
      (This is not generally recommended, but may be needed for some scenarios.)

    Hay otros valores que también tengo distintos, pero no me parecen relevantes.

    Te he puesto los anteriores, para que revises:

    • IPv4 Tunnel Network
    • IPv4 Local network(s)

    Revisa que no tienes un /32 o /30 en IPv4 Tunnel Network
    Revisa que tienes el rango correcto y la máscara de red en - IPv4 Local network(s)

    Mi configuración tiene estos valores:

    • Protocol: TCP on IPv4 only
    • Device mode: tun-Layer 3 Tunnel Mode
    • Local port: 1723
    • IPv4 Tunnel Network: 10.0.11.0/24
    • IPv4 Local network(s): 192.168.0.0/16
    • Concurrent connections: 20
    • Duplicate Connection: marcado Allow multiple concurrent connections from clients using the same Common Name.
      (This is not generally recommended, but may be needed for some scenarios.)

    Hay otros valores que también tengo distintos, pero no me parecen relevantes.

    Te he puesto los anteriores, para que revises:

    • IPv4 Tunnel Network
    • IPv4 Local network(s)

    Revisa que no tienes un /32 o /30 en IPv4 Tunnel Network
    Revisa que tienes el rango correcto y la máscara de red en - IPv4 Local network(s)

    Los otros valores son distintos, pero creo que no te afectan, pero te los he puesto a modo de comparación.

    Además, puedes revisar los logs de VPN por si ves algo extraño. En Status - System Logs - OpenVPN.



  • Saludos @lucasll, gracias.

    He estado investigando full y aun nada, el problema persiste.

    1. No tengo /32 o /30 en IPv4 Tunnel Network.

    2. Tengo el rango correcto y la máscara de red en - IPv4 Local network(s). De hecho me conecto con la primera IP asignada de la OpenVPN.

    3. No veo nada extraño en Status - System Logs - OpenVPN.

    Ahora bien, tengo lo siguiente:

    IPv4 Tunnel Network: IP_Tun.0/24

    En las interfaces del Servidor y Clientes de la OpenVPN tengo el siguiente direccionamiento:

    SERVIDOR: IP_Tun.1 --> IP_Tun.2 netmask 0xffffff00
    CLIENTE-1: IP_Tun.2 (Primera IP asignada del tuner a un cliente - Solo con esta hay conexión hacia la LAN)
    CLIENTE-2: IP_Tun.3

    Test 1

    CLIENTE-1 hace ping hacia IP_Tun.1 y responde.
    CLIENTE-2 hace ping hacia IP_Tun.1 y NO responde.
    

    Test 2

    CLIENTE-1 hace ping hacia el CLIENTE-2 y resopnde
    CLIENTE-2 hace ping hacia el CLIENTE-1 y resopnde
    

    Hago ip route en CLIENTE-1 y muestra

    default via 192.168.42.129 dev enp0s26u1u2 proto dhcp metric 100
    IP_LAN1.0/8 via IP_Tun.1 dev tun0
    IP_Tun.0/24 dev tun0 proto kernel scope link src IP_Tun.2
    IP_LAN2.0/16 via IP_Tun.1 dev tun0
    169.254.0.0/16 dev enp0s26u1u2 scope link metric 1000
    192.168.42.0/24 dev enp0s26u1u2 proto kernel scope link src 192.168.42.134 metric 100

    Hago ip route en CLIENTE-2 y muestra
    default via 192.168.1.1 dev wlx90f652075e25 proto dhcp metric 600
    IP_LAN1.0/8 via IP_Tun.1 dev tun0
    IP_Tun.0/24 dev tun0 proto kernel scope link src IP_Tun.3
    IP_LAN2.0/16 via IP_Tun.1 dev tun0
    192.168.1.0/24 dev wlx90f652075e25 proto kernel scope link src 192.168.1.5 metric 600

    Ruta mostra en el pfSense: DIAGNOSTICS - ROUTES

    Destination Gateway Flags Use Mtu Netif Expire
    IP_Tun.0/24 IP_Tun.1 UGS 600385 1500 lo0
    IP_Tun.1 link#9 UHS 17606 16384 lo0
    IP_Tun.2 link#9 UH 5671 1500 ovpns3

    En Diagnostics - States - States

    OPENVPN udp IP_Tun.2:46594 -> IP_DNS:53 SINGLE:MULTIPLE 1 / 1 74 B / 74 B
    OPENVPN icmp IP_Tun.3:6198 -> IP_DNS:6198 0:0 3.676 K / 18.38 K 230 KiB / 1.11 MiB
    OPENVPN tcp IP_Tun.2:59858 -> IP_LAN_FIREWAL:443 ESTABLISHED:ESTABLISHED 503 / 643 37 KiB / 695 KiB

    Diagnostics - pfTop - View - rules
    RULE ACTION DIR LOG Q IF PR K PKTS BYTES STATES MAX INFO
    42 Block In Log !ovpns 0 0 * drop inet from IP_Tun.0/24 to any
    43 Block In Log 0 0 * drop inet from IP_Tun.1/32 to any
    54 Pass Out K 0 0 * route-to ... inet from IP_Tun.1/32 to ! IP_Tun.0/24

    Agradezco todo el apoyo. Saludos.



  • @Yohannys-Ramón-Agrizonis

    Hola

    Supongo que lo habrás revisado. Pero por si acaso lo comento.
    ¿Has mirado que no haya solapamiento de redes? Es decir, que las redes desde las que conectan los clientes (cliente-1, cliente-2, ...) (en tu comentario serían 192.168.42.0, 192.168.1.0, 169.254.0.0) no coincidan con alguna red en el pfsense (IP_TUN, IP_LAN, otras).



  • Saludos @lucasll

    No hay redes que conocían entre la LAN, la OpenVPN, las 192... y la 169.... Son redes distintas.

    Me extraña que las IP_Tun.3, IP_Tun.4,...,IP_Tun.n no le llegan ni a su misma puerta de enlace IP_Tun.1, pero si se ven entre ellas.

    Saludos.



  • @Yohannys-Ramón-Agrizonis

    ¿Has probado un tracert desde:

    • desde ip_tun.2 hacia ip_tun.3, y viceversa.
    • desde ip_tun3 hacia ip_tun.4 y viceversa.
      ?

    Es por si da alguna pista.



  • Afirmativo @lucasll, he probado, y da sólo dos saltos, el gateway de la red privada del cliente y la IP_Tun.destino.



  • @Yohannys-Ramón-Agrizonis
    Pero si no recuerdo mal, si haces tracert desde ip_tun.2, ip_tun.3 o ip_tun.4 hacia una ip de la LAN, no pasaba por ip_tun.0 salvo sólo desde ip_tun.2. ¿correcto lo que digo?



  • @lucasll

    Si hago tracert desde ip_tun.2 hacia la LAN pasa por IP_Tun.0, el resto no pasa, ni siquiera llegan al gatewat IP_Tum.1.

    El gateway que menciono al hacer ping desde una IP_Tun.x a otra IP_Tun.y es el gateway de la red 192.168.xxx.xxx de los clientes OpenVPN.



  • @Yohannys-Ramón-Agrizonis
    Pues eso ya es una pista. Porque desde ip_tun.x a otra ip_tun.y, debería, creo, ir por ip_tun.0. Porque si van por el gateway de la red 192.168.x.x entonces no se están enrutando por la vpn, sino por la salida normal de internet.



  • @lucasll

    Bien, ¿Cómo hago para enrutar por la VPN?



  • @Yohannys-Ramón-Agrizonis
    Se supone que lo hace el software openvpn. En el primer caso funciona ok.
    He mirado varias veces la tabla de rutas de los clientes openvpn que pusiste. O sea, el comando ip route.
    Pero no veo el problema.
    Observo que son Linux, ¿verdad?



  • He hecho una prueba desde Linux para comparar la tabla de rutas y obtengo lo mismo que tú. (Yo con mis rangos de red que son distintos a los tuyos).



  • @lucasll
    Así es, en este momento estoy usando GNU/Linux, no he probado con clientes Windows.



  • Hola @lucasll,

    Entiendo que hiciste una prueba desde GNU/Linux con una tabla de rutas equivalente a la que manejan los clientes OpenVPN que menciono, y nada más te conectas con una sola IP_Tun.x, tal cual me esta sucediendo.

    ¿El problema estará en la tabla de rutas? Si es así ¿Cómo hago para modificarla y colocar la tabla de ruta correcta.?

    Saludos...



  • @Yohannys-Ramón-Agrizonis
    Hola.
    Hice la prueba y los clientes se conecta correctamente. Todos. No reproduzco tu problema.
    La tabla de rutas se puede modificar con el comando ip. Pero ya lo modifica Openvpn al arrancar. Y lo que observo es que está bien tal y como queda la tabla de rutas. Por lo tanto, no veo qué comando ejecutar para modificarla, porque observo correcta la tabla de rutas.



  • Ya que puedes crear otras instancias sin modificar/eliminar la actúal.

    Yo te recomendaría que crees una instancia nueva, hazla simple, que la autenticacion solo sea de usuario sin certificado (only User Auth). Ponla por otro puerto ej 1195.

    Creo que es la única forma de ir descartando.

    "aparentemente tienes todo bien", casi que idéntico a como yo tengo mis instancias.

    De la actual solo te pediría, que pruebes una conexión con cliente linux para evaluar si pasa lo mismo. osea te conectas primero con windows y estando esa activa pruebas con una adicional .-



  • Hola @j-sejo1, muchas gracias.

    Efectivamente, creé otra instancia simple y tampoco me funcionaba.

    Me percaté en SYSTEM - ROUTING - STATIC ROUTES estaba declarada la ruta IPTun.0/24 con puerta de enlace hacia IPTun.1, así mismo una interfaz VPN en INTERFACES - INTERFACE ASSIGNMENTS, esto me generaba la siguiente tabla de rutas

    Destination	Gateway	Flags	Use	Mtu	Netif	Expire
    IPTun.0/24	IPTun.1	UGS	600385	1500	lo0
    IPTun.1		link#9	UHS	17606	16384	lo0
    IPTun.2		link#9	UH		5671	1500	ovpns3
    

    Eliminé tanto las rutas estática como la interfaz VPN y dejé la nueva instancia, al hacer esto se generó la siguiente tabla de rutas:

    Destination	Gateway	Flags	Use Mtu		Netif	Expire
    IPTun.0/24	IPTun.2	UGS	9316		1500	ovpns2	
    IPTun.1		link#10	UHS	0			16384	lo0	
    IPTun.2		link#10	UH		1251		1500	ovpns2	
    

    Lo único diferente que observo es que el Gateway en vez de ser IPTun.1 como estaba antes, con la nueva configuración es IPTun.2.

    Caso resuelto, muchas gracias a todos.

    Salduos,



  • Leí todo tu caso y que genial que lo has resuelto.


Log in to reply