Re: iptables - Port Forwarding
Hallo Stefan,
Am 26.02.2010 00:04, schrieb Stefan Bauer:
> Am 25.02.2010 21:51, Mike Dietrich schrieb:
>> Hallo,
>>
>> hab schon einiges gelesen, aber so richtig komme ich nicht dahinter.
>> Ich möchte eine Verbindung von UltraVNC SC aus dem Internet auf einen
>> Client im LAN weiterleiten.
>>
>> Derzeit mache ich nur NAT und blocke NEW und INVALID Pakete:
>>
>> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
>
> Ausgehend maskierst du hiermit die Pakete (NAT).
>
>> iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
>
> Du dropst Pakete aus dem Internet die den Router direkt passieren,
> welche neu und invalid sind. Wenn du auf dem Router (nicht dahiner!)
> nichts anbietest, kannst du einfach
Ab und zu mach ich ein Loch in die Firewall für SSH und HTTP.
> iptables -P INPUT DROP
>
> setzen.
>
> (mit DROP verzögerst du etwas die Verbindung, die Gegenstelle wird
> weitere Versuche unternehmen. Ein REJECT beendet die Verbindung sofort)
>
>> iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP
>
> Tippfehler 0 zuviel. Besser ist hier, die Policy für FORWARD auch
> auf DROP zu setzen mit ... und dann nur die eine Forward regel
> greifen zu lassen.
Ja, ist hier nur (Mail)Tippfehler.
> iptables -P FORWARD DROP
Die Regeln hab ich aus einem Netfilter HOWTO.
http://netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO.html
>> Die Regeln fürs Port Forward hab ich so:
>>
>> iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 12345 -j DNAT --to
>> 192.168.1.28
>
> Du hast ein Paket von externe-IP, welches den Router an Port 12345
> erreicht. Jetzt leitest du weiter mit DNAT und der Router nattet -
> das Paket sieht also nun so aus:
>
> Quelle: externer Host Ziel: 192.168.1.28
>
> Jetzt rate mal, wo 192.168.1.28 die Antwort-Pakete hinschickt? Die
> gehen an den externen Host, der sich wundert, denn er hat eigentlich
> eine Verbindung mit dem Router angefragt und verwirft sie.
>
> Hier musst du zusätzlich definieren, dass die Antwortpakete an den
> Router gehen, welcher sie weiterschickt und nicht an den externen Host.
Tut das für VNC wirklich Not?
> Wichtig, ip_forward aktivieren!
Ist aktiviert.
> iptables -A POSTROUTING -t nat -p tcp -d 192.168.1.128 --dport 12345
> -j SNAT --to-source ROUTER-IP
>
>> iptables -A FORWARD -i ppp0 -o eth0 -p --dport 12345 -d 192.168.1.28 -j
>> ACCEPT
>
> Hier fehlt -p tcp also korrekt:
>
> iptables -A FORWARD -i ppp0 -o eth0 -p tcp --dport 12345 -d
> 192.168.1.28 -j ACCEPT
Auch hier nur (Mail)Tippfehler>
Kann ich prüfen was wo nicht ankommt, oder weggeht. Bei einem Portscan
von außen ist der Port 12345 immer gefiltert, also zu.
> Stefan
der Mike
Reply to: