
要約:: 私はラズベリーパイでネットワークタップを構築していますが、ステルス橋があります(br0)とスイッチインターフェース(eth0) とワークステーション (eth1)。
これが私が構築している方法です(あらゆる提案を歓迎します):
# Create a bridge with the name br0
ip link add "$BRIDGE_INT" type bridge
# Add the eth0 interface to the bridge
ip link set "$WORKSTATION_INT" master "$BRIDGE_INT"
# Add the eth1 interface to the bridge
ip link set "$SWITCH_INT" master "$BRIDGE_INT"
このプロセスが完了したら、ネットワークケーブルを接続すると、eth0複数のプロトコルで MAC が漏洩しています。
私がテストしたもの:
nft add table inet filter
nft add chain inet filter output { type filter hook output priority 0 \; }
nft add rule inet filter output ether saddr "$SWITCH_MAC" drop
それでも、eth0 DHCP -> ARP -> MDNS でリークが発生します。
そこで、DHCP 静的アドレスを設定することにしました。何度か試した結果、適切な設定が見つかりました (あらゆる提案を歓迎します):
/etc/network/interfaces
auto eth0
iface eth0 inet manual
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.254
/etc/dhcpcd.conf
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8
この構成では、ネットワークに対して DHCP のクエリは実行されません。ただし、ARP -> MDNS は依然としてリークしています。
このプロジェクトは適応性を重視しているため、SWITCH_MAC を持つものをすべて削除するのが最善の解決策だと思います。ただし、これではトラフィックの流出が止まりません。
私が気づいたのは、私のルールでは、意図的に送信した SWITCH_MAC を含むパケットは正しくドロップされているが、OS によって発行されたものはドロップされていないということです。
結論 テスト トラフィックがドロップされているにもかかわらず、OS は不要なトラフィックを漏らしています。私の問題はこれと似ているのではないかと思います:nftables を使用した MAC アドレスによるトラフィックのフィルタリング 非常によく説明されていますが、解決策はまだ見つかっていません。