Рейтинг:0

dnsmasq и NetworkManager DNS

флаг mp

У меня есть небольшая сеть компьютеров, которые можно перемещать между сайтами.

Эти компьютеры подключены к свитчу, и один из них выступает в роли DHCP-сервера и DNS-сервера через dnsmasq для этой сети, назовем его MAINPC.

DNS используется только для обеспечения разрешения имен между этими компьютерами, и если вы добавите еще один компьютер в локальную сеть, он будет добавлен в DNS через dnsmasq.

Остальные DNS-имена должны обрабатываться вторичным DNS-сервером, вот моя проблема.

Я не хочу жестко кодировать вторичный DNS-сервер, такой как 8.8.8.8, потому что иногда вы будете подключать всю эту сеть к другой сети с собственным DNS-сервером. Я хочу, чтобы dnsmasq предоставил в качестве вторичного DNS DNS, предоставленный NetworkManager.

То, что я сделал, установлено DNS=по умолчанию в файле conf в /etc/NetworkManager/conf.d/. Это приводит к тому, что NetworkManager записывает DNS-запрос DHCP в файл /etc/resolv.conf, который считывается dnsmasq. Это решает большинство проблем.

ПК, которые используют MAINPC в качестве DNS-сервера, работают нормально, они направляют свои запросы на MAINPC, который, если возможно, отвечает из локального домена, а если нет, то перенаправляет на DNS, указанный NetworkManager.

Но сам MAINPC использует только DNS, предписанный NetworkManager, и не может разрешить другие ПК в сети. Короче говоря, он не использует собственный DNS-сервер в качестве основного.

Как этого добиться? В основном мне просто нужно, чтобы мой файл /etc/resolv.conf выглядел так:

# Генерируется NetworkManager
поиск внутренний_домен другой_домен
сервер имен MAINPC_IP
сервер имен IP_MANDATED_BY_NETWORK_MANAGER

В настоящее время мне удалось это сделать, заставив DNS-сервер MAINPC в /и т.д./сетевой план/ файл:

# Генерируется NetworkManager
поиск внутренний_домен другой_домен
сервер имен IP_MANDATED_BY_NETWORK_MANAGER
сервер имен MAINPC_IP
David avatar
флаг cn
У тебя 2 DNS сервера, вопрос тебе не ясен.
флаг mp
Небольшая портативная сеть ПК имеет DNS. Представьте себе, что это шт. Автономного автомобиля. У них есть внутренний dns для поиска друг друга. Вы можете подключить автомобильную сеть к другой сети через Wi-Fi, и в этом случае нелокальные доменные имена должны быть перенаправлены на dns, предоставленный Wi-Fi.
Рейтинг:0
флаг mp

Я считаю, что мне удалось ее решить.

NetworkManager будет записывать полученную DNS-информацию в /run/NetworkManager/resolv.conf в дополнение к /etc/resolv.conf.

Сначала я отключаю запись в /etc/resolv.conf:

$ cat /etc/NetworkManager/conf.d/disable-resolv-conf.conf
[главный]
# Не записывайте /etc/resolv.conf, а записывайте /run/NetworkManager/resolv.conf
DNS=нет

Я заменяю /etc/resolv.conf файлом, содержащим IP-адрес локального хоста, чтобы использовать dnsmasq в качестве DNS-сервера.

$ кошка /etc/resolv.conf 
поиск my-private.lan
сервер имен 127.0.0.53

Наконец, я поручаю dnsmasq прочитать /run/NetworkManager/resolv.conf вместо /etc/resolv.conf.

кот /etc/dnsmasq.d/networkmanager-dns.conf
# NetworkManager запишет здесь DNS, полученный от сетей, к которым он подключается
# Мы будем использовать их в качестве вторичного DNS
resolv-file=/run/NetworkManager/resolv.conf

И на моей машине мне пришлось изменить разрешения /запустить/сетевой менеджер каталог, так как по умолчанию другие пользователи не могут его прочитать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.