У меня есть DN, который не имеет записи на DNS-сервере. Xxxx может быть разрешен только сервером yyyy, а некоторые DN будут неправильными в yyyy, но правильными в xxxx. В традиционном Linux я просто поместил 2 строки в /etc/resolv.conf
.
x.x.x.x
y.y.y.y
Таким образом, программа сначала отправит запрос на хххх Если у него нет этой записи, он вернется к yyyy Таким образом, все будет хорошо.
В современном дистрибутиве Linux обычно используется dnsmasq. Я все еще могу дать несколько DNS-серверов по сетевому менеджеру.
nmcli dev list iface eth0
показать это:
IP4.DNS[1]: x.x.x.x
IP4.DNS[2]: y.y.y.y
Однако поиск DNS не соответствует порядку, который я даю. Поскольку yyyy является локальным сервером, он всегда реагирует быстрее, dnsmasq всегда использует ответ от yyyy и никогда не использует ответ от xxxx В любом случае я могу включить порядок поиска в dnsmasq?
Я знаю, что мог бы сделать что-то вроде strict-order
в dnsmasq.conf. Однако в Ubuntu 14.04 такого файла нет и файл resolv.conf генерируется автоматически.
[Обновить]
Я добавляю «строгий порядок» в /etc/NetworkManager/dnsmasq.d/dnsorder.conf
. Перезапустите сеть и NetworkManager, пока это не имеет никакого эффекта.
команда dnsmasq, запускаемая networkmnager, выглядит следующим образом:
/usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.1.1 --conf-file=/var/run/NetworkManager/dnsmasq.conf --cache-size=0 --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq –conf-dir=/etc/NetworkManager/dnsmasq.d
/var/run/NetworkManager/dnsmasq.conf
пусто. Не найти resolv.conf
в /etc/NetworkManager
.