dnsmasq: Resolução de nome personalizado para diferentes clientes

2

Eu tenho uma rede na qual estou executando o dnsmasq para fazer DHCP e DNS. Minha rede tem vários clientes, cada um dos quais precisa se comunicar com uma máquina mestre (o que eles fazem com uma consulta DNS para dnsmasq para master ). Agora quero executar vários grupos mestre / cliente na mesma rede e quero poder configurar facilmente qual cliente está associado a qual mestre.

É possível configurar o dnsmasq de forma que ele dê uma resposta diferente para uma determinada consulta DNS a clientes diferentes? Por exemplo, se 10.0.2.23 consultar master , quero que o resultado seja 10.0.3.1 . No entanto, se 10.0.2.24 consultar master , quero que o resultado seja 10.0.3.2 .

Sei que posso conseguir isso apenas fazendo uma entrada master no arquivo /etc/hosts de cada cliente, mas adoraria se essas informações estivessem em um único arquivo de configuração (por exemplo, /etc/dnsmasq.d/masterclient.conf )

    
por rcv 18.11.2017 / 02:12

1 resposta

2

TL; DR: explícito é melhor que implícito

Você também pode querer garantir que todos os diagnósticos executados em sua rede também revelem a conexão entre os membros de cada par.

Se dnsmasq estiver fazendo tanto dns & dhcp, é fácil resolver o problema "cada cliente conhece seu mestre" e fazer a verificação da configuração correta possível - NÃO fazendo o dnsmasq responder de maneira diferente com base em quem está consultando.

Eu recomendo que você, em vez disso, certifique-se de que cada cliente solicite seu mestre especificamente, tornando seu grupo uma parte de seu nome de domínio totalmente qualificado:

# 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

Existem maneiras de basear a decisão sobre qual cliente é em qual grupo em diferentes parâmetros; dependendo do que determina qual grupo um cliente deve ser meu exemplo de divisão em dhcp-range pode ser suficiente ou completamente inadequado.

Advertência: A reconfiguração de clientes em grupos diferentes só pode ser feita de acordo com os tempos de concessão de DHCP - o que é menos flexível do que o dns TTL.

    
por 18.11.2017 / 22:59