Если я добавлю новый 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:
sudo nmcli c m eth0 ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli c up eth0
Бонус:
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