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?

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.