Externer DNS-Server kann externen Domänennamen nicht auflösen, wenn öffentliche IP innerhalb des internen Netzwerks verwendet wird

Externer DNS-Server kann externen Domänennamen nicht auflösen, wenn öffentliche IP innerhalb des internen Netzwerks verwendet wird

Ich führe nslookupAbfragen von einem Computer innerhalb des internen Netzwerks durch. Der externe Domänenname kann erfolgreich aufgelöst werden, wenn ich die private IP meines DNS-Servers verwende.

> www.ust.hk
Server: 192.168.28.58
Adresse: 192.168.28.58#53

Nicht verbindliche Antwort:
Name: www.ust.hk
Adresse: 143.89.14.1

Wenn ich jedoch die öffentliche IP meines DNS-Servers im internen Netzwerk verwende, kann ich den externen Domänennamen nicht auflösen.

$ nslookup
server wxyz
Standardserver: wxyz
Adresse wxyz#53
> www.ust.hk
Server: wxyz
Adresse: wxyz#53
Server kann www.ust.hk nicht finden: ABGELEHNT

Wenn ich das DNS-Protokoll untersuche, heißt es, dass der externe Domänenname abgelehnt wird.

(www.ust.hk): Abfrage (Cache) „www.ust.hk/A/IN“ abgelehnt

Dies ist unzumutbar, da Rekursion für interne Netzwerke zulässig ist. Es ist ganz normal, dass externe Domänen nicht aufgelöst werden können, wenn sich der Computer außerhalb des internen Netzwerks befindet.

Ich habe die benannte Konfigurationsdatei wie folgt:

acl "trusted" {
               192.168.0.0/16;
               localhosts;
               localnets;
};

options{
listen-on port {any;};
listen-on-v6 port 53 { none; };
allow-query { any; };
allow-recursion {trusted;};
allow-query-cache {trusted;};
....
};

Ich frage mich, was dieses Problem verursacht hat. Wird das Problem durch eine Fehlkonfiguration der Firewall verursacht? Da in dns.log angegeben wird, dass der Zugriff verweigert wird, scheint es sich nicht um ein Firewall-Problem zu handeln.
Ich habe die Loopback-NAT-Regel eingefügt, aber das hilft immer noch nicht. Bitte beachten Sie, dass sich der DNS-Server in der DMZ-Zone befindet.

Andere bearbeiten

Bearbeiten 1

Zum Punkt: „Ändern Sie die NAT-Einstellungen, um diesen speziellen Datenverkehr nicht abzudecken, sodass die Quelle weiterhin lokal bleibt“. Das sieht sehr machbar aus, aber ich frage mich, wie das geht.

Die PDNS1-IP (öffentlich) befindet sich in der WAN-Zone, während sich die PDNS1-IP (privat) in der DMZ-Zone befindet.

Unsere Firewall-Marke ist Sonicwall. Das aktuelle NAT ist:
Quelle-Original: Beliebig
Quelle-Übersetzt: Pdns (Öffentlich)
Ziel-Original: Pdns (Öffentlich)
Ziel-Übersetzt: Pdns (Privat)
Dienst-Original: DNS (Name Services)
Dienst-Übersetzt: Original

Die anderen beiden NAT-Regeln sind gewöhnliche reflexive Eins-zu-eins-NATs.

Ich weiß nicht, wie ich den spezifischen Verkehr nicht abdecken kann, sodass die Quelle weiterhin lokal bleibt. Bitte geben Sie mir einen Rat und erläutern Sie dies mit weiteren Einzelheiten. Vielen Dank.

Bearbeiten 2

Für den Punkt „Fügen Sie Ihre öffentliche IP-Adresse hinzu (zu der sie per sNAT an die Liste der lokalen Netzwerke gesendet wird)“ habe ich die folgende Einstellung ausprobiert. Es stimmt, dass die DNS-Abfrage mit der öffentlichen IP-Adresse innerhalb des internen Netzwerks externe Domänennamen erfolgreich auflösen kann.

