Linux iptables如何仅为几个IP指定端口转发
我继承了一个复杂的iptables脚本作为我们的网关/路由器。它处理一切都很好,包括纳特和哈宾·纳特。它还进行端口转发。但是,源IP无法指定端口转发。因此,如果端口25被转发,每个IP都可以连接到该端口 转发链策略是Linux iptables如何仅为几个IP指定端口转发,linux,iptables,Linux,Iptables,我继承了一个复杂的iptables脚本作为我们的网关/路由器。它处理一切都很好,包括纳特和哈宾·纳特。它还进行端口转发。但是,源IP无法指定端口转发。因此,如果端口25被转发,每个IP都可以连接到该端口 转发链策略是接受。我试着把它改成DROP,并建立了一些规则。似乎有太多关于为每个允许场景指定规则的内容 我想要的是指定如下内容: iptables-A FORWARD-p tcp-i$WAN_IFACE-dport 25-s(!(1.1.1.1和 1.1.1.2))-j下降 但是iptables
接受
。我试着把它改成DROP
,并建立了一些规则。似乎有太多关于为每个允许场景指定规则的内容
我想要的是指定如下内容:
iptables-A FORWARD-p tcp-i$WAN_IFACE-dport 25-s(!(1.1.1.1和
1.1.1.2))-j下降
但是iptables不支持和和或
有什么方法可以实现这一点吗?您可以为所有到端口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
创建用户定义的链是实现和以及或规则的方法