Ist es möglich, eine verbindliche Antwort für lokale Domänen autoritativ zu haben?

749
Y Treehugger Cymru

Wie der Titel schon sagt: Ist es möglich, dass Bind ( Named Service) auf einem Linux-Computer (Fedora 27, Server Edition) autorisierend für lokale Domänen zuständig ist oder zumindest so reagiert, dass etwas, das nach ihnen fragt, dies tun wird die Antwort des Servers über alle anderen akzeptieren?

Ich weiß, dass sollte möglich sein (theoretisch zumindest), aber ich kann sie nicht arbeiten, obwohl beide die Namen und rndc - Dienste sind und auch wenn meine Dateien passieren Kontrollen sowohl auf Named-checkconf und named-checkzone .

Ich muss in der Lage sein, eine Antwort vom Bind-Server für meine lokale Domäne (Anfragen, die von einem Windows 7-PC stammen) zu erhalten, die auf meine lokale Domäne verweist (im Gegensatz zu einer autorisierenden oder nicht autorisierenden Antwort an anderer Stelle im Internet), ähnlich zu diesem Beitrag: BIND9 kann lokale Domäne nicht auflösen . Ich möchte es auch möglich machen, andere (Internet-) Domänennamen zu einem späteren Zeitpunkt hinzuzufügen (eine gefälschte Wurzel würde wahrscheinlich nicht als Lösung funktionieren), aber wie es aussieht, lautet die Antwort von nslookup :

** Server kann vpntest.it nicht finden: NXDOMAIN **

Ich habe auch die Distribution neu installiert (einfache Installation), die Dateien gemäß dem Fedora-Administratorhandbuch geändert und diesen Beitrag überprüft (und sorgfältig von diesem extrapoliert): https://serverfault.com/questions/838380/dns-use- public-domain-name-for-internal-use ... und erhalten weiterhin den obigen Fehler. Grrrrrrrrrrrrrrrrr!

Meine Dateien sind derzeit wie folgt:

/etc/nsswitch.conf Wert:

files dns myhostname 

/etc/resolv.conf:

# Generated by NetworkManager nameserver 64.83.128.50 nameserver 64.20.192.50 nameserver 2001:4860:4860::8888 # NOTE: the libc resolver may not support more than 3 nameservers. # The nameservers listed below may not be recognized. nameserver 2001:4860:4860::8844 

/ etc / hosts:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 

etc / named.conf (RNDC-Schlüssel aus diesem Beitrag gelöscht):

