Сетевой менеджер: как остановить обновление nm /etc/resolv.conf

Я не хочу, чтобы сетевой менеджер добавлял DNS-серверы, полученные от DHCP, в мой /etc/resolv.conf.

При настройке из GUI /Connections / IPV4 и выборе метода Automatic (только адрес) он по-прежнему добавляет DNS-серверы, полученные через DHCP.

Возможно ли это сделать для каждого соединения (конкретный ssid?)

Один из способов запретить сетевому менеджеру добавлять dns-серверы в /etc/resolv.conf файл предназначен для этого:

Сначала откройте файл nm conf /etc/NetworkManager/NetworkManager.conf:

sudo vim /etc/NetworkManager/NetworkManager.conf

И добавьте это к [main] раздел:

dns=none

Сохраните и выйдите.

Мой личный фаворит - использовать линию supersede domain-name-servers в /etc/dhcp/dhclient.conf. Независимо от того, какую точку доступа dns предоставляет, ваш ubuntu всегда будет использовать те dns, которые указаны в dhclient.conf

Образец из моего досье

#send host-name "andare.fugue.com";send host-name = gethostname();#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;#send dhcp-lease-time 3600;#supersede domain-name "fugue.com home.vix.com";supersede domain-name-servers 208.67.220.220;#prepend domain-name-servers 127.0.0.1;request subnet-mask, broadcast-address, time-offset, routers,    domain-name, domain-name-servers, domain-search, host-name,    dhcp6.name-servers, dhcp6.domain-search,    netbios-name-servers, netbios-scope, interface-mtu,    rfc3442-classless-static-routes, ntp-servers,    dhcp6.fqdn, dhcp6.sntp-servers;#require subnet-mask, domain-name-servers;

/etc/resolv.conf имеет символическую ссылку на /run/resolvconf/resolv.conf. NetworkManager не обновляет /etc/resolv.conf напрямую (только обновляет /run/resolvconf/resolv.conf). Так:

  • удалить символическую ссылку (rm /etc/resolv.conf)
  • напишите свою собственную версию /etc/resolv.conf

Вы можете либо использовать графический интерфейс в настройках IPv4 для подключения и выбрать “только адреса” в режиме, либо сделать то, что он делает самостоятельно, отредактировав соответствующий файл подключения в /etc/NetworkManager/system-connections/ и добавив строку ignore-auto-dns=true в [ipv4] раздел.

Если вы выберете метод “Только автоматические (DHCP) адреса”, то NetworkManager не будет или не должен изменять resolv.conf при активации этого соединения. Если NetworkManager действительно добавляет адреса в resolv.conf, несмотря на настройку “только адреса”, то в NetworkManager есть ошибка, и вы должны сообщить об этой ошибке с помощью Launchpad. Чтобы запретить NetworkManager изменять resolv.conf, вы должны выбрать “Только автоматические (DHCP) адреса” во всех конфигурациях соединений, которые становятся активными в вашей системе.