Назад | Перейти на главную страницу

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

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

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

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

nmcli connection up eth0 

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

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

  • Показать доступное устройство для настройки: nmcli c s

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

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

  • Установите в настройках IPv4 DNS записи Google DNS 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'

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

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

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

ifup ethX

Для этого вам нужно будет идентифицировать свой сетевой интерфейс (например, 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