примусово виконувати порядок пошуку DNS у dnsmasq, керованому мережевим менеджером?


0

У мене є якийсь 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-orderdnsmasq.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.

Відповіді:


0

На мою думку, це неправильний спосіб мислення. Хоча libc дещо обмежений послідовними спробами використання DNS-серверів, глобальний список серверів DNS повинен містити записи, які всі рівні, і поведінка dnsmasq є абсолютно правильною.

Якщо ви хочете налаштувати певні підряди DNS для обробки різних серверів DNS як виняток із кореневого дерева, вам слід зробити саме це.

Наскільки я знаю, ви можете налаштувати надані NetworkManager екземпляри dnsmasq, в /etc/NetworkManager/dnsmasq.d/яких вже охоплені відповіді на інші запитання.

Також dnsmasq - не єдиний варіант сучасного розповсюдження. Ви все ще можете використовувати старий добрий /etc/resolv.confфайл конфігурації libc у всіх дистрибутивах, що містять NetworkManager, включаючи ваш Ubuntu. Або ви можете використовувати Unbound для деяких дистрибутивів. Існують всілякі способи підходу до локальної конфігурації DNS на сучасних дистрибутивах.


1
networkmanager дуже гнучкий, тому я хотів би ним скористатися. dnsmasq може кешувати записи пошуку, які можуть зробити мою мережу набагато швидшою, тому я також хотів би використовувати її. Мені просто потрібно, щоб мережевий менеджер управляв dnsmasq прийняв варіант суворого порядку. Поки що я не можу знайти жодного робочого рішення на основі dnsmasq.d. Якщо ви можете поділитися деталями та вказати мені на правильний напрямок, я прийму вашу відповідь.
Ван
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.