NetworkManager и статический DNS

Столкнулся на днях с некоторой сложностью при использовании 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 подхватит настройки автоматически.