使用netcattestingiptables规则不起作用

我有4个虚拟机使用虚拟框。 一台虚拟机用作连接3个networking的路由器。 我试图放弃所有进入路由器机器的通信,excpet一些服务。 我在每台机器上的接口ips是:

作为路由器工作的虚拟机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 

现在我试图testing,如果这是使用netcat工作。 所以在路由器机器上运行命令:

 nc -u -s 193.136.200.254 -p 53 193.136.200.3 53 

并在虚拟机3中运行:

 nc -u 193.136.200.3 53 

然后我在一台机器上写了一个随机字,但是没有出现在另一台机器上。 所以它没有工作。 你知道什么是错的吗?

这是因为你是连接本身,当你键入命令:

 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