ip_conntrack

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

ip_conntrack

Beitrag von audioslave2000 » 14.07.2006 15:54:22

Hallo

ich habe ein Problem mit der u.g. Regel.
Sobald ich Protokoll und dport spezifiziere keine Verbindung nach außen mehr möglich. Ohne Prot und dport funktioniert es

Funktioniert

$IPTABLES -A FORWARD -s $INTLAN -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT


Funktioniert nicht

$IPTABLES -A FORWARD -s $INTLAN -p tcp --dport80 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT


Was mache ich falsch

Gruß

Michael

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 14.07.2006 18:27:58

vielleicht auf DNS vergessen ?
Wenn du das ganze Script (auf NoPaste) posten würdest, könnten wir (vielleicht) etwas genaueres sagen :wink:

Gruß
gms

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 14.07.2006 22:28:47

Falls nicht vorhanden: bau in dein Skript LOG-Regeln ein. Dann siehst du, was verworfen wirst und hast genauere Anhaltspunkte, wo deine Regeln eventuell noch nicht 100% passen.

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Keine Verbindung nach außen möglich

Beitrag von audioslave2000 » 15.07.2006 13:48:47

Hi,

ich habe mal das Script gepostet.
Ist noch im Aufbau, aber gerade an dieser Stelle komme ich jetzt nicht weiter und weis nicht mehr warum


http://nopaste.debianforum.de/3691

danke für eure Hilfe

Gruß

Michael

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Beitrag von audioslave2000 » 15.07.2006 15:00:42

Mir ist ein Fehler unterlaufen.

Dieses gepostete Script funktioniert natürlich, aber in der Zeile 35 steht normalerweise

$IPTABLES -A FORWARD -p tcp --dport 80 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED

und das funktioniert nicht

Also sobald ich Protokoll und dport angebe keine Verbindung nach außen

Hat das etwas mit NAT zu tun ?

Gruß
Michael

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 15.07.2006 16:42:31

audioslave2000 hat geschrieben:Also sobald ich Protokoll und dport angebe keine Verbindung nach außen

Hat das etwas mit NAT zu tun ?
Mit NAT bzw MASQUERADE hat das nichts zu tun, das verwendest du ja anscheinend in beiden Fällen.

Wie ich schon in meinem ersten Posting vermutet habe, wird bei dir DNS/BIND geblockt.

Ersetze einmal die Zeilen 35-36 mit folgenden Regeln (diese habe ich jetzt allerdings nicht getestet)

Code: Alles auswählen

# allow established, related
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# allow domain
$IPTABLES -A FORWARD -s $INTLAN -p udp --dport 53 -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -s $INTLAN -p tcp --dport 53 -m state --state NEW -j ACCEPT

# allow www
$IPTABLES -A FORWARD -s $INTLAN -p tcp --dport80 -m state --state NEW -j ACCEPT

Gruß
gms

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Beitrag von audioslave2000 » 15.07.2006 17:39:44

Hallo gms,

hat funktioniert...super danke

Jetzt erkläre mir mal bitte das Ganze

warum wurde dns/bind geblockt und mit

$IPTABLES -A FORWARD -s $INTLAN -m state --state NEW -j ACCEPT
......

funktioniert es, obwohl ich den Zugriff auf einen DNS Server nicht explizit angegeben hab

Gruß

Michael

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 15.07.2006 17:59:16

Weil du die Default-Policy auf DROP gestellt hast wurde DNS geblockt, da keine passende Regel dazu gefunden wurde. Das state-Modul erkennt aber mit der --state NEW Regel ausgehende Verbindungen und laesst sie durch. Deshalb gehts damit.
Btw, isses gewollt, dass nun alle Anfragen aus $INTLAN nach draussen duerfen?

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Beitrag von audioslave2000 » 15.07.2006 18:05:56

ja, eigentlich schon.
warum fragst du ?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 15.07.2006 18:12:37

Nur so am Rande. Bei mir hab ich das feiner geregelt, dass nur bestimmte Ports nach draussen duerfen. Aber das ist wohl eher Geschmackssache ;)

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Beitrag von audioslave2000 » 15.07.2006 18:23:30

$INTLAN besagt doch nur, dass alle im privaten Bereich von 192.168.1.2 - 254 ins Web dürfen.

Aber noch eine Frage zu dem anderen Problem. Tut mir leid, aber ich habe es noch nicht ganz geschnallt

Ich habe Standardmäßig alles gedroppt

aber mit

$IPTABLES -A FORWARD -s $INTLAN -m state --state NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT

funktioniert ja der Zugriff
Ich glaube ich steh auf dem Schlauch :-(

Achso und noch eine Frage zu dem State Modul

Ist $IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT

für alle Ketten und Regeln oder muss/sollte ich explizit für alles was ich machen möchte diese Regel setzen

Also z.B wenn ich zugriff auf maildienste zulasse - state modul
wenn ich zugriff auf ftp zulasse - state modul

oder reicht es aus einmal die Regel, so wie es gms geschrieben hat zu setzen

danke für deine Hilfe

Gruß
Michael

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 15.07.2006 19:21:05

Mit diesem Regelsatz hast du die dns/bind und die www Verbindungen durchgelassen

Code: Alles auswählen

$IPTABLES -A FORWARD -s $INTLAN -m state --state NEW -j ACCET 
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT
Die Default Policy DROP hat also weder für dns/bind noch für www gegriffen

Mit diesem Regelsatz hast du nur die www Verbindungen durchgelassen

Code: Alles auswählen

$IPTABLES -A FORWARD -s $INTLAN -p tcp --dport80 -m state --state NEW -j ACCEPT 
$IPTABLES -A FORWARD -m state --state ESTABLISHED -j ACCEPT
Die dns/bind Anfragen sind daher in der Default Policy DROP hängen geblieben

Deine zweite Frage zum state Modul habe ich nicht ganz verstanden. Werde aber versuchen sie trotzdem zu erklären :)

Wenn du meinen Regelsatz betrachtest, habe ich ganz am Anfang ein

Code: Alles auswählen

# allow established, related 
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Damit werden ALLE Pakete erlaubt, die zu BESTEHENDEN Verbindungen gehören, oder in RELATION zu ihnen stehen. Diese Regel ist daher unabhängig von dem Dienst (www,ftp...)
Ich habe diese Regel übrigens ganz bewußt an erste Stelle gesetzt, damit möglichst viele Pakete möglichst früh die Kette verlassen und diese Menge an Paketen nicht unnötigen weiteren Tests unterworfen wird.

Gruß
gms

audioslave2000
Beiträge: 44
Registriert: 21.05.2006 11:45:36

Beitrag von audioslave2000 » 15.07.2006 19:41:36

OK jetzt ist es verstanden :-)


Danke

Antworten