OpenWRT-basiertes Gateway mit dnsmasq und internem Server mit bind

3

Ich habe einen auf OpenWRT basierenden Router, der dnsmasq 2.59 hat. In meinem lokalen Netzwerk habe ich eine NS-Serverbindung. Dieser Server hat interne und externe Ansichten für einige meiner Domains. Mein Router leitet Port 53 TCP und UDP von außerhalb der IP (Router-WAN) an diesen Server weiter. Für die externen Kunden funktioniert alles gut.

Um die interne Ansicht zu organisieren, habe ich beschlossen, die Ausnahme zu hinzuzufügen

/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 - IP-Adresse des NS-Servers)

Laut dnsmasq manstrong text:

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

Dieser Domain-Name mit allen Sub-Domains soll an meinen NS-Server weitergeleitet werden.

Alles funktioniert (SOA, NS, MX, CNAME, TXT, SRV usw.) außer A-Record:

# 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 - IP-Adresse meines Routers (dnsmasq)

Ich kann jedoch die Antwort auf die TXT-Datensatzabfrage erhalten:

# 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"

Wenn ich nur die lokale IP meines NS-Servers spezifiziere (direkter Zugriff auf den Server ohne Verwendung von dnsmasq), sind die Ergebnisse:

# 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

Ähnlich verhält es sich mit dem MX-Record:

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

Dies ist ein Grabungsergebnis:

# 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"

Wenn ich versuche zu pingen:

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

Ist es ein Fehler von dnsmasq 2.59? Wie kann man dieses Problem lösen?

Peter
quelle

Antworten:

2

Ich selbst bin kürzlich auf dieses Problem gestoßen.

Wahrscheinlich haben Sie den Rebind-Schutz in der Konfiguration auf "Ein" gesetzt. In diesem Fall sollten Sie RFC1918-Antworten für diese Domäne zulassen:

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

Dies hat das Problem für mich behoben. Ich hoffe es hilft.

Wenn nicht, werfen Sie einen Blick auf die Versionshinweise zu dnsmasq. In den Versionen 2.5x-2.6x wurden einige Regressionsfehler gemeldet. 2.62 und 2.65 scheinen am stabilsten zu sein (ich benutze v62). Versuchen Sie, ein Upgrade durchzuführen, um festzustellen, ob das Problem behoben ist.

Temikus
quelle