使用 netcat 测试 iptables 规则不起作用

使用 netcat 测试 iptables 规则不起作用

我有 4 台使用 Virtual Box 的虚拟机。其中一台虚拟机充当连接 3 个网络的路由器。我试图删除进入路由器机器的所有通信,但某些服务除外。我在每台机器上拥有的接口 IP 是:

作为路由器的虚拟机1:

eth1: 193.136.200.254 
eth2: 10.10.0.254 
eth3: 10.254.0.254 

虚拟机2:

eth1: 10.10.0.2 
eth2: 10.10.0.3 

虚拟机 3:

eth1: 193.136.200.2 

虚拟机4:

eth1: 10.254.0.1

我在路由器机器上定义以下规则:

IPTABLES -P INPUT DROP
iptables -A INPUT -s 193.136.200.3 -d 193.136.200.254 -p udp -m udp --sport 53 -j ACCEPT

现在我尝试使用 netcat 测试它是否正常工作。因此,我在路由器机器上运行以下命令:

nc -u -s 193.136.200.254 -p 53 193.136.200.3 53

我在虚拟机 3 中运行:

nc -u 193.136.200.3 53

然后我在一台机器上写了一个随机单词,但它没有出现在另一台机器上。所以它不起作用。你知道问题出在哪里吗?

答案1

这是因为当您输入以下命令时,您正在连接本身:

nc -u 193.136.200.3 53

如果您想从机器 3 连接到路由器,请尝试以下命令:

  1. nc -u -s 193.136.200.3 -p 53 193.136.200.254 53代替nc -u 193.136.200.3 53

相关内容