dnsmasq: Пользовательское разрешение имен для разных клиентов

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

3
задан 18 November 2017 в 03:12
1 ответ

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.

3
ответ дан 3 December 2019 в 06:27

Теги

Похожие вопросы