nftablesを使用してMACでパケットをフィルタリング/削除できますか?

nftablesを使用してMACでパケットをフィルタリング/削除できますか?

2つのシステムがイーサネット経由で接続されており、そのうちの1つにインターネットアクセスを提供するWiFiラジオがあります。

この図では、sys#2にWiFiラジオがあります。

sys#1  <---> Ethernet <---> sys#2 <---> wifi <---> internet

sys#2は、イーサネット(インターフェースeth0)からWi-Fi(インターフェースwlan0)にパケットをルーティングします。 sys#2はAPに接続されており、sys#2自体はAPとして機能しません。私はnftablesまたはiptablesを使用して、sys#1と一致するMACを持たないsys#2でパケットをフィルタリングしてドロップする方法を探しています。私はイーサネットに到着したパケットを破棄することに興味があります。私が保護したいのは、誰かがsys#2に接続してWiFiネットワークにアクセスするのを防ぐことです。

nftablesはこれを行うことができますか?誰かがこの問題を解決するために自分のMACをなりすましていることを知っていますが、これはIPSECまたはVPNを介して接続を保護できるまで一時的なものです。

編集する: 提案されたnftコマンドを実行するとエラーが発生します。

# nft add rule filter input iif eth0 ether saddr != A4:A3:A3:00:00:00 drop
<cmdline>:1:1-68: Error: Could not process rule: No such file or directory
# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
    inet 10.0.1.1  netmask 255.255.255.0  broadcast 10.0.1.255
     ...

答え1

使用NFFTeth0、次のソースアドレス以外のネットワークインターフェイスで受信したすべてのイーサネットフレームを破棄します00:00:5e:00:53:00

nft add rule filter input iif eth0 ether saddr != 00:00:5e:00:53:00 drop

iptables同様のフィルタリングを許可りんご拡大する:

iptables -A INPUT -i eth0 -m mac ! --mac-source 00:00:5e:00:53:00 -j DROP

関連情報