Openvpn para cliente / servidor en la misma subred

8

Estoy tratando de abrir vpn en una red de oficina (192.168.1.0/24) desde un cliente que se encuentra en una red con la misma subred (también 192.168.1.0/24). Es un servidor de Linux (ubuntu 9.10) y un cliente de Windows.

Seguí esta guía de documentación de la comunidad ubuntu openvpn y, por lo que puedo decir, la conexión base funciona bien. Por supuesto, recibo un montón de errores / advertencias sobre colisiones de direcciones IP.

Entonces estaba tratando de seguir esta guía sobre 'Trucos sucios de NAT para que una VPN funcione con clientes también numerados en el espacio de direcciones privadas' pero no he tenido éxito. Si bien tengo una comprensión teórica del enrutamiento / enmascaramiento, tengo relativamente poca experiencia práctica y no estoy seguro de lo que está mal.

Hasta ahora, he llegado al punto donde el cliente se conecta al servidor y se le asigna una IP 10.22.8.10. Sin embargo, no puedo hacer ping al servidor ip 10.22.8.1 como la documentación sugiere que debería poder.

La configuración del servidor es básicamente idéntica a la guía 1 con las modificaciones de la guía 2 , es decir, establecer el 'puente de servidor 10.22.8.1 255.255.255.0 10.22.8.10 10.22.8.120' y la ruta 'push' 10.22.0.0 255.255.0.0 10.22.8.1 "'. Además, agrego los comandos de configuración de la interfaz de tap a up.sh.

La configuración del cliente permanece igual que la guía 1 .

Servidor 'ifconfig tap0' (editar: perdón si esto se ve mal. En el panel de vista previa de edición de esta publicación se ve bien)

tap0 Enlace encapsulado: Ethernet HWaddr ee: ee: a8: 04: 8a: fc inet addr: 10.22.8.1 Bcast: 0.0.0.0 Máscara: 255.255.255.0 inet6 addr: fe80 :: ecee: a8ff: fe04: 8afc / 64 Alcance: Enlace UP TRANSMISIÓN EJECUTANDO PROMISC MULTICAST MTU: 1500 Métrica: 1 paquetes RX: 610 errores: 0 descartados: 0 desbordamientos: 0 trama: 0 paquetes TX: 4533 errores: 0 descartados: 0 desbordamientos: 0 portador: 0 colisiones: 0 txqueuelen: 100 RX bytes: 111341 (111.3 KB) TX bytes: 650830 (650.8 KB)

La conexión de inicio de sesión del cliente:

  Mon Mar 01 00:30:13 2010 OpenVPN 2.1.1 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Dec 11 2009  
    Mon Mar 01 00:30:13 2010 WARNING: No server certificate verification method has been enabled.  See URL-REDACTED for more info.
    Mon Mar 01 00:30:13 2010 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
    Mon Mar 01 00:30:13 2010 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
    Mon Mar 01 00:30:13 2010 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:13 2010 LZO compression initialized
    Mon Mar 01 00:30:13 2010 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
    Mon Mar 01 00:30:13 2010 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
    Mon Mar 01 00:30:13 2010 Local Options hash (VER=V4): '13a273ba'
    Mon Mar 01 00:30:13 2010 Expected Remote Options hash (VER=V4): '360696c5'
    Mon Mar 01 00:30:13 2010 Socket Buffers: R=[8192->8192] S=[8192->8192]
    Mon Mar 01 00:30:13 2010 UDPv4 link local: [undef]
    Mon Mar 01 00:30:13 2010 UDPv4 link remote: REDACTED:1194
    Mon Mar 01 00:30:13 2010 TLS: Initial packet from REDACTED:1194, sid=11055cf2 cc0d1ea0
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 00:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 00:30:14 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 00:30:14 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
    Mon Mar 01 00:30:14 2010 [server] Peer Connection Initiated with REDACTED:1194
    Mon Mar 01 00:30:17 2010 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
    Mon Mar 01 00:30:17 2010 PUSH: Received control message: 'PUSH_REPLY,route 10.22.0.0 255.255.0.0 10.22.8.1,route-gateway 10.22.8.1,ping 10,ping-restart 120,ifconfig 10.22.8.10 255.255.255.0'
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: timers and/or timeouts modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: --ifconfig/up options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route options modified
    Mon Mar 01 00:30:17 2010 OPTIONS IMPORT: route-related options modified
    Mon Mar 01 00:30:17 2010 ROUTE default_gateway=192.168.1.254
    Mon Mar 01 00:30:17 2010 TAP-WIN32 device [Local Area Connection 2] opened: \\.\Global\{7464875E-98E9-46AF-8F86-69FF32FFB722}.tap
    Mon Mar 01 00:30:17 2010 TAP-Win32 Driver Version 9.6 
    Mon Mar 01 00:30:17 2010 TAP-Win32 MTU=1500
    Mon Mar 01 00:30:17 2010 Notified TAP-Win32 driver to set a DHCP IP/netmask of 10.22.8.10/255.255.255.0 on interface {7464875E-98E9-46AF-8F86-69FF32FFB722} [DHCP-serv: 10.22.8.0, lease-time: 31536000]
    Mon Mar 01 00:30:17 2010 Successful ARP Flush on interface [33] {7464875E-98E9-46AF-8F86-69FF32FFB722}
    Mon Mar 01 00:30:22 2010 TEST ROUTES: 1/1 succeeded len=1 ret=1 a=0 u/d=up
    Mon Mar 01 00:30:22 2010 C:\WINDOWS\system32\route.exe ADD 10.22.0.0 MASK 255.255.0.0 10.22.8.1
    Mon Mar 01 00:30:22 2010 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=30 and dwForwardType=4
    Mon Mar 01 00:30:22 2010 Route addition via IPAPI succeeded [adaptive]
    Mon Mar 01 00:30:22 2010 Initialization Sequence Completed
    Mon Mar 01 01:30:14 2010 TLS: soft reset sec=0 bytes=648728/0 pkts=3922/0
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=1, REDACTED
    Mon Mar 01 01:30:14 2010 VERIFY OK: depth=0, REDACTED
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
    Mon Mar 01 01:30:15 2010 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
    Mon Mar 01 01:30:15 2010 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA

