У мене є якийсь DN, який не має запису на сервері DNS, xxxx може бути вирішений лише сервером yyyy, а деякі DN помиляються у yyyy, але правильно в xxxx. У традиційному Linux я просто помістив 2 рядки /etc/resolv.conf
.
x.x.x.x
y.y.y.y
Таким чином, програма спочатку надішле запит на xxxx Якщо у нього немає цього запису, він повернеться до 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 такого файлу немає і резолюція.conf автоматично генерується.
[оновлення]
Я додаю "строгий порядок" до /etc/NetworkManager/dnsmasq.d/dnsorder.conf
. Перезавантажте мережу та мережевий менеджер, це поки що не має ефекту. команда 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
.