Also, hat etwas gedauert, aber: "Deine" Regeln führen auch bei mir zu Fehlermeldungen ("kernel msg: ebtables bug: please report to author: match->check failed").
Da scheint es tatsächlich so, dass ebtables von "neueren" Kernels ausgeht und deshalb bei dem recht alten Kernel der 7170 auf einen Fehler läuft. Bei mir läuft es auf der 7170 mit einem zusätzlichen "-DEBT_MIN_ALIGN=4" in den CFLAGS (nur "abgeschaut"). Bei der 7390 haben die "so" funktioniert? Eventuell muss man das auch bei anderen Kernel-Versionen noch definieren, aber für die 7170 sollte es so erstmal klappen..
Versuche doch mal dieses ebtables.mk, damit gehen auch die etwas "komplexeren" Regeln
Code:
root@Speedport:/var/mod/root# insmod /lib/modules/2.6.*/kernel/net/bridge/netfilter/ebtables.ko
root@Speedport:/var/mod/root# for x in $(ls /lib/modules/2.6.*/kernel/net/bridge/netfilter/ebt*.ko | grep -v ebtables.ko); do insmod $x; done
root@Speedport:/var/mod/root#
root@Speedport:/var/mod/root# lsmod
Module Size Used by Tainted: P
ebtable_nat 864 0
ebtable_broute 672 0
ebt_vlan 1712 0
ebt_ulog 4048 0
ebt_stp 2240 0
ebt_snat 896 0
ebt_redirect 1056 0
ebt_pkttype 480 0
ebt_mark_m 576 0
ebt_mark 544 0
ebt_log 2176 0
ebt_limit 928 0
ebt_dnat 960 0
ebt_arpreply 1088 0
ebt_arp 1664 0
ebt_among 2176 0
ebt_802_3 736 0
ebtable_filter 832 1
ebt_ip 1376 4
ebtables 19904 19 ebtable_nat,ebtable_broute,ebt_vlan,ebt_ulog,ebt_stp,ebt_snat,ebt_redirect,ebt_pkttype,ebt_mark_m,ebt_mark,ebt_log,ebt_limit,ebt_dnat,ebt_arpreply,ebt_arp,ebt_among,ebt_802_3,ebtable_filter,ebt_ip
userman_mod 30544 2
tiap 385328 0
kdsldmod 769712 7 userman_mod
capi_codec 240768 0
isdn_fbox_fon4 867888 7 capi_codec
ubik2 69248 8 capi_codec,isdn_fbox_fon4
tiatm 91440 1 ubik2
jffs2 94752 1
Piglet 5184 0
root@Speedport:/var/mod/root#
root@Speedport:/var/mod/root# ebtables -L
Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
root@Speedport:/var/mod/root#
root@Speedport:/var/mod/root# ebtables -A INPUT --in-interface tap0 --protocol 0x0800 --ip-protocol udp --ip-source-port 67:68 -j DROP
root@Speedport:/var/mod/root# ebtables -A INPUT --in-interface tap0 --protocol 0x0800 --ip-protocol udp --ip-destination-port 67:68 -j DROP
root@Speedport:/var/mod/root# ebtables -A FORWARD --in-interface tap0 --protocol 0x0800 --ip-protocol udp --ip-destination-port 67:68 -j DROP
root@Speedport:/var/mod/root# ebtables -A FORWARD --in-interface tap0 --protocol 0x0800 --ip-protocol udp --ip-source-port 67:68 -j DROP
root@Speedport:/var/mod/root#
root@Speedport:/var/mod/root# ebtables -L
Bridge table: filter
Bridge chain: INPUT, entries: 2, policy: ACCEPT
-p 0x800 -i tap0 --ip-proto udp --ip-sport 67:68 -j DROP
-p 0x800 -i tap0 --ip-proto udp --ip-dport 67:68 -j DROP
Bridge chain: FORWARD, entries: 2, policy: ACCEPT
-p 0x800 -i tap0 --ip-proto udp --ip-dport 67:68 -j DROP
-p 0x800 -i tap0 --ip-proto udp --ip-sport 67:68 -j DROP
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
root@Speedport:/var/mod/root#