Я использовал Ubuntu начиная с Ubuntu 8.10; сегодня я работаю с Ubuntu 12.04 Server.
У меня проблемы с сохранением статических маршрутов при загрузке. Я обычно ставлю команды маршрута
/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>
в /etc/rc.local
или я хотел бы создать файл ( с именем routes
) внутри директории /etc/network/if-up/
, но я заметил , что на Ubuntu 12.04 это не работает.
Если я набираю команды в оболочке, они работают, но те же команды не работают, когда они находятся в указанном файле.
Я уже пытался изменить имя файла на другое имя, думая, что мое имя файла ( routes
) может быть ошибочным в Ubuntu 12.04, но это также не сработало.
Я также замечаю, что команда /sbin/ifconfig
работает, за исключением /sbin/route
.
Что изменилось в настройке сети?
Как я могу определить статические маршруты в Ubuntu 12.04?
источник
your_command > stderr.txt 2>&1
) и проверить его вывод ...ip add
иip route
. Одна команда для управления сетью. :)man 5 interfaces
Ответы:
Вы можете поместить статические маршруты в
/etc/network/interfaces
:источник
up ip route add 192.168.0.0/24 via 192.168.1.1
Я часто обнаруживал, что правильное место для определения статического маршрута находится в / etc / network / interfaces, и это нормально, если вы собираетесь глобально перезапустить сеть, например, с помощью /etc/init.d/networking restart. Но если вы собираетесь использовать ifdown и ifup для индивидуального выключения интерфейса, ifup завершится с ошибкой:
Из-за этого пытается определить маршрут, но он уже определен. Интерфейс все равно будет включен, но ifup не будет обновлять / запускать / network / ifstate, поэтому в следующий раз, когда вы будете использовать нас, вы не сможете это сделать, если не используете флаг --force.
Чтобы заставить ifup продолжать настройку, даже если маршруты уже определены, вы можете использовать этот формат при определении маршрутов в / etc / network / interfaces
Таким образом, вы получите предупреждение на выходе, но настройка интерфейса будет завершена
источник
ifconfig
вручную, а не запускаютifdown
, то хотят иметь возможность восстановления с использованием правильных инструментов. Таким образом, полезно, если эти инструменты устойчивы к неожиданному состоянию, когда они пытаются исправить состояние.|| true
Предложение является хорошим один. Добавление строки вниз тоже полезно.up ip route replace 172.16.0.0/24 via 192.168.10.1
«замена» добавит маршрут, если он еще не существует, но если маршрут с таким же селектором существует, он будет заменен текущим, даже если у них один и тот же пункт назначения.Вы можете попробовать это (добавить его
/etc/network/interfaces
), это почти полный способ настройки маршрутов:источник
Существует пакет ifupdown-extra, доступный в Ubuntu.
Он предоставляет автоматические сценарии (установлены в
/etc/network/*/
), один из которых используется для добавления статических маршрутов.Файл конфигурации для этого
/etc/network/routes
В верхней части этого конфигурационного файла есть хорошее описание:
Пример маршрута, который я использую:
источник
что сработало для нас
Я использовал для запуска на Mac:
но в Ubuntu отсутствует "gw" между IP-адресами и последней частью "сетевой маски" (также -n не требуется в Ubuntu)
источник
Я предпочитаю использовать
nmcli
.Например:
После этого примените изменения, перезапустив службу NetworkManager:
источник
Используя
nmcli
я смог запустить постоянное решение (решение @isapir не работало на моем устройстве).Например:
После этого применить изменения можно, установив соединение снова и снова (нет необходимости в полном перезапуске NetworkManager):
Для просмотра текущих подключений выполните:
источник