Как заставить NetworkManager обновить /etc/resolv.conf?

14

Если я добавлю новый DNS-сервер с помощью nmcli connection modify eth0 +ipv4.dns 8.8.8.8, мне все равно придется обновляться, /etc/resolv.confчтобы преобразователь мог зафиксировать изменения, верно? Так как же заставить обновление?

Единственный способ , которым я нашел был перезапуск службы сети: /etc/init.d/network restart. Есть ли менее инвазивный способ - nmcliкоманда, возможно?

Михай
источник
Что вы хотите, чтобы NetworkManager обновил его?
Конрад Гаевский
Добавил некоторые уточнения к вопросу.
Михай
Так как у моего nmcli нет этой команды изменения, я могу только догадываться :) Попробуйте: resolvconf -u
Конрад Гаевский

Ответы:

6

на основе http://www.certdepot.net/rhel7-configure-ipv4-addresses/

nmcli connection up eth0 

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

PS вы можете использовать "nmcli -p connection show eth0", чтобы увидеть настроенные или активные настройки

maximbr
источник
Сохрани свои пальцы! connectionможет быть сокращено, вплоть до c.
Майкл Хэмптон
Интересно, что справочная статья RH предлагает, nmcli c reloadчто не работает для изменения записей DNS.
Гниль
1
  • Показать доступное устройство для настройки: nmcli c s

    Вам понадобится ИМЯ или UUID этого списка. Давайте предположим, что имя подключения есть eth0.

  • Показать текущие настройки DNS IPv4 для eth0: nmcli c s eth0 | grep ipv4.dns:

  • Установите настройки DNS IPv4 для записей DNS Google 8.8.8.8 и 8.8.4.4: sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
  • Сохраните изменения в системных файлах (например, /etc/resolv.conf и т. Д.) С помощью: sudo nmcli c up eth0

Бонус:

  • Сделайте все это с удаленным сервером через ssh: ssh remote-server 'sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4" && sudo nmcli c up eth0'
MadMike
источник
0

Добавьте следующее в файл конфигурации интерфейса ( /etc/sysconfig/network-scripts/ifcfg-ethX):

PEERDNS=yes
DNS1=1.2.3.4
DNS2=1.2.3.4
NM_CONTROLLED=yes

поднять интерфейс:

ifup ethX
GioMac
источник
0

Для этого вам нужно будет идентифицировать ваш сетевой интерфейс (например, eth0)

# nmcli  conn
NAME  UUID                                  TYPE            DEVICE
eth0  74315f7c-1573-4150-9c0e-e06ad28cac95  802-3-ethernet  eth0
#

# nmcli conn edit eth0

===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'eth0'

Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, ipv4, ipv6, dcb
nmcli> print ipv4.dns-search
ipv4.dns-search: mydomain.linux.com
nmcli>
nmcli> set ipv4.dns-search mylinuxdomain.com,anotherdomain.com
nmcli>
nmcli> save permanent

Затем перезагрузите вашу сеть. Я использую nmcli для этого: 1. Чтобы сбить

# nmcli conn down eth0

2. Воспитывать

# nmcli conn up eth0
Linux Cli Aik
источник
Вы действительно не нужно , чтобы привести соединение вниз. Просто сделайте, nmcli conn up eth0чтобы спасти /etc/resolv.conf.
MadMike