options { listen-on port 53 { 10.200.0.1; }; // 127.0.0.1 // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";  recursion no; dnssec-enable yes; dnssec-validation auto;  auth-nxdomain no; allow-query { localhost; }; version "Damned If I Know"; allow-recursion { 10.200.0.1/24; };  managed-keys-directory "/var/named/dynamic";  pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key";  include "/etc/crypto-policies/back-ends/bind.config"; };  logging { channel default_debug { file "data/named.run"; severity dynamic; }; };  zone "." IN { type hint; file "named.ca"; };  include "/etc/named.rfc1912.zones"; # include "/etc/named.root.key";  key "rndc-key" { algorithm hmac-md5; secret ""; };  controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; };  zone "vpntest.it" IN { type master; file "vpntest.it.zone"; };  zone "0.200.10.in-addr.arpa" IN { type master; file "10.200.0.zone"; allow-update { none; }; }; 

/var/named/vpntest.it.zone:

$ORIGIN vpntest.it. $TTL 86400 @ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. ( 100 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day ; IN NS ns1.vpntest.it. ; ns1 IN A 10.200.0.1 ; www IN A 10.200.0.6 

/var/named/10.200.0.zone:

$ORIGIN 0.200.10.in-addr.arpa. $TTL 86400 @ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. ( 100 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day ; @ IN NS ns1.vpntest.it. ; 1 IN PTR ns1.vpntest.it. 6 IN PTR www 
0
Wie lautet die IP-Adresse Ihres Nameservers? Wenn es nicht 10.200.0.1 ist, ist das dein Problem. Außerdem müssen Sie die Rekursion zulassen, damit andere Domänen behandelt werden können. davidgo vor 6 Jahren 0
unterscheidet sich `nslookup vpntest.it` von` nslookup vpntest.it 127.0.0.1` oder ähnliches? thrig vor 6 Jahren 0
@davidgo: Ich werde jetzt nachsehen, ob das Problem dadurch behoben wird. - Danke. Y Treehugger Cymru vor 6 Jahren 0
@davidgo: Entschuldigung, - Fix nicht erfolgreich (Server konnte vpntest.it nicht finden: NXDOMAIN **). - Ich habe meine Datei vpntest.it.zone NS A aktualisiert und eine AAAA für FE80 :: 1 hinzugefügt, sodass die Nameserver-IPs mit denen in resolv.conf übereinstimmen (wo ich auch FE80 :: / 64 in FE80 :: 1 geändert habe). . Rekursion wurde jetzt auch in named.conf aktiviert. Y Treehugger Cymru vor 6 Jahren 0
Das Dateiformat wurde an die Namenskonventionen angepasst, sodass vpntest.it.zone in named.vpntest.it geändert wurde. ebenfalls mit der PTR-Datei. Rekursion auch nicht entfernt; (um einen potenziellen Konflikt mit der allow-recursion-Direktive zu vermeiden) und verwendete var / named / named.empty, um ein entferntes, herkömmlich korrektes named.vpntest.it zu erstellen. Ergebnis: noch NXDOMAIN. Y Treehugger Cymru vor 6 Jahren 0
Var / named / data / named.run auf Fehler geprüft (2 gefunden: Fehler beim Schreiben der NTA-Datei für Ansicht '_default': Berechtigung verweigert ... und ... Fehler beim Schreiben der NTA-Datei für Ansicht '_bind': Berechtigung verweigert. Ich bin nicht sicher, ob diese wichtig sind oder nicht, oder wo sie behoben werden müssen, da ich nichts von den Fehlern finden kann. Y Treehugger Cymru vor 6 Jahren 0
Die DNSSEC-Erzwingung auf dem Router verursachte einige Probleme, die jedoch geändert wurden und die DNS-Prüfungen nicht mehr beeinträchtigen. Leider wurde auch das NXDOMAIN-Problem nicht behoben (BIND _still_ akzeptiert nicht, dass es sich bei vpntest.it um eine lokale Domäne handelt.) Y Treehugger Cymru vor 6 Jahren 0
Aktualisierte Ethernet-Adapter-Datei, wobei die Laptop-Adresse in eine (lokale) statische Adresse geändert wird, um Probleme mit DHCP auszuschließen, die eine unerwartete oder mehrdeutige IP-Adresse zuweisen und die Adresse bereits in den Konfigurationsdateien abgleichen. Habe _still_ NXDOMAIN bekommen ... Y Treehugger Cymru vor 6 Jahren 0
Satanforce, sorry _setenforce_, _firewalld_, Router-Firewall und Anti-Spoof wurden ausgeschlossen. Y Treehugger Cymru vor 6 Jahren 0
Die Datendatei für Stammhinweise wurde aktualisiert. Dabei wurde der Inhalt von named.ca mit den folgenden Dateien überschrieben: ftp://ftp.rs.internic.net/domain/db.cache. _rndc reload_ hat keine Fehler ausgegeben, _systemctl status named.service_ zeigt keine Fehler an, NXDOMAIN bleibt erhalten ... (noch immer keine Auflösung in der internen (lokalen) Domäne von vpntest.it). Y Treehugger Cymru vor 6 Jahren 0
Es wurden sowohl Forwarder als auch Forward First-Anweisungen für die Adresse des Gateways (ns1) hinzugefügt. Theoretisch sollte dies zunächst die ISP-Nameserver abfragen und dann auf eine interne Abfrage zurückgreifen. In der Praxis bleibt vpntest.it bei NXDOMAIN hängen. Y Treehugger Cymru vor 6 Jahren 0
Ausgecheckte Anleitungen zur Verwendung von Fake Root können bestätigen, dass es im Wesentlichen das ist, was ich jetzt ohnehin habe. Bei der Verwendung von Fake Root geht es in erster Linie darum, den Nameserver auf die Bereitstellung lokaler Domänennamen zu beschränken, die möglicherweise bereits vorhandene Domänen spiegeln Internet. Y Treehugger Cymru vor 6 Jahren 0
Durch die Protokolle gegangen, Ping-Checks, nmap, wieder. - BIND spricht definitiv mit unserem ISP und es gibt definitiv wechselseitige Kommunikation. Ich habe keine weiteren Ideen und kann nur zu dem Schluss kommen, dass die neueste Version von BIND in gewisser Weise kaputt ist. Laut jeder Anleitung, die ich gelesen habe (in Englisch muss es mindestens tausend sein), sollte meine Konfiguration definitiv aufgelöst werden, auch wenn sie nicht autorisierend ist, meine lokalen Domänen und es ist definitiv nicht, auch wenn alles entfernt ist , zurücksetzen, bereinigen, übereinstimmende Übereinstimmung usw. Y Treehugger Cymru vor 6 Jahren 0
@thrig: Ich entschuldige mich - Ich habe nicht gesehen, was Sie mit diesem Check gemacht haben, als ich es mir zum ersten Mal angesehen habe, aber nslookup vpntest.it 127.0.0.1 gibt zurück: Name: vpntest.it Adresse: 127.0.0.1 Y Treehugger Cymru vor 6 Jahren 0
Sie geben nicht genau an, wie Sie prüfen. "Nslookup" (Tipp1: Verwenden Sie stattdessen "dig", jedoch gilt Folgendes), ohne dass der Nameserver, den Sie abfragen möchten, die normale Auflösung ausführt. Ist Ihre Domain also ordnungsgemäß delegiert? Testen Sie mit Online-Tools wie ZoneMaster oder DNSViz. Versuchen Sie `dig` mit` @ `+ Ihrer Nameserver-IP und vergleichen Sie die Ergebnisse, wenn Sie keine Angaben machen. Nun ist es keine gute Idee, eine Bindung sowohl als rekursiv als auch als verbindlich zu haben. Wie in meinen anderen Kommentaren kann `dnsmasq` besser zu Ihrer Situation passen. Patrick Mevzek vor 6 Jahren 0
Danke, - ich habe dnsmasq ausprobiert, bin aber absolut nirgends damit gekommen. Für den Anfang konnte ich keine ausreichenden Informationen darüber finden, wie er verwendet wird, ob er in Verbindung mit BIND usw. verwendet wird, und es schien nur ein Klon von BIND zu sein, daher verwende ich jetzt eine richtige Domäne und nur BIND ... aber das bereitet mir den Kopf, nur für Googlebot und mein lokales Netzwerk erreichbar zu sein. Y Treehugger Cymru vor 6 Jahren 0

1 Antwort auf die Frage

0
Anaksunaman

Ich weiß, dass diese Frage ein bisschen alt ist (und es scheint, als hätten Sie eine halbwegs funktionierende Konfiguration). Vergeben Sie mir bitte, wenn ich etwas sage, das Sie bereits kennen oder nicht mehr auf Ihr Problem zutreffen.


Ich kann nicht direkt mit anderen Problemen sprechen, aber Sie haben (anscheinend) keinen Eintrag für vpntest.it in Ihrer Zonendatei:

$ORIGIN vpntest.it. $TTL 86400 @ IN SOA ns1.vpntest.it. hostmaster.vpntest.it. ( 100 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expire after 1 week 86400 ) ; minimum TTL of 1 day ; IN NS ns1.vpntest.it. ; ns1 IN A 10.200.0.1 ; vpntest.it. IN A 10.200.0.6 ; http://vpntest.it - no subdomain www IN A 10.200.0.6 ; http://www.vpntest.it - subdomain 

Beachten Sie, dass die Seriennummer immer erhöht werden muss, wenn Sie Änderungen an Ihren Zonen vornehmen.

Weitere Hinweise

  • .itist eine echte TLD zusammen mit .dev. Dies kann zu Auflösungsproblemen führen (wie jede echte, öffentliche TLD). Sie können diese Liste der internationalen Top Level-Domains überprüfen und eine falsche TLD auswählen, die nicht in dieser Liste enthalten ist (z .nx. B. vielleicht?). Es gibt einige offiziell reservierte nicht öffentliche TLDs ( naja, halb ausschließende .onion), aber .invalidSie würden sich für absolut sicher halten (vermeiden, .localda dies in Verbindung mit einem Zeroconf-Netzwerk verwendet wird ).

  • Wie Sie in Ihren Kommentaren feststellen, recursion no;sollte diese entfernt werden (da Sie die Rekursion bereits einschränken allow-recursion { 10.200.0.1/24; };).

  • Auf jedem Computer, mit dem Sie arbeiten möchten vpntest.it, muss der DNS-Verkehr durch Ihren BIND-Server geleitet werden.

  • Hosts können BIND möglicherweise überschreiben. Während nsswitch.confwürde kein Problem sein ( unter Berücksichtigung der Reihenfolge) erscheinen, ist es wahrscheinlich immer noch lohnt sich für die allgemeine Problembehandlung beachten (dh sollten Sie nicht brauchen, vpntest.it 127.0.0.1wenn BIND verwenden).

  • Wenn dies nicht auf Ihr Problem zutrifft, stellen Sie sicher, dass Sie beispielsweise vpntest.it/(beachten Sie den nachstehenden Schrägstrich) verwenden, um auf benutzerdefinierte Domänen in aktuellen Versionen von Chrome, Firefox und Opera (oder anderen von Chromium abgeleiteten Browsern) zuzugreifen. Wenn Sie diese Option deaktivieren, kann dies ebenfalls zu Problemen bei der Auflösung führen (vorausgesetzt, DNS funktioniert sonst ordnungsgemäß).