iptables - NAT

Post Reply
Message
Author
raphi

iptables - NAT

#1 Post by raphi »

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: Select all

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: Select all

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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

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 Post by raphi »

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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

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 Post by raphi »

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 Post by Nasenmann »

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"...

Post Reply