В Ubuntu: "service networking restart" и "resolvconf restart" не вступят в силу до перезагрузки

У меня ситуация, когда я использую двух провайдеров, у меня есть программа, которая периодически проверяет адрес, и если это предполагает, что провайдер имеет проблемы и изменяет маршрут по умолчанию и DNS-сервера в файле /etc/сети/интерфейсов и /etc/resolvconf/файл resolv.конф.D файлы/хвост, соответственно. Это изменяет эти параметры, чтобы быть указанным на резервный ISP. Затем я запускаю

sudo service networking restart 
sudo /etc/init.d/resolvconf restart. 

однако это не изменяет маршрут по умолчанию (как показано ip route ls) или DNS-серверы в / etc / resolv.конф. Это требует перезагрузки. Как активировать эти настройки без перезагрузки?

7
задан Sunny
12.02.2023 8:01 Количество просмотров материала 2800
Распечатать страницу

1 ответ

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

Я предполагаю, что вы делаете не имейте статический ИП (снова, если так, пльс дайте мне знать). Ли сервер DHCP провайдера 1 Когда линия вниз? Если не, потом

 sudo ifdown eth0
 sudo ifup   eth0

передаст вам новая конфигурация. Но, если вместо DHCP сервера Поставщика 1 тут stay on, то вам придется сделать это вручную.

  1. изменить маршрут:

    sudo ip route del default 
    sudo ip route add default via 192.168.1.121 dev eth0
    

    где я предположил, что вы подключены через ethernet, и что IP-адрес второго модема 192.168.1.121, если не изменить соответствующим образом.

  2. изменить DNS, проще всего: edit (as sudo) /etc/resolv.conf, удалите строки с предыдущими Dnse, затем добавьте два следующих строки:

    nameserver 1.2.3.4
    nameserver 9.8.7.6
    

(подставить свои значения).

если вы найдете это раздражает, вы можете автоматизировать его следующим образом: создать исполняемый файл (! файл), назовем его line2, следующего содержания:

#!/bin/bash
sudo ip route del default 
sudo ip route add default via 192.168.1.121 dev eth0
sed -i --follow-symlinks 's/First.Old.DNS.IP./First.New.DNS.IP/' /etc/resolv.conf
sed -i --follow-symlinks 's/Second.Old.DNS.IP./Second.New.DNS.IP/' /etc/resolv.conf

и теперь-исполнителем line2 даст вам новое подключение.

есть и другие, более элегантные способы изменения Dnse (с помощью resolvconf, пишет /etc/resolvconf.d) но так как вы, кажется, есть частые проблемы нет ничего проще этого.

3
отвечен MariusMatutiae 2023-02-13 15:49

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх