Проводка моста и iptables

У меня есть Linux 3.14 ПК с тремя eth2 и мост между двумя eth2 ( eth1 и eth2 ).

Мой вопрос

Почему нет трафика, проходящего через правило POSTROUTING? FYI, трафик проходит (переправляется) мост просто отлично. Может ли кто-то быть достаточно любезен, чтобы предоставить мне несколько указателей, чтобы заставить это работать?

 ifconfig eth1 down ifconfig eth2 down ifconfig eth1 up ifconfig eth1 0.0.0.0 ifconfig eth2 up ifconfig eth2 0.0.0.0 brctl addbr sm0 brctl addif sm0 eth1 brctl addif sm0 eth2 ifconfig sm0 up iptables -t mangle -A POSTROUTING -o eth1 -p all -j CLASSIFY --set-class 1:99 iptables -t mangle -A POSTROUTING -o eth2 -p all -j CLASSIFY --set-class 2:99 

правила

 o iptables -t mangle -nvL Chain PREROUTING (policy ACCEPT 38914 packets, 2954K bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 38210 packets, 2791K bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 38072 packets, 2844K bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 38072 packets, 2844K bytes) pkts bytes target prot opt in out source destination 0 0 CLASSIFY all -- * eth1 0.0.0.0/0 0.0.0.0/0 CLASSIFY set 1:99 0 0 CLASSIFY all -- * eth2 0.0.0.0/0 0.0.0.0/0 CLASSIFY set 2:99 

sysctl.conf

 net.ipv4.ip_forward=1 

Установка значений ниже 0 или 1 не влияет на iptables

 net.bridge.bridge-nf-call-arptables=1 net.bridge.bridge-nf-call-ipv6tables=1 net.bridge.bridge-nf-call-ipv4tables=1 

Ваш мост не маршрутизирует трафик, поэтому нет ничего, чтобы пройти через правило POSTROUTING .

Для получения подробной информации см. Документацию netfilter для моста-netfilter и способ изменения этой конфигурации (ядро 3.2.0):

 modprobe bridge # Enable bridge-netfilter echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables