Hi, Hans-Werner Hilse wrote:
Ich habe jetzt FORWARD und INPUT zurückgesetzt:[...] Danach habe ich mir beide ausgeben lassen:[...]
Da ich per SSH auf dem Server arbeite zeigt nun INPUT einen Traffic an aber FORWARD nicht.
Naja, dann hast du auch keine Routing-Situation: Du machst SSH nur im lokalen Netz und vom Server eine neue Verbindung nach außen. Da ist "FORWARD" nicht im Spiel, das wird nur bei Sprüngen von einem Interface zum anderen benutzt - also, wenn ein Paket durchgereicht wird.
ok, stimmt:-)
Mit "FORWARD" bist du also richtig. Dort schlagen sowohl ein- wie ausgehende Pakete auf, die geroutet werden. Nach der Tabelle, die du schon in der Mail hattest, wird da aber eh erstmal interface-abhängig auf nochmal andere Tabellen weitergeleitet.
Schau dir mal $ iptables -vnL an, dort wohl am ehesten die forward_*-Tabellen. Hab ich getan. Es gibt verschiedene Regeln für die Portforwardings (da könnte ich ja auch noch den Traffic an den verschiedenen Ports messen:-P).
aber es gibt bei jeder Tabelle folgendes: 0 0 ACCEPT all -- * eth0 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED 0 0 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED Also messe ich nun bei jeder Tabelle diese zwei Regeln mit meinem Script. Ich mache das per awk, das ist aber nicht sehr variabel, da ich bei einem neuen PF mein Script ändern muss.... Gibt es einen Befehl um mir nur gerade diese zwei Regeln anzeigen zu lassen? Folgender Befehl ist wohl nicht ganz das Gelbe vom Ei....? $ iptables -vnxL forward_int | grep ACCEPT | grep all | awk '{print $2}' && iptables -vnxL forward_ext | grep ACCEPT | grep all | awk '{print $2}' && iptables -vnxL forward_dmz | grep ACCEPT | grep all | awk '{print $2}' Grüsse Raffael --------------------------------------------------- #!/bin/sh ADMINEMAIL=raffael.schmid@yup.ch TRAFFICMAX=50000000000000 INPUT=(`iptables -vnxL forward_ext | awk 'FNR==8 { print $2 }'` `iptables -vnxL forward_ext | awk 'FNR==9 { print $2 }'` `iptables -vnxL forward _dmz | awk 'FNR==7 { print $2 }'` `iptables -vnxL forward_dmz | awk 'FNR==8 { print $2 }'` `iptables -vnxL forward_int | awk 'FNR==7 { print $2 }'` `iptables -vnxL forward_int | awk 'FNR==8 { print $2 }'`) BYTECOUNT=$((${INPUT[0]}+${INPUT[1]}+${INPUT[2]}+${INPUT[3]}+${INPUT[4]}+${INPUT[5]})) iptables -Z forward_ext iptables -Z forward_int iptables -Z forward_dmz echo "Total:" $((BYTECOUNT/1024/1024)) "MByte/s" if [ $BYTECOUNT -ge $TRAFFICMAX ] then `whereis mail | cut -d " " -f2` $ADMINEMAIL -s "Traffic Warning!" << EOT Achtung! Der aktuelle Datendurchsatz von heute betraegt $BYTECOUNT Bytes ($(($BYTECOUNT/1024)) KByte)! Damit wurde die erste Warnstufe von $TRAFFICMAX Bytes erreicht! EOT fi exit