Как добавить маршрут после подключения к серверу openvpn?

Я уже несколько дней пытаюсь решить мою проблему. Я уже давно использую openvpn для окон, и после замены окон на ubuntu 13.10 я был рад видеть, что openvpn доступен и для ubuntu.

Я скопировал свои настройки из окон и в / var / log / syslog вижу, что мое соединение успешно создано. Однако, что бы я ни делал, я не могу устанавливать маршруты. В Windows это было просто сделано с помощью сценария, который работал следующим образом (IP-адреса немного различаются, так как я должен держать их в секрете):

c:\windows\system32\route.exe delete 55.78.16.20
c:\windows\system32\route.exe delete 55.78.16.0
del tmp.cmd
c:\windows\system32\route.exe print | grep.exe -m1 "^ *0.0.0.0" | sed.exe s/\x20\x20*/\t/g | cut.exe -f4 | sed "s/.*/c:\\windows\\system32\\route.exe add 55.78.16.20 mask 255.255.255.255 &/" > tmp.cmd
c:\windows\system32\route.exe print | grep "^ *172.16.0.1" | sed s/\x20\x20*/\t/g | cut -f4 | sed "s/.*/c:\\windows\\system32\\route.exe add 55.78.16.0 mask 255.255.255.0 &/" >> tmp.cmd
tmp.cmd

После установки подключения и выполнения сценария выше, подключения к моим серверам прошел через VPN, а все остальное прошло нормально.

Так как этот скрипт использует grep, sed и cut, я решил, что могу легко «перевести» его на linux. И я сделал это, за исключением того факта, что я немного не уверен, как использовать команду route для правильной установки моего соединения.

P.S. Я также пытался настроить VPN с помощью диспетчера сети, но возникает тот же вопрос: как добавить маршруты?

Спасибо заранее

2
задан 14 January 2014 в 13:00

2 ответа

Прежде всего:

Вы использовали GNU инструменты на окнах? Как WTH человек.

Второе:

По сути, у вас есть два способа достичь одного и того же.

Первое - использовать команду ip. Вы бы сделали что-то вроде ip route add ...., хотя я немного староват и не люблю ip, поэтому я не слишком уверен, как бы вы это сделали, но man ip, безусловно, поможет вам в этом.

Второй - использовать более старую команду route. При этом вы можете изменить таблицу маршрутизации ядра. Выпуск man route в значительной степени скажет вам, что вам нужно делать, но для полноты картины это должно быть что-то вроде route add <target IP you want to reach> <interface that you want the target to be reached>. Вы можете установить целевой IP для целых подсетей, но тогда вам придется добавить и шлюз для этого. (И настройте маршрут к этому шлюзу.)
О, и вы можете проверить свои интерфейсы как с ip, так и с ifconfig.

Дайте мне знать, как это работает для вас.

0
ответ дан 14 January 2014 в 13:00

В OpenVPN вы можете сделать это тремя способами:

  1. Сервер проталкивает маршрут ко ВСЕМ клиентам. Вы делаете это, помещая команду route в файл server.conf на сервере
  2. Сервер передает маршрут одному клиенту. Вы делаете это, помещая команду route в специфичный для клиента файл в так называемую папку client-config на сервере.
  3. Клиент устанавливает маршрут. Вы делаете это, помещая маршрут в файл конфигурации клиента (ovpn on windows)

Во всех трех случаях это выглядит так:

route [routeaddress] [netmask]

, т.е.

route 172.92.3.0 255.255.0.0

Обратитесь к этой странице за подробностями.

http://openvpn.net/index.php/open-source/documentation/howto.html

0
ответ дан 14 January 2014 в 13:00

Другие вопросы по тегам:

Похожие вопросы: