
現在、2 つのインターフェース間のパケットにセキュリティ ラッパーを適用/削除するルーター アプリケーションを開発しようとしています。プロトコルは BACnet で、UDP 上で実行されます。レイアウトは次の画像で確認できます。
ほとんどすべて正常に動作しています。ルーター アプリは、コントローラーおよびデバイス シミュレーターと問題なく通信できます。問題は、ルーターがブロードキャスト パケットを送信するときに発生します (これは BACnet 仕様で必須です)。192.168.56.255 に送信されたパケットはすべて 192.168.39.4 で受信され、192.168.39.255 に送信されたパケットはすべて 192.168.56.101 で受信されます。
これらは異なるサブネット上にあるため、私が疑っていた動作ではありません。したがって、インターフェイス enp0s8、enp0s9、lo の Wireshark では何も確認できないため、Linux カーネルが私の目の前で何らかの秘密のルーティングを実行していると想定しています。ルーター アプリのアプリケーション層にパケットが到着するのを確認するだけです。
IPv4 転送を無効にし (sysctl で net.ipv4.ip_forward = 0)、iptables 転送をいじってみましたが、何も変わりませんでした。また、「ip route show table local」を実行して、2 つのインターフェイスに関連するローカル ルートを削除しました。これにより、ブロードキャスト パケットが他のインターフェイスで受信されなくなりましたが、ホスト マシンとの通信はすべて阻止されました。
2 つのインターフェース間のすべてのネットワーク トラフィックをブロックする簡単な方法はありますか?