iptables如何只为少数IP指定端口转发

时间:2014-08-10 15:17:46

标签: linux iptables

我继承了一个复杂的iptables脚本,充当我们的网关/路由器。它处理好一切,包括NAT和harpin nat。它还进行端口转发。但是,端口转发不能由源IP指定。因此,如果转发端口25,则每个IP都可以连接到该端口。

FORWARD链政策是ACCEPT。我尝试将其更改为DROP并制定了一些规则。似乎在为每个允许方案指定规则方面存在太多问题。

我要找的是指定这样的东西:

  

iptables -A FORWARD -p tcp -i $ WAN_IFACE --dport 25 -s(!(1.1.1.1和   1.1.1.2)) - j DROP

但iptables不支持andor

有没有办法实现这个?

1 个答案:

答案 0 :(得分:1)

您可以为进入端口25的所有数据包创建一个新链,然后在那里进行更具体的过滤:

iptables -N port25
iptables -A FORWARD -p tcp -i $WAN_IFACE --dport 25 -j port25
iptables -A port25 -s 1.1.1.1 -j ACCEPT
iptables -A port25 -s 1.1.1.2 -j ACCEPT
iptables -A port25 -j DROP

创建用户定义链是实施andor规则的方法。