私は小さなUbuntu 12.04ボックスをWi-Fiアクセスポイントとして使用します。ボックスには、次のように互いに接続された2つのインターフェースがあります。
brctl addbr br0
brctl stp br0 off
brctl addif br0 wlan0
brctl addif br0 eth0
すべてがうまくいきます。ただし、送信元と宛先のIPアドレスに基づいてパケットをフィルタリング(および破棄)する必要があります。このページによると:
http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html#section5
ブリッジパケットはIPテーブルチェーンを通過します。しかし、ルールを追加するとうまくいかないようです。たとえば、
iptables -I INPUT -s 192.168.1.23 -d 216.58.216.14 -j REJECT
私はINPUT、OUTPUT、およびFORWARDチェーンでこれを試しました。可能であれば、--in-interfaceと--out-interfaceも試しました。この場合、br0の代わりにブリッジポート(wlan0とeth0)を指定しました。
カーネルは、BRIDGE、NETFILTER、および MATCH_PHYSDEV をモジュールサポートとして有効にします。
このようにiptablesを使用できますか?もっと良い方法がありますか?