Gateway baseado em OpenWRT com dnsmasq e servidor interno com bind

3

Eu tenho roteador baseado no OpenWRT que possui dnsmasq 2.59. Dentro da minha rede de área local, tenho uma ligação do servidor NS. Este servidor tem exibições internas e externas para alguns dos meus domínios. Meu roteador encaminha a porta 53 TCP e UDP do IP externo (roteador WAN) para esse servidor. Para os clientes externos, tudo funciona bem.

Para organizar a visualização interna, decidi adicionar a exceção a

/etc/dnsmasq.conf

server=/mydomain1.com/192.168.1.1
server=/mydomain2.com/192.168.1.1
server=/mydomain3.com/192.168.1.1

(192.168.1.1 - endereço IP do servidor NS)

De acordo com o texto dnsmasq manstrong:

More specific domains take precendence over less specific domains, so: --server=/google.com/1.2.3.4 --server=/www.google.com/2.3.4.5 will send queries for *.google.com to 1.2.3.4, except *www.google.com, which will go to 2.3.4.5

este nome de domínio com todos os subdomínios deve ser encaminhado para o meu servidor NS.

Tudo funciona (SOA, NS, MX, CNAME, TXT, SRV, etc.), exceto para um registro:

# nslookup -type=a mydomain1.com

Server:         192.168.1.100
Address:        192.168.1.100#53

*** Can't find mydomain1.com: No answer

192.168.1.100 - endereço IP do meu roteador (dnsmasq)

No entanto, posso obter a resposta para a consulta de registro TXT:

# nslookup -type=txt mydomain1.com
Server:         192.168.1.100
Address:        192.168.1.100#53

mydomain1.com        text = "v=spf1 include:mydomain1.com -all"

Quando eu especifico o IP local do meu servidor NS (acesso direto ao servidor sem usar o dnsmasq), os resultados são:

# nslookup -type=a mydomain1.com 192.168.1.1

Server:         192.168.1.1
Address:        192.168.1.1#53

Name:   mydomain1.com
Address: 192.168.1.1

Existe uma situação semelhante com o registro MX:

C:\>nslookup -type=mx mydomain1.com
Server:  router.lan
Address:  192.168.1.100

mydomain1.com         MX preference = 10, mail exchanger = mail.mydomain1.com
mydomain1.com         nameserver = ns.mydomain1.com
mail.mydomain1.com   internet address = 192.168.1.1
ns.mydomain1.com     internet address = 192.168.1.1

C:\>nslookup -type=a mail.mydomain1.com
Server:  router.lan
Address:  192.168.1.100

*** No address (A) records available for mail.mydomain1.com

Este é um resultado interessante:

# dig +nocmd mydomain1.com any +multiline +noall +answer
mydomain1.com.          86400 IN SOA ns.mydomain1.com. hostmaster.mydomain1.com. (
                                121204007  ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                3600       ; minimum (1 hour)
                                )
mydomain1.com.          86400 IN NS ns.mydomain1.com.
mydomain1.com.          86400 IN A 192.168.1.1
mydomain1.com.          604800 IN MX 10 mail.mydomain1.com.
mydomain1.com.          3600 IN TXT "v=spf1 include:mydomain1.com -all"

Quando tento fazer ping:

# ping mydomain1.com
ping: cannot resolve mydomain1.com: Unknown host

É um bug do dnsmasq 2.59? Como gerenciar esse problema?

    
por Peter 18.12.2012 / 17:06

1 resposta

2

Eu me deparei com esse problema recentemente.

O mais provável é que você tenha a proteção de religação definida como "ativada" na configuração. Em caso afirmativo, você deve permitir respostas de RFC1918 para esse domínio:

--rebind-domain-ok=/mydomain1.com/domain2.com/domain3.com/

Isso resolveu o problema para mim. Espero que ajude.

Se não, dê uma olhada nas notas de lançamento do dnsmasq, alguns erros de regressão foram reportados nas versões 2.5x-2.6x. 2.62 e 2.65 parecem os mais estáveis (eu uso v62). Tente atualizar e veja se isso resolve o problema.

    
por 01.01.2013 / 22:10