![]() |
iptables: nur bestimmte ports routen
hi!
verwende einen linux-rechner als router (SuSE 10) jetzt will ich, dass der linux-router nur http- und ftp-packete weiterleitet (forwarding) habe mal folgendes getan:
Delphi-Quellcode:
Dann will ich dass weiterleiten von paketen auf dem port 80 erlauben, funktioniert aber nicht
// vorhandene tables löschen
iptables -F // alle policies auf DROP setzen iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP // alle verbindungen für das loopback interface erlauben iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
Delphi-Quellcode:
Info:
// vom Internet ins lokale Netz
iptables -A FORWARD -p tcp -i eth0 -o eth1 --dport 80 --sport 80 -d 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // vom lokalen Netz ins Internet iptables -A FORWARD -p tcp -i eth1 -o eth0 --dport 80 --sport 80 -s 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT eth0 (NIC1) --> geht ins Internet eth1 (NIC2) --> geht ins lokale Netz ![]() Warum komme ich nicht ins internet? PS: wenn ich die iptables lösche und alles erlaube, komme ich ohne probleme ins internet |
Re: iptables: nur bestimmte ports routen
Bist Du Dir sicher, dass Dein lokaler Port 80 ist?
|
Re: iptables: nur bestimmte ports routen
die anfrage des browsers wird doch wohl auch auf dem port 80 sein, oder?
|
Re: iptables: nur bestimmte ports routen
Sicher, der Rechner fragt den Zielport 80 an, der Quellport dürfte aber oberhalb von 1024 liegen. Versuch es mal so:
Delphi-Quellcode:
// vom Internet ins lokale Netz
iptables -A FORWARD -p tcp -i eth0 -o eth1 --sport 80 -d 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // vom lokalen Netz ins Internet iptables -A FORWARD -p tcp -i eth1 -o eth0 --dport 80 -s 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT |
Re: iptables: nur bestimmte ports routen
|
Re: iptables: nur bestimmte ports routen
Zur Kontrolle, wenn ich die tables lösche und die FORWARD-Policy auf ACCEPT stelle, komme ich ohne probleme ins internet
![]() |
Re: iptables: nur bestimmte ports routen
Welches Modem verwendest du?
|
Re: iptables: nur bestimmte ports routen
es sind noch ein router (der direkt mit dem Modem verbunden ist) und ein switch zwischen meinem linux-router und dem modem, darum glaube ich, dass das problem nicht beim modem liegt!
|
Re: iptables: nur bestimmte ports routen
Port-Forwarding ist eingeschaltet?
Delphi-Quellcode:
echo "1" > /proc/sys/net/ipv4/ip_forward
|
Re: iptables: nur bestimmte ports routen
Ja hab ich. muss an den iptables-einträgen liegen, denn ...
Zitat:
|
Re: iptables: nur bestimmte ports routen
Hmmm... vielleicht fehlt noch die Adressübersetzung (hab seit 3 Jahren nix mehr mit iptables gemacht, sorry)
Delphi-Quellcode:
iptables -t nat -A POSTROUTING -p tcp --dport 80 -s 172.16.0.0/24 -j SNAT --to $IP_AndererRouter
|
Re: iptables: nur bestimmte ports routen
Danke! habe immer versucht im browser mit
![]() ![]() also muss ich nur noch den port für die dns-anfrage öffnen. das ist der udp port 53, oder? |
Re: iptables: nur bestimmte ports routen
Zitat:
|
Re: iptables: nur bestimmte ports routen
Klappt super!!!
Und jetzt nochmal zusammengefasst: Um nur das Surfen im Internet zu erlauben müsst ihr folgendes tun:
Delphi-Quellcode:
Viel Spaß!!!!
// iptables-chains leeren
iptables -F // chain-policies (--> default-wert) auf DROP setzen (trifft keine bedingung zu, wird das packet verworfen) iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP // den Traffic auf dem TCP-Port 80 (HTTP) erlauben // vom Internet ins lokale Netz iptables -A FORWARD -p tcp -i <wan-interfaces> -o <lan-interfaces> --sport 80 -d 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // vom lokalen Netz ins Internet iptables -A FORWARD -p tcp -i <lan-interfaces> -o <wan-interfaces> --dport 80 -s 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // den Traffic auf dem TCP-Port 443 (HTTPS) erlauben // vom Internet ins lokale Netz iptables -A FORWARD -p tcp -i <wan-interfaces> -o <lan-interfaces> --sport 443 -d 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // vom lokalen Netz ins Internet iptables -A FORWARD -p tcp -i <lan-interfaces> -o <wan-interfaces> --dport 443 -s 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // den Traffic auf dem UDP-Port 53 (DNS) erlauben // vom Internet ins lokale Netz iptables -A FORWARD -p udp -i <wan-interfaces> -o <lan-interfaces> --sport 53 -d 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT // vom lokalen Netz ins Internet iptables -A FORWARD -p udp -i <lan-interfaces> -o <wan-interfaces> --dport 53 -s 172.16.0.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT |
Re: iptables: nur bestimmte ports routen
Bei FTP wird es schon schwieriger (Active,Passive) ;)
Ich hatte mal nach MonMotha gegooglet, aber die Seite ist leider down. Schade, war als Basis ein super Script. |
Re: iptables: nur bestimmte ports routen
Habe jetzt meine Firewall jetzt unter SuSE Linux 10 vollständig konfiguriert, leider ist die konfiguration weg, sobald ich den server neu starte. Warum bleiben die einträge in der iptables nicht gespeichert?
|
Re: iptables: nur bestimmte ports routen
hi!
habe jetzt meinen server neu konfiguriert. habe 2 netzwerkkarten drin: eth1 richtung modem, eth0 in richtung LAN. wenn ich auf meinem suse-server den befehl ifconfig ausführe bekomme ich 3 schnittstellen angezeigt: eth0, eth1 und dsl0. wenn ich jetzt bestimmte ports in richtung internet (externe zone) sperren bzw. öffnen will, muss ich die iptables-chains auf die schnittstelle eth1 oder dsl0 legen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz