通过 iptables 断开 DNS 连接进行测试

通过 iptables 断开 DNS 连接进行测试

我正在尝试监控简单电视机顶盒的行为,同时失去与一个或其他 DNS 的连接。该盒子位于带有 debian 的简单 Linux 机器后面,然后通过 DHCP 等连接到网络。我正在尝试使用中间机作为流量过滤器,这样我就可以看到机顶盒在与当前失去连接后是否可以轻松切换到第二个 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

IPTables 中的链INPUT作用于其目的地是运行 IPTables 的计算机的流量。它不会影响转发的流量。

您需要将FORWARD链用于通过计算机但不定向到计算机的数据包。

例如:

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

此规则丢弃从 192.168.0.0/24 网络到端口 53 的所有 UDP 数据包。

相关内容