У меня есть сеть, в которой я запускаю 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.