修改 iptables 规则和默认策略但保留端口转发

修改 iptables 规则和默认策略但保留端口转发

我的防火墙脚本末尾有以下规则和策略:

$IPT=/sbin/iptables
...
$IPT -P FORWARD ACCEPT
$IPT -F FORWARD


# Forward port 2206 to data6 
$IPT -A INPUT -i eth1 -s 192.168.1.0/24 -d 6X.XXX.XXX.YY7 -p tcp --destination-port 2206 -j ACCEPT
$IPT -t nat -A PREROUTING -p tcp --dport 2206 -j DNAT --to-destination 192.168.1.2:22

# accept port 22 for the machine 192.168.1.2
$IPT -A FORWARD -j ACCEPT --protocol tcp --destination 192.168.1.2 --destination-port 22

192.168.1.2使用这些规则,我可以使用ssh 192.168.1.2或 使用 直接 ssh 到主机ssh -p 2206 6X.XXX.XXX.YY7

我想将默认转发策略从 更改ACCEPTDROP。但是,当我尝试这样做时,我无法访问主机192.168.1.2

我应该担心默认接受策略吗?
如何调整规则以适应策略DROP

答案1

如果将默认策略更改为 DROP,则需要允许流量从 192.168.1.2:22 通过防火墙返回。

$IPT -A FORWARD -j ACCEPT -m conntrack --ctstate ESTABLISHED
$IPT -A FORWARD -j ACCEPT -p tcp -d 192.168.1.2 --dport 22

可能还需要通过添加以下内容来允许反向 DNS 查找:

$IPT -A FORWARD -j ACCEPT -p udp -s 192.168.1.2 --dport 53

答案2

您可以保留默认策略,只需将其添加$IPT -A FORWARD -j DROP到脚本末尾即可有效删除之前未匹配的任何内容。

相关内容