首页 文章

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

提问于
浏览
0

我继承了一个复杂的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 回答

  • 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 规则的方法 .

相关问题