Leider kann die DNS-Abfrage mit einer öffentlichen IP außerhalb des internen Netzwerks auch externe Domänennamen auflösen. Dies ist unerwünscht, da dadurch ein offener DNS-Server entsteht, der für DNS-Amplification-Angriffe anfällig wäre.

acl "vertrauenswürdig" {
219.189.213.25;
192.168.0.0/16;
localhosts;
localnets;
};

Zum Punkt - "Antwort für die Domain von jeder IP aus ermöglichen (eventuell nicht gewollt)"

Ich denke, es bedeutet die folgende Einstellung von named.conf: recursion yes;
oder
allow-recursion { any; };
allow-query-cache { any; };

Außerdem würde der DNS-Server dadurch zu einem offenen DNS, was äußerst unerwünscht ist.

Bearbeiten 3

  1. Nachfolgend finden Sie eine DNS-Abfrage mit privater IP innerhalb des internen Netzwerks:
    [root@pdns1 ~]# nslookup
    server 192.168.28.58
    Standardserver: 192.168.28.58
    Adresse: 192.168.28.58#53
    www.hku.edu.hk
    Server: 192.168.28.58
    Adresse: 192.168.28.58#53
    Nicht autorisierte Antwort:
    Name: www.hku.edu.hk
    Adresse: 147.8.2.58

  2. Nachfolgend finden Sie eine DNS-Abfrage mit öffentlicher IP innerhalb des internen Netzwerks:
    Server 219.189.213.25
    Standardserver: 219.189.213.25
    Adresse: 219.189.213.25#53
    www.mingpao.com
    Server: 219.189.213.25
    Adresse: 219.189.213.25#53
    ** Server kann www.mingpao.com nicht finden: ABGELEHNT

Nachfolgend finden Sie dns.log:
16.01.2020 20:40:12.460 Sicherheit: Info: Client @0x7f963c508310 219.189.213.25#43529. (www.mingpao.com): Abfrage (Cache) „www.mingpao.com/A/IN“ abgelehnt

Nachfolgend finden Sie querys.log:
16.01.2020 20:39:42.109 querys: info: client @0x7f963c0a3ce0 192.168.28.58#60338 (www.hku.edu.hk): query: www.hku.edu.hk IN A + (192.168.28.58)

16.01.2020 20:39:42.401 Abfragen: Info: Client @0x7f963c58e9c0 192.168.28.58#58101 (www.hku.edu.hk): Abfrage: www.hku.edu.hk IN AAAA + (192.168.28.58)

16.01.2020 20:40:12.460 Abfragen: Info: Client @0x7f963c508310219.189.213.25#43529 (www.mingpao.com): Abfrage: www.mingpao.com IN A + (192.168.28.58)

Stimmt es, dass die Anfrage aus dem WAN kam?

Antwort1

Die Frage/der Hinweis wäre, wie Sie Ihren DNS-Server erreichen, wenn Sie versuchen, ihn über eine öffentliche IP zu erreichen …

Sobald Sie den Server über eine öffentliche IP in der DMZ erreichen, ist Ihr Datenverkehr höchstwahrscheinlich bereits per sNAT übertragen. Aus Sicht des Servers ist Ihre Kommunikation nicht lokal. Überprüfen Sie den Protokolleintrag noch einmal – dort ist die IP sichtbar, von der die Anfrage kam …

Damit es funktioniert, können Sie:

  • Antwort für die Domäne von jeder IP aus ermöglichen (eventuell nicht gewollt)

  • Ändern Sie die NAT-Einstellungen, um diesen spezifischen Datenverkehr nicht abzudecken, sodass die Quelle weiterhin lokal bleibt.

  • Fügen Sie Ihre öffentliche IP-Adresse hinzu (zu der Liste der lokalen Netzwerke, an die sie per sNAT weitergeleitet wird)

verwandte Informationen