Настроить постоянную маршрутизацию (Ubuntu 13.04) [дублировать]

На этот вопрос уже есть ответ здесь:

У меня есть 2 соединения: wlan0 (gw: 192.168.1.1) и eth0 (gw: 192.168.2.1).
Мое соединение по умолчанию - wlan0 , но я хотел, чтобы некоторые веб-сайты загружались через мой eth0 , поэтому я настроил маршрутизацию для этих веб-сайтов. / IP, подобные этому:

route add -net 31.135.208.0/21 gw 192.168.2.1 dev eth0

Это работает, однако не является постоянным (исчезает после перезагрузки).Я попытался поместить этот код в / etc / network / interfaces следующим образом:

up route add -net 31.135.208.0/21 gw 192.168.2.1 dev eth0

, но когда я перезапускаю Ubuntu, он запускается без подключения к сети (происходит сбой). Я также поместил эти строки в этот файл:

auto eth0
address 192.168.2.125
gateway 192.168.2.1
netmask 255.255.255.0

, но система все равно загружается без подключения к сети.

В настоящее время я поместил команду route в /etc/rc.local , она работает, но не навсегда, потому что когда я перезапускаю / повторно подключаю свой eth0 (почему-то) пропадает роутинг.

Некоторые примечания:
У меня длинный список IP-адресов для маршрутизации.
Мой маршрутизатор, к которому я подключил eth0 , настроен на DHCP.
Я пытался подключить eth0 как статическим, так и DHCP-способом.

Спасибо за помощь!

12
задан 1 September 2013 в 12:08

2 ответа

Синтаксис для добавления маршрутов к вашим интерфейсам выглядит следующим образом:

up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1

Вам не нужно добавлять устройство в конец.

Пример файла интерфейсов:

auto eth0
iface eth0 inet static
      address 192.168.1.2
      netmask 255.255.255.0
      up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1

На основе информации из: Как установить статические маршруты в Ubuntu Server?

0
ответ дан 1 September 2013 в 12:08

В моей системе это работало, когда я делал скрипт в папке /etc/network/if-up.d/ с именем script с разрешениями на выполнение 755:

#ls -la /etc/network/if-up.d/script
-rwxr-xr-x 1 root root   46 Okt 15 11:46 script

Там вы можете добавить команду для выполнения, когда соединение установлено, в вашем случае:

#cat /etc/network/if-up.d/script
#!/bin/bash
# Check for specific interface if desired
[ "$IFACE" != "eth0" ] || exit 0
# Adding additional routes on connection
route add -net 31.135.208.0/21 gw 192.168.2.1 dev eth0
route add ...
route add ...

Вам не нужно добавлять что-либо в /etc/network/interfaces, кроме auto eth0 и iface eth0 inet dhcp, или что там у вас есть. NetworkManager вызывает сценарии в этом каталоге с помощью exec run-parts /etc/network/if-up.d в сценарии /etc/NetworkManager/dispatcher.d/01ifupdown. Вы можете проверить это по (в моем случае):

# run-parts --test /etc/network/if-up.d
/etc/network/if-up.d/000resolvconf
/etc/network/if-up.d/avahi-autoipd
/etc/network/if-up.d/avahi-daemon
/etc/network/if-up.d/ethtool
/etc/network/if-up.d/ip
/etc/network/if-up.d/ntpdate
/etc/network/if-up.d/openssh-server
/etc/network/if-up.d/openvpn
/etc/network/if-up.d/script <---- your script here
/etc/network/if-up.d/upstart
/etc/network/if-up.d/wpasupplicant
0
ответ дан 1 September 2013 в 12:08

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

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