Добавление маршрута на клиенте с использованием OpenVPN

13

Так что это моя установка. Ноутбук под управлением Ubuntu OpenVPN версии 2.3.2

Я подключаюсь к серверу OpenVPN, который подключается к удаленной сети.

Я запускаю клиент OpenVPN и могу пропинговать VPN-сервер. Сервер не проталкивает какие-либо маршруты, поэтому мне нужно маршрутизировать на клиенте.

Добавление сторонних сетей для маршрутизации на VPN-сервер, чтобы я мог получить доступ к удаленной сети.

Таким образом, у меня проблема в том, что мои запросы не переходят из сети 192.168.0.1 на удаленный сайт 172 .. . * один ... Могу ли я сделать что-нибудь об этом на моем клиенте? Я не имею права собственности на сервер, и маршруты не выталкиваются с сервера сейчас, в будущем я не знаю

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
источник
Маршруты могут быть добавлены путём паузы / вытягивания или ручной настройки в конфигурации клиента. Ваш вопрос о том, как сделать это без проталкивания маршрутов на сервер, или ваш вопрос о том, как протолкнуть их с сервера на клиентов (или отдельных)? Пожалуйста, включите в свой вопрос ( отредактируйте его, пожалуйста): 1) Имеете ли вы контроль над конфигурацией сервера. 2) Включите конфигурацию OpenVPN клиента (также сервер, если 1 было да). Таким образом, мы можем помочь вам лучше.
gertvdijk

Ответы:

25

Глядя на вашу таблицу маршрутизации. Не существует явного маршрута, сообщающего трафик на 172 ... * как вы его называете. Для отправки на интерфейс VPN tun.

У вас есть несколько вариантов:

  1. Если у вас есть доступ к серверу openVPN, добавьте эту директиву в конфигурацию openvpn:

    push "redirect-gateway def1 bypass-dhcp"
    

    Этот параметр направляет / заставляет весь трафик проходить через VPN. Другая альтернатива у вас есть. Это добавить статический маршрут самостоятельно на стороне клиента

  2. Добавить маршрут вручную на стороне клиента в терминале

    sudo route add -net 172.16.0.0/24 dev tun0
    
  3. У openvpn есть директива для добавления и удаления клиентской стороны маршрутов в вашем конфигурационном файле openvpn с routeопцией.

    Добавление:

    route 172.16.0.0 255.255.255.0
    

    в ваш конфигурационный файл openvpn на клиенте vpn. добавит маршрут автоматически при подключении

  4. Бонус: openvpn также имеет директиву up/, downкоторая позволяет запускать скрипт при подключении к VPN. Это позволяет вам выполнять любые пользовательские действия, такие как настройка DNS, маршрутов и т. Д. Но для этого необходимо сохранить команды для выполнения в другом файле.

    Так что, если у вас было следующее в вашем конфигурационном файле клиента openvpn

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

    Создайте файл с именем run-stuff-after-vpn-connect.sh(убедитесь, что он имеет разрешения на выполнение. И добавьте:

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

    Это добавит маршрут, как только туннель закончится


Поскольку вы не дали нам полное объявление своей подсети в своем вопросе, предполагая ее 172.16.0.0/24

Tomodachi
источник
поэтому, если я добавлю в мой файл client.conf добавленный маршрут up -net 172.16.0.0/24 dev tun, маршрут должен быть показан в netstat -rn?
Джок
нет vpn не повышается, если я добавлю эту строку в client.conf
Джок
где я могу добавить команду up route ... ??
Джок
2
@tomodachi Мне пришлось использовать точечную нотацию, чтобы заставить это работать на клиенте openvpn (2.3.11) route 0.0.0.0 128.0.0.0
Мэтт,
4
На моем OpenVPN 2.3.13 (Windows 10) опция route 172.16.0.0/24не принята, 172.16.0.0 255.255.255.0вместо этого я должен использовать маршрут .
WoJ