Hallo Linux-Freunde, ich habe jetzt die Lösung für mein Problem gefunden. Die besagte Regel allein funktioniert nur, wenn die Policy der FORWARD-Chain auf ACCEPTed gestellt ist. # iptables -t filter -A FORWARD -i eth0 -o ppp0 -j TCPMSS --clamp-mss-to-pmtu -p tcp --tcp-flags SYN,RST SYN Sofern die Policy z.B. auf DROPped steht (iptables -P FORWARD DROP), ist diese Regel völlig wirkungslos. Zuerst würde der Verbindungsaufbau manipuliert, indem die für die Verbindung vereinbarte MTU auf 1492 gesetzt wird. Diese Regel akzeptiert aber noch lange nicht das veränderte Paket, und würde am Ende der Chain verworfen werden. Um das zu verhindern, ist eine zusätzliche Regel notwendig: # iptables -t filter -A FORWARD -i eth0 -o ppp0 -j ACCEPT Diese Regel muß aus besagtem Grund unbedingt hinter der TCPMSS-Regel folgen, niemals davor. Was mich wundert: Warum hatte noch niemand diese Problem gehabt? Gruß - Robert Torsten Foertsch schrieb:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Monday 30 June 2003 21:31, Robert Gött wrote:
Ich verstehe das nicht. Warum sind die Anzahl der Packete, die die LOG- Regel passiert, genauso hoch wie die der TCPMSS-Regel? Nach Deinem Änderungsvorschlag habe ich folgende Ergebnisse:
FORWARD-Regeln # iptables -L -vn ... Chain FORWARD (policy DROP 32 packets, 1408 bytes) pkts bytes target prot opt in out source destination 32 1408 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU 0 0 ACCEPT all -- ppp0 eth0 0.0.0.0/0 192.168.175.0/24 state RELATED,ESTABLISHED
Ich denke, die Regel in der Zeile über dieser greift nicht. Ich weiss nicht genau, wann die Ziel-Adress-Umsetzung gemacht wird, aber probier mal 192.168.175.0/24 wegzulassen.
Ich schicke Dir mal mein firewall-Script mit. Du kannst es mit
fake=echo ./firewall.sh
aufrufen. Dann schreibt es vor jeden iptables Befehl ein echo.
Sinn des Ganzen ist ungefähr folgender. Ich habe eine Reihe interner Interfaces (vertrauenswürdig) und eine Reihe externer. Als erstes wird mit den built-in chains INPUT, OUTPUT und FORWARD festgestellt, woher ein Paket kommt. Dann wird es entweder an das Tripel (input_int, output_int, forward_int) oder (input_ext, output_ext, forward_ext), je nachdem worum es sich handelt, weitergeleitet.
Torsten -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE/AUACwicyCTir8T4RArhiAJ99rTgDiW5swnJ+Bo1FJyPsSAcu5wCgi0JJ 6P7unxPQaAiOdjl+nYyy2cc= =ZB/J -----END PGP SIGNATURE-----
--------------------------------------------------------------------------- Name: firewall.sh firewall.sh Type: Bourne Shell Program (application/x-sh) Encoding: 7bit
--------------------------------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-isdn-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-isdn-help@suse.com