Dodawanie trasy na kliencie przy użyciu OpenVPN

13

To jest moja konfiguracja. Laptop z systemem Ubuntu OpenVPN w wersji 2.3.2

Łączę się z serwerem OpenVPN, który łączy się z siecią zewnętrzną.

Uruchomiam klienta OpenVPN i mogę pingować serwer VPN. Serwer nie wypycha żadnych tras, więc muszę trasować na kliencie.

Dodanie sieci zewnętrznych do trasy do serwera VPN, aby uzyskać dostęp do sieci zewnętrznej.

Tak więc mam problem z tym, że moje żądania nie przeskakują z sieci 192.168.0.1 do zewnętrznej strony 172 .. . * jeden ... Czy mogę coś z tym zrobić na moim kliencie? Nie mam żadnej własności serwera, a trasy nie są teraz wypychane z serwera, w przyszłości nie wiem

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
źródło
Trasy można dodawać przez wstrzymywanie / wyciąganie lub konfigurację ręczną w konfiguracji klienta. Czy masz pytanie, jak to zrobić bez wypychania tras na serwerze, czy masz pytanie, jak przepchnąć je z serwera do klientów (lub indywidualnych)? Podaj w swoim pytaniu ( edytuj je proszę): 1) Czy masz kontrolę nad konfiguracją serwera. 2) Uwzględnij konfigurację OpenVPN klienta (także serwer, jeśli 1 było tak). W ten sposób możemy Ci pomóc lepiej.
gertvdijk

Odpowiedzi:

26

Patrząc na tablicę routingu. Nie ma wyraźnej trasy informującej o ruchu do 172 ... * jak go nazwiesz. Do wysłania do interfejsu tun VPN.

Masz kilka opcji:

  1. Jeśli masz dostęp do serwera openVPN, dodaj tę dyrektywę do konfiguracji openvpn:

    push "redirect-gateway def1 bypass-dhcp"
    

    To ustawienie przekieruje / zmusi cały ruch do przejścia przez VPN. Inna alternatywa, którą masz. Czy samodzielnie dodać trasę statyczną po stronie klienta

  2. Dodaj trasę ręcznie po stronie klienta w terminalu

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. openvpn ma dyrektywę dotyczącą dodawania i usuwania tras po stronie klienta w pliku konfiguracyjnym openvpn z routeopcją.

    Dodawanie:

    route 172.16.0.0 255.255.255.0
    

    do pliku konfiguracyjnego openvpn na kliencie VPN. doda trasę automatycznie po połączeniu

  4. Bonus: openvpn ma również dyrektywę up/, downktóra pozwala na uruchomienie skryptu przy połączeniu z VPN. Umożliwia to wykonanie dowolnej niestandardowej czynności, takiej jak ustawienie DNS, tras itp. Ale wymaga zapisania poleceń do wykonania w innym pliku.

    Więc jeśli masz następujące pliki konfiguracyjne klienta openvpn

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

    Utwórz plik o nazwie run-stuff-after-vpn-connect.sh(upewnij się, że ma uprawnienia do wykonywania. Dodaj:

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

    Spowoduje to dodanie trasy, gdy tylko tunel będzie w górze


Ponieważ nie podałeś nam pełnej deklaracji swojej podsieci w swoim pytaniu, zakładając, że jest ona 172.16.0.0/24

tomodachi
źródło
więc jeśli dodam trasę do góry dodaj -net 172.16.0.0/24 dev tun w moim pliku client.conf, rout powinien być pokazany w netstat -rn?
Jocke,
nie, VPN nie idzie w górę, jeśli dodam tę linię w client.conf
Jocke
gdzie mogę dodać polecenie up route ... ??
Jocke,
2
@tomodachi Musiałem użyć notacji kropkowej, aby to działało na kliencie openvpn (2.3.11) route 0.0.0.0 128.0.0.0
Matt
4
W moim OpenVPN 2.3.13 (Windows 10) opcja route 172.16.0.0/24nie jest akceptowana, 172.16.0.0 255.255.255.0zamiast tego muszę użyć trasy .
WoJ,