У меня есть сеть, в которой я запускаю dnsmasq для DHCP и DNS. В моей сети есть несколько клиентов, каждый из которых должен связываться с главной машиной (что они делают с помощью DNS-запроса к dnsmasq для master
). Теперь я хочу запустить несколько основных / клиентских групп в одной сети, и я хочу иметь возможность легко настраивать, какой клиент связан с каким мастером.
Можно ли настроить dnsmasq так, чтобы он давал разные ответы на определенный DNS-запрос разным клиентам? Например, если 10.0.2.23
запросы для master
Я хочу чтобы результат был 10.0.3.1
. Однако если 10.0.2.24
запросы для master
Я хочу чтобы результат был 10.0.3.2
.
Я знаю, что могу добиться этого, просто сделав master
запись в каждый клиентский /etc/hosts
файл, но мне бы хотелось, чтобы вся эта информация была в одном файле конфигурации (например, /etc/dnsmasq.d/masterclient.conf
)
TL; DR: явное лучше неявного
Вы также можете убедиться, что любая диагностика, которую вы запускаете в своей сети, также выявляет соединение между членами каждой пары.
Если dnsmasq выполняет и dns, и dhcp, легко решить как проблему «каждый клиент знает своего хозяина», так и сделать возможной проверку правильности настройки - НЕ заставляя dnsmasq реагировать по-разному в зависимости от того, кто запрашивает.
Вместо этого я рекомендую вам убедиться, что каждый клиент запрашивает своего хозяина специально, сделав свою группу частью своего полного доменного имени:
# make sure your dhcp clients use dnsmasq as dns & split them in groups
# (you probably already do that baes on either mac or subnet)
dhcp-range=set:group1,10.0.2.0,10.0.2.23,255.255.255.0,4h
dhcp-range=set:group2,10.0.2.24,10.0.2.50,255.255.255.0,4h
dhcp-otion=option:dns-server,0.0.0.0
# based on tags, give them a dns search domain
dhcp-option=tag:group1,option:domain-search,pair1.local
dhcp-option=tag:group2,option:domain-search,pair2.local
# making the respective master address known to them
address=/master.pair1.local/10.0.3.1
address=/master.pair2.local/10.0.3.2
Есть способы основывать решение о том, какой клиент к какой группе принадлежит, на разных параметрах; в зависимости от того, что определяет, в какой группе должен быть клиент, мой пример разбивается на dhcp-range
может быть либо достаточным, либо совершенно неуместным.
Предостережение: перенастройка клиентов в разные группы может быть выполнена только в соответствии со сроками аренды DHCP, что менее гибко, чем dns TTL.