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