Agregar ruta en el cliente usando OpenVPN

13

Entonces esta es mi configuración. Laptop con Ubuntu OpenVPN versión 2.3.2

Me conecto a un servidor OpenVPN que se conecta a una red externa.

Tengo el cliente OpenVPN ejecutándose y puedo hacer ping al servidor VPN. El servidor no empuja ninguna ruta, así que necesito hacer una ruta en el cliente.

Agregar las redes externas para enrutar al servidor VPN para que pueda acceder a la red externa.

Entonces, el problema que tengo es que mis solicitudes no saltan de la red 192.168.0.1 al sitio externo 172 .. . * uno ... ¿Puedo hacer algo al respecto en mi cliente? No tengo ninguna propiedad del servidor y las rutas no se envían desde el servidor ahora, en el futuro no sé

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:10.242.2.6  P-t-P:10.242.2.5  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:100 
      RX bytes:0 (0.0 B)  TX bytes:12129 (12.1 KB)

wlan1     Link encap:Ethernet  HWaddr 5c:93:a2:a0:6e:1b  
      inet addr:10.101.7.41  Bcast:10.101.31.255  Mask:255.255.224.0
      inet6 addr: fe80::5e93:a2ff:fea0:6e1b/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:355109 errors:0 dropped:0 overruns:0 frame:0
      TX packets:206832 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:454685028 (454.6 MB)  TX bytes:23942624 (23.9 MB)



Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.101.0.1      0.0.0.0         UG        0 0          0 wlan1
10.101.0.0      0.0.0.0         255.255.224.0   U         0 0          0 wlan1
10.242.2.1      10.242.2.5      255.255.255.255 UGH       0 0          0 tun0
10.242.2.5      0.0.0.0         255.255.255.255 UH        0 0          0 tun0
192.168.0.0     10.242.2.5      255.255.255.0   UG        0 0          0 tun0
192.168.82.0    10.242.2.5      255.255.255.0   UG        0 0          0 tun0
Jocke
fuente
Las rutas se pueden agregar haciendo pusing / pull o configuración manual en la configuración del cliente. ¿Es su pregunta acerca de cómo hacer esto sin empujar rutas en el servidor o es su pregunta cómo empujarlas desde el servidor a los clientes (o los individuales)? Incluya en su pregunta ( edítela , por favor): 1) Si tiene control sobre la configuración del servidor. 2) Incluya la configuración de OpenVPN del cliente (también servidor si 1 fue sí). De esta manera podemos ayudarlo mejor.
gertvdijk

Respuestas:

25

Mirando tu tabla de enrutamiento. No hay una ruta explícita que indique el tráfico a 172 ... * como lo llamas. Para ser enviado a la interfaz de tun VPN.

Tienes varias opciones:

  1. Si tiene acceso al servidor openVPN, agregue esta directiva a la configuración de openvpn:

    push "redirect-gateway def1 bypass-dhcp"
    

    Esta configuración enrutará / forzará a todo el tráfico a pasar a través de la VPN. La otra alternativa que tienes. Es agregar una ruta estática usted mismo en el lado del cliente

  2. Agregue la ruta manualmente en el lado del cliente en una terminal

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. openvpn tiene una directiva para agregar y eliminar rutas del lado del cliente en su archivo de configuración de openvpn con la routeopción.

    Agregando:

    route 172.16.0.0 255.255.255.0
    

    a su archivo de configuración openvpn en el cliente vpn. agregará la ruta automáticamente cuando te conectes

  4. Bonificación: openvpn también tiene una directiva up/ downque le permite iniciar un script al conectarse a VPN. Esto puede permitirle realizar cualquier acción personalizada, como configurar DNS, rutas, etc. Pero requiere que almacene los comandos para ejecutarlos en otro archivo.

    Entonces, si tenía lo siguiente en su archivo de configuración de cliente openvpn

    script-security 2 system
    up run-stuff-after-vpn-connect.sh
    

    Cree un archivo llamado run-stuff-after-vpn-connect.sh(asegúrese de que tenga permisos de ejecución. Y agregue:

    #!/bin/sh
    route add -net 172.16.0.0/24 dev tun0
    

    Esto agregará la ruta tan pronto como el túnel esté arriba


Como no nos dio la declaración completa de su subred en su pregunta, suponiendo que es 172.16.0.0/24

tomodachi
fuente
entonces, si agrego la ruta ascendente, agregue -net 172.16.0.0/24 dev tun en mi archivo client.conf, ¿la ruta debería mostrarse en netstat -rn?
Jocke
no, el vpn no sube si agrego esa línea en client.conf
Jocke
¿Dónde agrego el comando up route ... ??
Jocke
2
@tomodachi Tuve que usar la notación de puntos para que esto funcionara en un cliente openvpn (2.3.11) route 0.0.0.0 128.0.0.0
Matt
44
En mi OpenVPN 2.3.13 (Windows 10), la opción route 172.16.0.0/24no se acepta, tengo que usar la ruta en su 172.16.0.0 255.255.255.0lugar.
WoJ