DD-WRT: Port wird nicht weitergeleitet, wenn eine Verbindung mit einer öffentlichen IP aus dem LAN hergestellt wird

DD-WRT: Port wird nicht weitergeleitet, wenn eine Verbindung mit einer öffentlichen IP aus dem LAN hergestellt wird

Ich habe ein Problem, bei dem ich von meinem LAN aus keine Verbindung zu meinem Heimserver herstellen kann, wenn ich die öffentliche IP-Adresse des DD-WRT-Routers verwende. Ich habe im Wesentlichen dasselbe Problem wie hier beschrieben:DD-WRT: Wie kann die Portweiterleitung auf Anfragen angewendet werden, die aus dem LAN stammen?; allerdings funktioniert keine der angebotenen Lösungen bei mir. Ich bin ziemlich sicher, dass ich die richtigen Werte geändert habe, damit sie auf mein LAN-Setup angewendet werden. Der Router ist ein Netgear WNR834B v2 und läuft mit DD-WRT v24-sp2 18777. Ich verwende die Standard-IP (192.168.1.1) dafür und weiß, dass die Domäne und die Portweiterleitungen normal funktionieren.

EDIT: Verstanden! Ich habe festgestellt, dass ich Local DNS aktivieren und verwenden mussDasAntwort aus der verlinkten Frage.

Antwort1

DD-WRT ist wahrscheinlich nicht für Hairpin-Routing konfiguriert. Eine Verbindung zur öffentlichen IP-Adresse vom LAN aus ist normalerweise keine gute Idee, und Sie können die Verbindungsquelle nicht identifizieren. Die beste Option ist eine direkte Verbindung zum gewünschten Server innerhalb des Netzwerks.

DerShorewall FAQ 2behandelt die Konfiguration des Routers, damit er funktioniert. Shorewall erstellt eine iptables-Firewall aus einer Reihe von Spezifikationsdateien, daher sind die Schritte nicht die erforderlichen iptables-Befehle, lassen sich aber recht einfach auf iptables abbilden. Ich glaube, Sie sollten in der Lage sein, shorewall-lite auf DD-WRT auszuführen. In diesem Fall müssen Sie Ihre gesamte Firewall in Shorewall und nicht mit dem DD-WRT-Tool erstellen.

Die Verwendung von Split-DNS ist viel einfacher und ich würde diesen Ansatz empfehlen. Ein Tool wie dnsmasqkann das erforderliche interne DNS aus einer /etc/hostsDatei bereitstellen. Es fungiert als Caching-Server für Adressen im Internet. Es bietet auch DHCP. Wenn Sie es nicht auf Ihrem DD-WRT-Router ausführen, müssen Sie entscheiden, welcher DHCP-Server aktiviert werden soll. Wenn Sie über den Speicher verfügen, können Sie es auf DD-WRT als Ersatz für den Standard-DHCP-Server installieren.

BEARBEITEN: Wenn Sie es verwenden möchten, dnsmasqist es am besten, es als aktiven DHCP-Server einzurichten. Wenn Sie es nicht auf Ihrem Router ausführen, deaktivieren Sie DCHP auf den Routern. Alternativ können Sie feste Adressen außerhalb des DHCP-Adressbereichs für die Server verwenden, zu denen Sie routen möchten. Die Verwendung fester Adressen ist für Server ohnehin eine gute Idee. Fügen Sie die Adressen der Server der /etc/hostsDatei auf dem Host hinzu, auf dem ausgeführt wird dnsmasq, und starten Sie neu dnsmasq. Wenn Sie mit einer Domäne konfigurieren dnsmasq, können Sie DHCP-Clients auch nach Namen suchen.

Bestimmen Sie die Adresse des dnsmasqHosts. (Dies sollte eine private Netzwerkadresse wie 192.168.0.10 sein.) Konfigurieren Sie Ihren DHCP-Server so, dass diese Adresse als erster DNS-Nameserver aufgeführt wird. /etc/resolve.confVerwenden Sie diese Adresse für Linux-Hosts und andere mit einer Datei als ersten nameserverEintrag. Machen Sie diese Adresse für andere Server mit statischen Nameserver-Einträgen zur ersten angegebenen Adresse.

DHCP-Clients müssen ihre DNS-Daten aktualisieren. Das Auslösen einer DHCP-Erneuerung sollte die Daten aktualisieren. Viele Systeme haben interne DNS-Caches, sodass die Änderungen möglicherweise nicht sofort sichtbar sind. Wenn Sie Clients nach Abschluss der gesamten Serverkonfiguration neu starten, sollten alle Caches gelöscht und die von DHCP angegebene Konfiguration neu geladen werden.

verwandte Informationen