iptables - NAT

Antworten
Nachricht
Autor
raphi

iptables - NAT

#1 Beitrag von raphi » 01. Nov 2006 10:51

Hi @ all,

ich bin wieder mal am ende meines Wissens angelangt und bräuchte eure Hilfe.

Ich habe einen Linux PC als Router und VPN Server.

Damit werden alle ausgehenden Verbindungen über DSL weitergeleitet

Code: Alles auswählen

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null
Dies leitet aus dem Internet kommende HTTP Anfragen an einen lokalen Webserver weiter

Code: Alles auswählen

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.x
iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.1.x --dport 80 -j ACCEPT
Die HTTP Anfrage vom Internet auf meine dynamische Adresse funktioniert auch.

ABER wenn ich von meinen lokalen Clients auf die selbe dynamische Adresse zugreifen will, findet keine Weiterleitung statt und die Anfrage geht auf den Router selbst.

Ich nutzte derzeit keinen Proxy - alles geht über das Masquerading online.

Ich bräuchte also noch eine Weiterleitung, der für meine aktuelle dynamische IP ein NAT-Routing auf den lokalen Webserver durchführt.

Vielen Dank für eure mühe
MfG raphi

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 01. Nov 2006 14:30

Deine Portforwarding-Regeln sind an das in-Interface ppp0 gebunden. Deshalb werden sie für auf ethX eintreffende Pakete ignoriert.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

raphi

#3 Beitrag von raphi » 01. Nov 2006 14:35

Erst mal danke für deine Antwort Janka

Aber was kann ich dagegen tun?

das "-i ppp0" entfernen? dann geht ja alles an port 80 an die 192.168.1.x

ich brauche da noch ne bedingung, dass nur meine derzeitige internet adresse 217.237.x.x an die o.g. adresse geht

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 01. Nov 2006 19:20

Ach, du willst hoch zum Provider, danach sofort wieder runter zu dir selbst? Normalerweise geht das nicht: Der Routing-Code weiß ja, dass eine bestimmte IP-Adresse zum aktuellen Host gehört. Solche Pakete werden gar nicht geroutet. Vermutlich gäbe eine solche Schleife auch bei deinem Provider Probleme.

Evtl. kann man da was tricksen, ich wüsste jetzt aber nicht genau, wie.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

raphi

#5 Beitrag von raphi » 01. Nov 2006 19:38

Ich glaub nicht, dass du mich richtig verstanden hast.

Ich möchte, dass von Drausen (Internet) jeder auf den Webserver weitergeleitet wird, wenn er auf das Port 80 zugreift.

Wenn ich von Innen (lokales Netz) nun auf meine Webseite www.schlagmichtot.dyndns.org (dynamische adresse > IP = dynamische IP von meinem Provider) zugreifen will, dann wird ja vom DNS die dynamische Adresse und nicht meine lokale adresse (192.168.x.x) aufgelöst.

Jetzt will ich dem Router Server sagen, dass er bitte den Zugriff vom lokalen Netz auf www.schlagmichtot.dyndns.org (mit IP 217.237.x.x) auf den Webserver (adresse 192.168.x.x ) umbiegt

Nasenmann

#6 Beitrag von Nasenmann » 14. Nov 2006 10:21

Die einfachste Variante wäre doch, wenn du deinen lokalen DNS Server die Addresse auflösen lassen würdest. Einfacher wäre natürlich auch ein Eintrag in ders "hosts"...

Antworten