Niki Hammler: Eigener Server mit dyndns und Masquerading Router

Hallo,

Ich nehme einmal an, ich bin nicht der einzige hier, mit diesem Problem.

Ich bin mit dem Internet über einen Router (Elsa Lancom ISDN) verbunden. Dahinter ein Ethernet Netzwerk von den PCs ist ein PC ein Linux Server. Die wichtigsten Ports werden vom Router auf den Linux Server weitergegeben.
Die dynamische IP wird vom Linux Rechner aus mittels ddclient auf dyndns.org upgedated.

Soweit so gut, alles funktioniert. Nur eines war mir noch nie klar: Warum geht kein ping auf die externe IP-Adresse des Routers (also auch ein ping auf die den dyndns-Namen) von innen?
Die Adresse wird zwar resolved, aber die externe IP des gemasheradeten Routers ist vom internen Netz nicht anpingbar. Wieso denn? Gibt es zufällig auf dem Router eine Option mit dem man das einschalten kann, interne Requests wieder zurückzuleiten?

Das birgt für mich einige Probleme.
Den Webserver habe ich für die dyndns-Domain konfiguriert, im internen Netzwerk habe ich auch eine DNS Domain, Nameserver bind. Die hat den gleichen Namen, nur anstatt ".dyndns.org" ".com". Eine Möglichkeit wäre es jetzt, die interne Domain auch auf die dyndns.org Domain zu konfigurieren. Jedesmal, wenn ich dann von intern die Domain resolven lassen möchte, kommt halt anstatt der externen IP die interne IP.
Wie gesagt, Apache ist für die externe Domain konfiguriert. Jetzt funktikioniert einiges nicht: Virtuelle Server auf DNS Basis funktionieren intern gar nicht, intern muss ich nach jeder URL, die auf ein Verzeichnis zeigt, ein "/" anhängen, damit es funktioniert.

Bis jetzt behalf ich mich damit, im Browser einfach einen externen Proxy einzustellen. Doch das hat auch wieder Nachteile. Zum einen dauert die Antwort ziemlich lange, da die Daten zuerst vom eigenen Netzwerk zum Proxy gehen müssen und dann wieder zurück. Zum anderen geht das interne Netzwerk dann nicht mehr. So muss ich immer Proxy aktivieren/deaktivieren.

Hat jemand von euch das gleiche Problem/kennt ihr Lösungen?

Am liebsten wärs mir, man könnte am Router einstellen, dass auch interne Requests an interne Stationen beantwortet werden. Doch da fehlt mir die Einstellung (oder geht das wegen Masquerading nicht? Wieso?)

Die akzeptable Methode wär ein interner Proxy Server, der die dyndns-Requests rausnimmt und durch die interne IP/Domain ersetzt, den Rest weiterleitet.

Vielen Dank im Vorraus für eure Hilfe!

Niki

  1. Moin!

    Soweit so gut, alles funktioniert. Nur eines war mir noch nie klar: Warum geht kein ping auf die externe IP-Adresse des Routers (also auch ein ping auf die den dyndns-Namen) von innen?

    Ich hatte mal ein Firmennetzwerk, welches mit der Firewall dasselbe Problem hatte: Irgendein Mechanismus verhinderte, dass man von intern über die externe IP wieder nach intern zugreifen konnte. Das wurde nicht weiter hinterfragt, es was eben einfach so. Und das wird bei dir wohl auch so sein.

    Die Adresse wird zwar resolved, aber die externe IP des gemasheradeten Routers ist vom internen Netz nicht anpingbar. Wieso denn? Gibt es zufällig auf dem Router eine Option mit dem man das einschalten kann, interne Requests wieder zurückzuleiten?

    Bei mir zuhause kann ich meine externe IP (und auch den dyndns-Namen) anpingen - aber ich mache auch kein Port-Forwarding auf einen internen Rechner.

    Den Webserver habe ich für die dyndns-Domain konfiguriert, im internen Netzwerk habe ich auch eine DNS Domain, Nameserver bind. Die hat den gleichen Namen, nur anstatt ".dyndns.org" ".com".

    Es ist grundsätzlich eine schlechte Idee, real existierende (oder auch nur theoretisch mögliche) Domains für lokale, nichtöffentliche Netzwerke zu verwenden. Wenn du eine eigene Top Level Domain haben willst, die garantiert nicht öffentlich vergeben wird, benutze ".test". Die ist offiziell für Testzwecke reserviert.

    Eine Möglichkeit wäre es jetzt, die interne Domain auch auf die dyndns.org Domain zu konfigurieren. Jedesmal, wenn ich dann von intern die Domain resolven lassen möchte, kommt halt anstatt der externen IP die interne IP.

    Du hast immer die Möglichkeit, _zwei_ virtuelle Server zu konfigurieren: Einer für den öffentlichen Zugriff über dyndns.org, und einen zweiten mit identischem DOCUMENT_ROOT für den internen Zugriff, beispielsweise über "xxxx.dyndns.test".

    Alternativ kannst du deinen Nameserver, der ins interne Netz abstrahlt, bzw. die Hosts-Dateien auf deinen Clients, so konfigurieren, dass er die interne IP-Adresse deines Servers rausrückt, und brauchst dann nur einen virtuellen Host für dyndns.org.

    Wie gesagt, Apache ist für die externe Domain konfiguriert. Jetzt funktikioniert einiges nicht: Virtuelle Server auf DNS Basis funktionieren intern gar nicht, intern muss ich nach jeder URL, die auf ein Verzeichnis zeigt, ein "/" anhängen, damit es funktioniert.

    Dann ist irgendwas wohl nicht richtig konfiguriert.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)