Hallo zusammen, ich habe ein Script was mich noch zum Verzweifeln bringt. Wenn ich die 2te Regel deaktiviere kann ich mit dem Client 1.2.3.4 sauber in das Internet Routen. Ist die 2te Regel aber aktiviert geht es nicht mehr. Warum? Eigendlich müsste er doch schon bei der ersten Regel auf ACCEPT springen, oder nicht? Es geht mir eigendlich nur darum, das nur ein Client in das Netz geroutet werden soll, alle anderen nicht. Schönen Gruß Stefan #Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32 #Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1 -- ------------------------------------------------------------------- - Stefan Eggert (stefan.eggert@exel.com) - - General Administrator IT Responsible for Germany and Czech - - - - Exel (Meinerzhagen) GmbH http://www.exel.com - -------------------------------------------------------------------
Stefan Eggert schrieb:
Hallo zusammen,
ich habe ein Script was mich noch zum Verzweifeln bringt. Wenn ich die 2te Regel deaktiviere kann ich mit dem Client 1.2.3.4 sauber in das Internet Routen. Ist die 2te Regel aber aktiviert geht es nicht mehr. Warum? Eigendlich müsste er doch schon bei der ersten Regel auf ACCEPT springen, oder nicht? Es geht mir eigendlich nur darum, das nur ein Client in das Netz geroutet werden soll, alle anderen nicht.
Schönen Gruß Stefan
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
Hi, ich würde dir folgende Regeln vorschlagen: iptables -P FORWARD DROP - Hirdurch werden alle nicht zutreffenden Pakete per default gedropt iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32 - Nur diese IP wird weitergeleitet mfg Michael
Michael Kuznik schrieb:
Stefan Eggert schrieb:
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
iptables -P FORWARD DROP - Hirdurch werden alle nicht zutreffenden Pakete per default gedropt iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32 - Nur diese IP wird weitergeleitet
Noch ein kleiner Nachtrag: iptables -A FORWARD -i eth1 -d 1.2.3.4/32 -j ACCEPT Somit wird das weiterleiten in beiden Richtungen erlaubt. Deswegen sollte es bei deinen Regeln auch nicht gehen. mfg Michael
Michael Kuznik am Freitag, 26. September 2003 08:40:
Michael Kuznik schrieb:
Stefan Eggert schrieb:
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
iptables -P FORWARD DROP - Hirdurch werden alle nicht zutreffenden Pakete per default gedropt iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32 - Nur diese IP wird weitergeleitet
Noch ein kleiner Nachtrag: iptables -A FORWARD -o eth1 -d 1.2.3.4/32 -j ACCEPT ^^^
Ich hab das mal auf "-o" geändert ;-) Oder "-i <das andere NIC>", das ginge wohl auch. -- Gruß MaxX 8-)
Michael Kuznik schrieb:
Stefan Eggert schrieb:
Hallo zusammen,
ich habe ein Script was mich noch zum Verzweifeln bringt. Wenn ich die 2te Regel deaktiviere kann ich mit dem Client 1.2.3.4 sauber in das Internet Routen. Ist die 2te Regel aber aktiviert geht es nicht mehr. Warum? Eigendlich müsste er doch schon bei der ersten Regel auf ACCEPT springen, oder nicht? Es geht mir eigendlich nur darum, das nur ein Client in das Netz geroutet werden soll, alle anderen nicht.
Schönen Gruß Stefan
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
Hi,
ich würde dir folgende Regeln vorschlagen:
iptables -P FORWARD DROP - Hirdurch werden alle nicht zutreffenden Pakete per default gedropt iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32 - Nur diese IP wird weitergeleitet
Hallo Michael, das schöne ist, die Policy ist ja auch auf Drop. Deswegen verstehe ich ja nicht warum ohne der 2ten Zeile geroutet wird, mit der 2ten nicht. Ich habe mir die Regelkette angeschaut aber auch dort nix auffallendes gemerkt. Stefan -- ------------------------------------------------------------------- - Stefan Eggert (stefan.eggert@exel.com) - - General Administrator IT Responsible for Germany and Czech - - - - Exel (Meinerzhagen) GmbH http://www.exel.com - -------------------------------------------------------------------
Stefan Eggert am Freitag, 26. September 2003 10:32:
Hallo zusammen,
ich habe ein Script was mich noch zum Verzweifeln bringt. Wenn ich die 2te Regel deaktiviere kann ich mit dem Client 1.2.3.4 sauber in das Internet Routen. Ist die 2te Regel aber aktiviert geht es nicht mehr. Warum? Eigendlich müsste er doch schon bei der ersten Regel auf ACCEPT springen, oder nicht? Es geht mir eigendlich nur darum, das nur ein Client in das Netz geroutet werden soll, alle anderen nicht.
Schönen Gruß Stefan
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
Diese Regel erlaubt den Datenverkehr _von_ 1.2.3.4 über eth1 an eine andere Netwerkschnittstelle.
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
Diese Regel unterbindet jegliches Weiterleiten von einer Netzwerkschnittstelle an eine andere. Was passiert? 1.2.3.4 sendet ein Paket an <somehost>, es wird auch sauber forwardet (Regel 1 greift ja - schau nach, z.B. mit iptraf). <somehost> schickt Antwort zurück an 1.2.3.4, und was passiert mit diesem Paket? Regel 1 trifft ja nicht zu. ... Wichtig: FORWARD braucht immer zwei Regeln, und zwar in jede Richtung eine (außer man erlaubt es generell und für alles: $IPT -A FORWARD -j ACCEPT). Hier Regel 1a: iptables -A FORWARD -j ACCEPT -o eth1 -d 1.2.3.4/32 Diese kann man ggf. noch mit Statuskontrollen weiter einschränken (ESTABLISHED, RELATED), damit wäre kein Verbindungsneuaufbau von der anderen Seite möglich. -- Gruß MaxX 8-)
Matthias Houdek schrieb:
Stefan Eggert am Freitag, 26. September 2003 10:32:
Hallo zusammen,
ich habe ein Script was mich noch zum Verzweifeln bringt. Wenn ich die 2te Regel deaktiviere kann ich mit dem Client 1.2.3.4 sauber in das Internet Routen. Ist die 2te Regel aber aktiviert geht es nicht mehr. Warum? Eigendlich müsste er doch schon bei der ersten Regel auf ACCEPT springen, oder nicht? Es geht mir eigendlich nur darum, das nur ein Client in das Netz geroutet werden soll, alle anderen nicht.
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
Diese Regel erlaubt den Datenverkehr _von_ 1.2.3.4 über eth1 an eine andere Netwerkschnittstelle.
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
Diese Regel unterbindet jegliches Weiterleiten von einer Netzwerkschnittstelle an eine andere.
Was passiert?
1.2.3.4 sendet ein Paket an <somehost>, es wird auch sauber forwardet (Regel 1 greift ja - schau nach, z.B. mit iptraf). <somehost> schickt Antwort zurück an 1.2.3.4, und was passiert mit diesem Paket? Regel 1 trifft ja nicht zu. ...
Wichtig: FORWARD braucht immer zwei Regeln, und zwar in jede Richtung eine (außer man erlaubt es generell und für alles: $IPT -A FORWARD -j ACCEPT).
Hier Regel 1a: iptables -A FORWARD -j ACCEPT -o eth1 -d 1.2.3.4/32
Diese kann man ggf. noch mit Statuskontrollen weiter einschränken (ESTABLISHED, RELATED), damit wäre kein Verbindungsneuaufbau von der anderen Seite möglich.
So, Problem gelöst. Die Firewall kann auch nicht wissen, das vom Ping noch etwas zurückkommt. Hab die "state" vergessen einzutragen :o), jetzt gehts. Trotzdem nochmal allen vielen Dank fürs Brainstorming *lach* Zweifelte schon an mir selbst... -- ------------------------------------------------------------------- - Stefan Eggert (stefan.eggert@exel.com) - - General Administrator IT Responsible for Germany and Czech - - - - Exel (Meinerzhagen) GmbH http://www.exel.com - -------------------------------------------------------------------
Stefan Eggert schrieb:
#Routing IN <---> EX erlauben iptables -A FORWARD -j ACCEPT -i eth1 -s 1.2.3.4/32
#Routing IN <---> EX unterbinden iptables -A FORWARD -j DROP -i eth1
*lol* Vergiss alles was ich dir geschrieben habe, irgendwie bin ich voll durch'n Wind. So sollte es gehen: dev_int="eth1" dev_ext="ppp0" iptables -P FORWARD DROP iptables -A FORWARD -o $dev_ext -i $dev_int -s 1.2.3.4/32 -j ACCEPT - Alles vom Internet wird an 1.2.3.4 weitergeleitet iptables -A FORWARD -o $dev_int -i $dev_ext -d 1.2.3.4/32 -j ACCEPT - Alles ins Internet wird von 1.2.3.4 weitergeleitet mfg Michael
participants (3)
-
Matthias Houdek
-
Michael Kuznik
-
Stefan Eggert