Não inclua automaticamente todos os subdomínios no endereço DNSMasq

10

É possível configurar o DNSMasq para que ele retorne um endereço IP fixo apenas para uma solicitação para esse domínio exato e não para seus subdomínios? Ou seja, eu quero que ele retorne um IP fixo ao resolver example.com, mas não a.example.com, b.example.cometc.

Michael Mrozek
fonte

Respostas:

9
host-record=example.com,1.2.3.4

A página do manual dnsmasq diz:

--host-record = <name> [, <name> ....] [<IPv4-address>], [<IPv6-address>]
Adicione registros A, AAAA e PTR ao DNS. Isso adiciona um ou mais nomes ao DNS com os registros IPv4 (A) e IPv6 (AAAA) associados. Um nome pode aparecer em mais de um registro de host e, portanto, ser atribuído a mais de um endereço. Somente o primeiro endereço cria um registro PTR vinculando o endereço ao nome. Esta é a mesma regra usada para ler arquivos-hosts. as opções de registro do host são consideradas lidas antes dos arquivos do host; portanto, um nome que apareça lá inibe a criação do registro PTR se ele também aparecer no arquivo do host. Ao contrário dos arquivos-hosts, os nomes não são expandidos, mesmo quando os hosts-expansão estão em vigor. Nomes curtos e longos podem aparecer no mesmo registro do host , por exemplo. --host-record = laptop, laptop.thekelleys.org, 192.168.0.1,1234 :: 100

Pocketpc
fonte
A pergunta carrega a tag "internal-dns", onde "host-record" se aplica ao external-dns, também conhecido como dns.
Pro Backup
observe que se você estiver tentando assumir um registro de host existente na Internet (por exemplo, reescrevê-lo para sua LAN), se você omitir o endereço v6 e o ​​host tiver um endereço v6 real na internet, o dnsmasq retornará sua v4 substituída endereço como A e o registro real da Internet v6 AAAA. especifique ambos se você não quiser que os hosts com capacidade para v6 "caiam" no host real da Internet via v6. Eu estava reescrevendo archive.ubuntu.com para apontar para o meu espelho local e especifiquei apenas o endereço v4 na minha LAN - acontece que ele também tem um endereço v6 e eu precisava me certificar de que também o configurei no dnsmasq.
furtiva
3

Como está o seu arquivo de configuração? O dnsmasq resolverá apenas subdomínios se sua entrada começar com ponto.

Exemplo: address=/.subdomain.pc01.domain.com/192.168.1.2

Se você tiver desta maneira:

address=/subdomain.pc01.domain.com/192.168.1.2

também resolverá asd.subdomain.pc01.domain.com:

$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2
JorgeeFG
fonte
Ponto interessante, mas se você ler a pergunta com atenção, não é isso que o OP estava pedindo.
Jcharaoui # 30/16
1

Basta adicionar uma entrada para esse domínio específico no arquivo hosts no servidor executando o DNSMasq

Mathias R. Jessen
fonte
Isso não funciona; DNSMasq retorna o mesmo IP fixo para todos os subdomínios do domínio inserido
Michael Mrozek
1

Na página de manual do dnsmasq (para --server, mas também se aplica ao --address):

Domínios mais específicos têm precedência sobre domínios menos específicos, portanto: --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5 enviará consultas para * .google.com para 1.2. 3.4, exceto * www.google.com, que irá para 2.3.4.5

Portanto, a única solução que posso ver é adicionar registros individuais para cada um dos subdomínios necessários. Obviamente não é o ideal, mas é o melhor que o dnsmasq pode oferecer no momento (que eu posso encontrar).

tianon
fonte