Я использую 3 интерфейса Ethernet в Ubuntu, но при перезапуске шлюз по умолчанию меняется на другой интерфейс. Каждый раз, когда я загружаюсь, мне приходится менять шлюз по умолчанию обратно на eth1, удаляя шлюз по умолчанию и добавляя его обратно с помощью eth1. Как я могу решить эту проблему?
Чтобы временно изменить маршрут по умолчанию, вы можете использовать команду ip следующим образом:
$ sudo ip route change default via 192.168.1.1 dev eth0
Если у вас есть статическая конфигурация ip в /etc/network/interfaces
Вы можете добавить оператор шлюза, чтобы сделать его постоянным.
iface eth0 inet static
gateway 192.168.1.1
[…]
Используя DHCP для настройки сети, вы должны настроить другой файл. Добавьте заменяющее утверждение в /etc/dhcp/dhclient.conf
.
supersede routers 192.168.1.1;
Откройте файл /etc/network/interfaces
найдите нужный интерфейс и добавьте следующее:
gateway 192.x.x.x
Перезагрузите сеть:
sudo /etc/init.d/networking restart
У меня была та же проблема с моим интерфейсом Wi-Fi wlp3s0
в Ubuntu 18.04. Это влияло на мою способность подключаться к Android-модему и роутеру за пределами дома. Чтобы решить эту проблему, я должен был прокомментировать в файле /etc/dhcpcd.conf
следующее:
interface wlp3s0
static ip_address=192.168.0.16/24
static routers=192.168.0.1
static domain_name_servers=127.0.0.1
, чтобы получить следующее
#interface wlp3s0
# static ip_address=192.168.0.16/24
# static routers=192.168.0.1
# static domain_name_servers=127.0.0.1
Затем я отключился от своего текущего сеть и переподключил пробный route -n
или nmcli
, чтобы увидеть изменения
Вы также можете удалить те же строки, если вы уверены, что это работает для вас.
Из-за этих строк NetworkManager всегда добавлял маршрут по умолчанию с неверным шлюзом, особенно когда меня не было в моей домашней сети. Я получал «Узел назначения недоступен», когда я делал ping 8.8.8.8
. Жесткое кодирование шлюза в /etc/network/interfaces
не было жизнеспособным решением, так как я много подключаюсь к общедоступному Wi-Fi (таким образом, никогда не к одному и тому же маршрутизатору Wi-Fi или к шлюзу), и обычно DHCP должен работать «из коробки» ИМХО.
PS: я никогда не редактировал вручную /etc/dhcpcd.conf
, поэтому я не знаю, почему файл /etc/dhcpcd.conf
содержал эти строки.