저는 현재 두 인터페이스 사이의 패킷에 보안 래퍼를 적용하는 라우터 응용 프로그램을 개발하려고 합니다. 프로토콜은 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"을 실행하고 두 인터페이스와 관련된 로컬 경로를 삭제했습니다. 이렇게 하면 다른 인터페이스에서 브로드캐스트 패킷이 수신되지 않지만 호스트와의 모든 통신이 차단됩니다.
두 인터페이스 간의 모든 네트워크 트래픽을 차단하는 쉬운 방법이 있습니까?