如何允许Iptables的所有端口只用于本地ips除两个特定的端口

我正在寻找一种方法来允许我的debian服务器上的所有端口上的连接只有一个本地IP(192.168.2。*),除了两个特定的端口X和Y,应该允许任何IP。 如果IP不是本地IP,则除了端口X和Y之外的所有端口的所有连接都应该被阻塞。

我如何处理这种情况与Iptables?

我不确定我是否了解你,但是这是怎么做的。

要允许除两个端口(X和Y)之外的本地IP范围192.168.2.0/24的所有端口,可以使用如下规则:

iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport X -j DROP iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport Y -j DROP iptables -A INPUT -s 192.168.2.0/24 -p tcp -j ACCEPT 

对于其他非本地IP,只允许连接到X和Y,您可以使用:

 iptables -A INPUT -p tcp --dport X -j ACCEPT iptables -A INPUT -p tcp --dport Y -j ACCEPT iptables -A INPUT -p tcp -j DROP 

你没有指定协议(TCP或UDP),我假设TCP上面清楚。 您需要按照此特定顺序插入规则,并且我假设没有其他预定义的规则。