3つのイーサネットインターフェイスがある場合は、次のことをしたいと思います。
eth0 -> WAN
eth1 -> EAPoL authenticator
eth2 -> IP Nat to private network
この場合、ebtablesはEAPoL認証者に接続するeth1を介してWANと0x888E(EAPoL)タイプのイーサネットフレームをフィルタリングして転送したいと思います。残りのトラフィックはIP NATを介してeth2に移動したいと思います。
私はここでBrutinについて読んだ。
http://ebtables.netfilter.org/examples/basic.html#ex_brouter
上記の方法を使用してレイヤ2フィルタリングを実行できる方法は不明です。
代わりに、これまで試したことは、eth0とeth1を使用してブリッジを作成し、EAPoLトラフィックのみがeth1に到達するようにebtablesフィルタルールを作成することです。
ebtables -t filter -A FORWARD -i eth0 -p 0x888e -j ACCEPT
ebtables -t filter -A FORWARD -i eth0 -j DROP
ebtables -t filter -A FORWARD -o eth0 -p 0x888e -j ACCEPT
ebtables -t filter -A FORWARD -o eth0 -j DROP
次に、eth0とeth2の間でIP NATを実行します。
iptables -t nat -A POSTROUTING -o eth0-j MASQUERADE
iptables -A FORWARD -i eth2 -j ACCEPT
残念ながら、2つを同時に動作させることはできず、1つだけを動作させることはできません。
どんなアイデアがありますか?どんなアイデアやヒントにも感謝します。