NAT-Loopback und DynDNS

653
genna

Ich habe DynDNS erfolgreich in meinem Router konfiguriert. Jetzt kann ich meinen Heimserver von außerhalb meines lokalen Netzwerks über meine benutzerdefinierte Domäne erreichen.

Mit derselben Domäne kann ich meinen Heimserver trotz der externen IP-Adresse innerhalb des lokalen Netzwerks erreichen. Ich gehe also davon aus, dass mein Router NAT-Loopback für diese Domäne zulässt.

Ich dachte, dies würde ausreichen, um sicherzustellen, dass der Netzwerkverkehr für die Anfragen an meinen Heimserver im lokalen Netzwerk verbleibt.

Aber ich habe einen einfachen Test gemacht, der das zu widerlegen scheint.

Ich habe die Datei / etc / hosts meines Laptops (verbunden mit dem lokalen Netzwerk) geändert, um meine DynDNS-Domäne als lokale IP-Adresse meines Servers aufzulösen (z. B. 192.168.1.2).

Die Netzwerkgeschwindigkeit ist bei Verwendung der lokalen IP-Adresse für jede Anforderung viel höher. Ich gehe davon aus, dass die Anforderung nicht außerhalb des lokalen Netzwerks liegt.

Mein Laptop ist nicht das einzige Gerät, das den Server verwendet. Außerdem ist das Wechseln der Hosts-Datei innerhalb / außerhalb meines Netzwerks keine praktikable Option. Was ich nicht wirklich verstehe ist, warum der Router nicht "intelligent" genug ist, um die Anfragen umzuleiten

Fehlt mir etwas?

Die einzige Möglichkeit, dies zu beheben, besteht in der Bereitstellung eines DNS-Servers in meinem lokalen Netzwerk.

0
Warum versuchen Sie nicht, die Datei / etc / hosts zu ändern und eine von nslookup (extern) zurückgegebene Adresse festzulegen? Warum versuchen Sie nicht, einen statischen Datensatz mit einer lokalen Adresse für Ihren Server in den DNS Ihres Routers einzufügen? Akina vor 6 Jahren 0
@Akina mein Router (AVM Fritz! Box 3272) scheint die Verwaltung statischer DNS-Einträge nicht zu unterstützen. genna vor 6 Jahren 0
"Warum der Router nicht" intelligent "ist, um die Anfragen umzuleiten" - mit NAT macht es genau das, es dauert jedoch Zeit und Mühe. Pakete, die die lokale IP Ihres Servers verwenden, durchlaufen wahrscheinlich nicht einmal den Routing-Teil des Routers. Wenn sie über die Box des Routers reisen, besuchen sie möglicherweise nur ihren internen Switch, der sie auf Hardwareebene behandelt, nicht den logischen Router. Kamil Maciorowski vor 6 Jahren 0
@ KamilMaciorowski Ich verstehe, dass das Überspringen des Routing-Teils des Routers die Anfrage schneller macht. Die Verwendung der internen IP ist jedoch 5/6 mal schneller genna vor 6 Jahren 0

1 Antwort auf die Frage

0
dirkt

Nein, Ihr Router führt kein "NAT Loopback" aus.

Es gibt zwei Fälle. Welches zutreffend ist, können Sie der IP-Adresse der externen Netzwerkschnittstelle Ihres Routers entnehmen (die sich möglicherweise von Ihrer öffentlichen IP-Adresse unterscheidet, siehe unten).

1) Ihr Internetdienstanbieter führt NAT-Netzbetreiber aus (sehr wahrscheinlich, in Deutschland eine nahezu sichere Sache).

Ihre öffentliche IP-Adresse befindet sich im Netzwerk Ihres ISP. Ihr Router verfügt auch über eine private IP-Adresse im Netzwerk Ihres Internetdienstanbieters (die sich von der privaten IP-Adresse in Ihrem Heimnetzwerk unterscheidet). Wenn Sie ein Paket an Ihre öffentliche IP-Adresse senden, wird es an den Router gesendet, dann an das Netzwerk Ihres Internetdienstanbieters, dann an Ihren Router und dann an Ihren Server. Sie können dies (teilweise) mit sehen traceroute.

So verlässt es Ihr Heimnetzwerk, verlässt jedoch nicht das Netzwerk Ihres ISP.

Es gibt einen ICMP-REDIRECT-Mechanismus, um das nächste Mal schneller zu machen, aber Ihr ISP kann ihn möglicherweise nicht verwenden, und die Fritzbox gehorcht möglicherweise nicht.

OTOH, wenn Sie direkt die Adresse Ihres Servers verwenden, wird es dort sein.

2) Ihr Internetdienstanbieter führt keine NAT-Netzbetreiber aus. Das Paket an Ihre öffentliche IP-Adresse geht an Ihren Router, erkennt, dass es sich um eine lokale IP-Adresse handelt, wendet jedoch weiterhin die Port-Weiterleitungsregeln an und sendet sie an Ihren Server zurück.

Das ist zwar immer noch langsamer als das direkte Senden an den Server, jedoch nicht so sehr wie in Fall (1).

3) Ihre Fritzbox kann statische IPs perfekt verwalten. Und es läuft bereits ein DNS-Server. Sie können den Namen des Geräts in der GUI bearbeiten, Sie können das Kontrollkästchen "Immer dieselbe IP" aktivieren, und der Server ist unter xyz.fritz.boximmer mit derselben IP erreichbar.

Was es nicht tun wird, ist die Namensauflösung für Namen außerhalb seiner Domäne zu überschreiben (zumindest glaube ich nicht, dass es das kann, ist vielleicht einen Versuch wert).

Wenn Sie also möchten, dass Ihr DDNS-Domänenname in unterschiedliche IPs aufgelöst wird, müssen Sie einen zweiten DNS-Server bereitstellen, je nachdem, ob Sie sich in Ihrem Heimnetzwerk oder außerhalb befinden. Oder ein Skript, das /etc/hostsautomatisch geändert wird, abhängig davon, mit welcher SSID es verbunden ist usw.

Beim Pinging meiner benutzerdefinierten Domäne (sowohl innerhalb als auch außerhalb des Heimnetzwerks) erhält ich die externe IP-Adresse meines Routers, der Teil meines ISP-Netzwerks (in Italien) ist. Dies sollte die Möglichkeiten auf Option 1 beschränken, oder? Ich werde wahrscheinlich einen DNS-Server auf einer Himbeere bereitstellen, um das Problem zu lösen, ohne dass an jedem Gerät meines Netzwerks nichts geändert werden muss. genna vor 6 Jahren 0
Nein. Ihre benutzerdefinierte Domäne verwendet DDNS. Sie wird daher immer in Ihre externe IP-Adresse aufgelöst, unabhängig davon, wo Sie sich befinden. Und einige ISPs machen lustige Dinge in ihren Netzwerken, daher ist Traceroute / Ping kein verlässliches Instrument, um dies zu sehen. dirkt vor 6 Jahren 0