Linuxはebtablesを使用してEAPoLフレームをルーティング、フィルタリング、および転送します。

Linuxはebtablesを使用してEAPoLフレームをルーティング、フィルタリング、および転送します。

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つだけを動作させることはできません。

どんなアイデアがありますか?どんなアイデアやヒントにも感謝します。

関連情報