geändertes Verhalten von iptables zwischen 2.6.8-2 und 2.6.13-4
Hi, da ich gerade krank zuhause liege habe ich die Zeit genutzt um auf meinem Server einen neuen Kernel (2.6.13.4) zu backen da ich später ipp2p und trafic shaping ausprobieren wollte. Seit dem läuft aber irgend etwas an meiner firewall nicht mehr so wie es sollte. Der server, auf dem die firewall läuft, hängt an einem DSL/WLAN-Box per Kabel und ist default Gateway und DNS-Server für alle Rechner im Heim-Netz. Für Rechner die über das WLAN mit der DSL/WLAN-Box verbunden sind gehen daher alle Pakete ins Internet über den Server (default GW) und alle Pakete aus dem Internet direkt an den Rechner da die DSL-Box als Switch die Pakete ja direkt an das WLan schickt. Die firewall regel sieht so aus: iptables -L FORWARD -v: [...] 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 0 0 ACCEPT all -- eth0 eth1 anywhere anywhere state NEW,RELATED,ESTABLISHED 0 0 ACCEPT all -- eth0 wlan0 anywhere anywhere state NEW,RELATED,ESTABLISHED 0 0 ACCEPT all -- wlan0 eth1 anywhere anywhere state NEW,RELATED,ESTABLISHED 2 112 ACCEPT all -- eth1 eth1 anywhere anywhere state NEW,RELATED,ESTABLISHED 10 3394 LOG all -- any any anywhere anywhere LOG level warning prefix `900_LOG_AND_DROP_FORWARD | ` Mit dem alten Kernel (2.6.8-2-686 Debian Sarge) funktionierte das Forwarding für das WLAN (eth1->eth1). Mit dem neuen Kernel nicht: /etc/var/log/messages: [...] Oct 21 16:30:32 localhost kernel: 900_LOG_AND_DROP_FORWARD | IN=eth1 OUT=eth1 SRC=192.168.20.101 DST=66.96.26.214 LEN=64 TOS=0x00 PREC=0x00 TTL=63 ID=49028 DF PROTO=TCP SPT=38777 DPT=80 WINDOW=1460 RES=0x00 ACK URGP=0 Oct 21 16:30:37 localhost kernel: 900_LOG_AND_DROP_FORWARD | IN=eth1 OUT=eth1 SRC=192.168.20.101 DST=66.96.26.214 LEN=527 TOS=0x00 PREC=0x00 TTL=63 ID=49030 DF PROTO=TCP SPT=38777 DPT=80 WINDOW=1460 RES=0x00 ACK PSH FIN URGP=0 [...] Das der Server nur einen Teil des TCP Handshakes sieht (SYN,...,ACK) hat den alten Kernel nicht daran gehindert die Verbindung als solche zu erkennen und durchzulassen. Der neue Kernel erkennt anscheinend ohne das SYN-ACK Paket das ACK meines Browsers nicht mehr als Teil der Verbindung. Ich habe jetzt die Regel von iptables -A FORWARD -o $DSL -i $DSL -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT auf iptables -A FORWARD -o $DSL -i $DSL -j ACCEPT gesetzt aber mich würde ja schon interessieren welches Verhalten von iptables denn jetzt richtig ist. Eine andere Möglichkeit währe die DSL-Box dazu bekomme alle Pakete über den Server zu schicken. ARP-Spoofing ist mir hier als einzigstes eingefallen. Andreas -- Dipl.-Ing. Andreas Koch Hydrology and Water Resources Management Fachhochschule Lippe und Hoexter University of Applied Sciences An der Wilhelmshoehe 44, 37671 Hoexter, Germany Phone : (+49) 5271 / 687 - 177 Fax : (+49) 5271 / 687 - 245 e-mail : Andreas.Koch@fh-luh.de
Teilnehmer (1)
-
Andreas Koch