La ruta del cliente parece ser presionada ok (ruta de impresión):

  Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23     25
        10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
        10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
       10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
      10.22.8.255  255.255.255.255         On-link        10.22.8.10    286
    ...

Sin embargo, cuando trato de llegar a 10.22.8.1 todavía parece querer salir de mi conexión a Internet local:

  C:\Windows\system32>tracert 10.22.8.1
    Tracing route to 10.22.8.1 over a maximum of 30 hops
      1     1 ms     1 ms     1 ms  home.gateway [192.168.1.254]
      2  nexthop.qld.iinet.net.au [203.55.228.88]  reports: Destination net unreachable.

¿Alguien puede aconsejarme sobre lo que estoy haciendo mal (o, alternativamente, si hay una manera fácil y más sostenible de hacer lo que quiero? Tenga en cuenta que según la solución n. ° 1 en la guía 2 , cambiar el nombre de cualquiera de las subredes no es posible)

fostandy
fuente
Creo que esta es una pregunta muy interesante, y no me importaría intentar replicarla, aunque creo que podría ser un poco problemático para mí crear este escenario. Según su uso route print, ¿está utilizando algo distinto de XP: Windows Vista o 7, tal vez? ¿Me puede informar para que pueda crear la máquina virtual adecuada para las pruebas?
fisión
@fission: estoy usando Windows 7. Si está interesado, probablemente pueda probarlo en una máquina con Windows XP. Avísame si quieres más información.
fostandy

Respuestas:

3

El valor métrico de la ruta predeterminada es inferior a la ruta 10.22.0.0/16 y se enruta a la ruta predeterminada. Al resolver rutas, si más de una ruta coincide con el destino, la ruta de menor valor métrico tiene prioridad.

Empuje una ruta predeterminada a través de VPN o métrica inferior para 10.22.0.0/16 (aumente la métrica para la ruta predeterminada).

Debe tener un aspecto como este:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
      0.0.0.0          0.0.0.0    192.168.1.254     192.168.1.23    1000
    10.22.0.0      255.255.0.0        10.22.8.1       10.22.8.10     30
    10.22.8.0    255.255.255.0         On-link        10.22.8.10    286
   10.22.8.10  255.255.255.255         On-link        10.22.8.10    286
  10.22.8.255  255.255.255.255         On-link        10.22.8.10    286
Konrads
fuente
1

Lo que debe hacer es eliminar la ruta predeterminada y agregar una ruta específica solo a su servidor VPN y marcarla como disponible a través de su enrutador local.

Entonces, debes tener 3 rutas:

vpn.example.com 255.255.255.255 gw 192.168.1.254
192.168.1.0 255.255.255.0 gw 10.22.8.1
0.0.0.0 0.0.0.0 gw 10.22.8.1
Hubert Kario
fuente