iptables를 통해 DNS 연결을 끊고 테스트

iptables를 통해 DNS 연결을 끊고 테스트

하나 또는 다른 DNS에 대한 연결이 끊어지는 동안 간단한 TV 셋톱 박스의 동작을 모니터링하려고 합니다. 상자는 데비안이 포함된 간단한 Linux 상자 뒤에 있으며 DHCP 등을 통해 네트워크에 연결됩니다. 셋톱박스가 현재 DNS와의 연결이 끊어진 후 두 번째 DNS로 쉽게 전환할 수 있는지 확인하기 위해 중개자를 트래픽 필터로 사용하려고 합니다.

Linux 시스템에서 iptables를 통해 연결을 삭제하려고 시도하고 DNS의 IP를 금지한 다음 시스템에서 ping을 수행할 수 없으면(iptables 구성이 적용된다는 증거) 셋톱박스는 여전히 DNS를 정상적으로 사용할 수 있습니다. tcpdump를 사용한 트래픽은 실제 환경에서 발생할 수 있는 전체 또는 부분 DNS 장애를 시뮬레이션하는 것을 목표로 셋톱박스 자체가 네트워크에서 모든 정보를 가져오고 있음을 증명합니다.

Using variations of: (OUTPUT, -d)
iptables -A INPUT -s 212.X.X.X -j DROP
even (OUTPUT)
iptables -A INPUT -p udp --dport 53 -j DROP
iptables -A INPUT -p tcp --dport 53 -j DROP

여기서 내가 무엇을 놓치고 있는지 잘 모르겠습니다(확실히 알고 있습니다). 또한 네트워크 연결 인터페이스 등을 지정했습니다.

답변1

IPTable의 체인은 INPUT대상이 IPTable을 실행하는 컴퓨터인 트래픽에 대해 작동합니다. 전달된 트래픽에는 영향을 주지 않습니다.

FORWARD컴퓨터를 통과하지만 컴퓨터로 전달되지 않는 패킷에는 체인을 사용해야 합니다 .

예를 들어:

iptables -I FORWARD 1 -s 192.168.0.0/24 -d <destinationIP> -p udp --dport 53 -j DROP

이 규칙은 192.168.0.0/24 네트워크의 모든 UDP 패킷을 포트 53으로 삭제합니다.

관련 정보