[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: