Aggiunta del percorso sul client utilizzando OpenVPN


13

Quindi questa è la mia configurazione. Laptop con Ubuntu OpenVPN versione 2.3.2

Mi collego a un server OpenVPN che si collega a una rete esterna.

Ottengo il client OpenVPN in esecuzione e posso eseguire il ping del server VPN. Il server non invia alcun percorso, quindi devo instradare sul client.

Aggiunta di reti fuori sede per instradare al server VPN in modo che io possa accedere alla rete fuori sito.

Quindi il problema che ho è che le mie richieste non passano dalla rete 192.168.0.1 al sito esterno 172 .. . * uno ... Posso fare qualcosa al riguardo sul mio cliente? Non ho alcuna proprietà del server e le rotte non vengono trasferite dal server ora, in futuro non lo so

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

Le rotte possono essere aggiunte mediante pusing / pull o configurazione manuale nella configurazione client. La tua domanda su come eseguire questa operazione senza spingere i percorsi sul server o la tua domanda su come spingerli dal server ai client (o singoli)? Includere nella domanda ( modificarlo per favore): 1) Se si ha il controllo sulla configurazione del server. 2) Includi la configurazione OpenVPN del client (anche server se 1 era sì). In questo modo possiamo aiutarti meglio.
gertvdijk,

Risposte:


25

Guardando la tua tabella di routing. Non esiste un percorso esplicito che indichi il traffico a 172 ... * mentre lo chiami. Da inviare all'interfaccia di sintonizzazione VPN.

Hai diverse opzioni:

  1. Se hai accesso al server openVPN aggiungi questa direttiva alla configurazione di openvpn:

    push "redirect-gateway def1 bypass-dhcp"
    

    Questa impostazione instrada / impone il passaggio di tutto il traffico attraverso la VPN. L'altra alternativa che hai. È aggiungere una route statica sul lato client

  2. Aggiungi il percorso manualmente sul lato client in un terminale

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. openvpn ha una direttiva per l'aggiunta e la rimozione di route lato client nel file di configurazione di openvpn con l' routeopzione.

    Aggiunta:

    route 172.16.0.0 255.255.255.0
    

    al tuo file di configurazione di openvpn sul client vpn. aggiungerà il percorso automaticamente quando ti connetti

  4. Bonus: openvpn ha anche una direttiva up/ downche ti permette di lanciare uno script sulla connessione alla VPN. Ciò consente di eseguire qualsiasi azione personalizzata come l'impostazione di DNS, route, ecc. Tuttavia, è necessario memorizzare i comandi da eseguire in un altro file.

    Quindi, se avessi quanto segue al tuo file di configurazione del client openvpn

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

    Crea un file chiamato run-stuff-after-vpn-connect.sh(assicurati che disponga delle autorizzazioni di esecuzione. E aggiungi:

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

    Ciò aggiungerà il percorso non appena il tunnel è attivo


Dal momento che non ci hai fornito la dichiarazione completa della tua sottorete nella tua domanda assumendo che sia 172.16.0.0/24


quindi se aggiungo il percorso in alto aggiungi -net 172.16.0.0/24 dev tun nel mio file client.conf il percorso dovrebbe essere mostrato in netstat -rn?
Jocke,

no il vpn non sale se aggiungo quella riga in client.conf
Jocke

dove aggiungo il comando up route ... ??
Jocke,

2
@tomodachi Ho dovuto usare la notazione dot per farlo funzionare su un client openvpn (2.3.11) route 0.0.0.0 128.0.0.0
Matt

4
Sul mio OpenVPN 2.3.13 (Windows 10), l'opzione route 172.16.0.0/24non è accettata, devo usare 172.16.0.0 255.255.255.0invece route .
WoJ,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.