Adicionando rota no cliente usando o OpenVPN


13

Então esta é a minha configuração. Computador portátil executando o Ubuntu OpenVPN versão 2.3.2

Eu me conecto a um servidor OpenVPN que se conecta a uma rede externa.

Eu recebo o cliente OpenVPN em execução e posso executar ping no servidor VPN. O servidor não envia nenhuma rota por push, então eu preciso rotear no cliente.

Adição de redes externas ao roteador para o servidor VPN para que eu possa acessar a rede externa.

Portanto, o problema que tenho é que meus pedidos não passam da rede 192.168.0.1 para o site externo 172 .. . * one ... Posso fazer algo sobre isso no meu cliente? Eu não tenho nenhuma propriedade do servidor e os roteadores não são transferidos do servidor agora, no futuro eu não sei

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

As rotas podem ser adicionadas por meio de puxar / puxar ou configuração manual na configuração do cliente. Sua pergunta é sobre como fazer isso sem enviar rotas no servidor ou é como enviá-las do servidor para os clientes (ou individuais)? Inclua na sua pergunta ( edite -a, por favor): 1) Se você tem controle sobre a configuração do servidor. 2) Inclua a configuração do cliente OpenVPN (também servidor, se 1 for sim). Desta forma, podemos ajudá-lo melhor.
precisa saber é o seguinte

Respostas:


25

Olhando para sua tabela de roteamento. Não há rota explícita informando o tráfego para 172 ... * como você o chama. Para ser enviado para a interface de ajuste da VPN.

Você tem várias opções:

  1. Se você tiver acesso ao servidor openVPN, adicione esta diretiva à configuração do openvpn:

    push "redirect-gateway def1 bypass-dhcp"
    

    Essa configuração encaminhará / forçará todo o tráfego a passar pela VPN. A outra alternativa que você tem. É você mesmo adicionar uma rota estática no lado do cliente

  2. Adicione a rota manualmente no lado do cliente em um terminal

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. O openvpn possui uma diretiva para adicionar e remover rotas do lado do cliente no seu arquivo de configuração do openvpn com a routeopção

    Adicionando:

    route 172.16.0.0 255.255.255.0
    

    para o seu arquivo de configuração openvpn no cliente vpn. adicionará a rota automaticamente quando você conectar

  4. Bônus: O openvpn também possui uma diretiva up/ downque permite iniciar um script ao conectar-se à VPN. Isso permite que você execute qualquer ação personalizada, como configurar DNS, rotas etc. Mas exige que você armazene os comandos para executar em outro arquivo.

    Portanto, se você tivesse o seguinte no seu arquivo de configuração do cliente openvpn

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

    Crie um arquivo chamado run-stuff-after-vpn-connect.sh(verifique se ele possui permissões de execução. E adicione:

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

    Isso adicionará a rota assim que o túnel estiver aberto


Como você não nos deu a declaração completa da sua sub-rede na sua pergunta, assumindo a 172.16.0.0/24


Portanto, se eu adicionar a rota up, adicione -net 172.16.0.0/24 dev tun no meu arquivo client.conf, a rota deverá ser mostrada em netstat -rn?
Jocke

sem a vpn não subir se eu adicionar essa linha no client.conf
Jocke

onde adiciono o comando up route ... ??
Jocke

2
@tomodachi eu tive que usar a notação de ponto para começar este trabalho em um cliente OpenVPN (2.3.11) route 0.0.0.0 128.0.0.0
Matt

4
No meu OpenVPN 2.3.13 (Windows 10), a opção route 172.16.0.0/24não é aceita; eu tenho que usar a rota 172.16.0.0 255.255.255.0.
WoJ 23/11
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.