Столкнулся на днях с некоторой сложностью при использовании NetworkManager при настройке соединения, а именно прописать DNS сервера для интерфейса в нужном мне порядке. При этом необходимо, чтобы ip адрес, шлюз назначался по DHCP и маршрутизация прописывалась автоматически.
Структура сетки самая обычная:
- коробочный шлюз с WAN на провайдера, а на LAN стоит DHCP сервер
- десктоп берет настройки сети по DHCP
- ноутбук берет настройки сети по DHCP но имеет собственный DNS сервер. Поэтому необходимо, чтобы он сперва смотрел свой DNS, а потом те которые используются в сети.
Прописать в /etc/resolv.conf
не получилось т.к. NetworkManager и dhcpcd его перезаписывают при старте. Хотя некоторые советуют просто изменить права на файл для решения данной проблемы.
Попытка прописать в /etc/conf.d/net
:
dhcp_eth0="nodns"
dns_servers_eth0="dns1 dns2"
не увенчалась успехом, т.к. NetworkManager его просто игнорирует и использует настройки из "/etc/NetworkManager/system-connections/Auto eth0"
. Поэтому будем править его. Правим раздел [ipv4]
, если его нет то создаем:
[ipv4]
method=auto #получить настройки по DHCP
dns=127.0.0.1;192.168.1.1;8.8.8.8; #нужные нам DNS и в нужном порядке
ignore-auto-dns=true #говорим, что DNS из DHCP игнорировать
ignore-auto-routes=false #поднимать таблицу маршрутизации на основании данных из DHCP автоматически
после записи файла NetworkManager подхватит настройки автоматически.