Iptables - 添加隐式拒绝规则后 dstnat 不起作用

Iptables - 添加隐式拒绝规则后 dstnat 不起作用

我决定尝试使用 iptables,但我对它还很陌生。尝试将其用作防火墙。我的目标是从 LAN 端转发 RDP 服务。以下是我的场景:

ens32是WAN接口,ens33是LAN接口,10.9.3.1属于LAN子网,它是应该通过WAN访问RDP服务的主机。

我的想法是这样的:通过第一条规则,我想拒绝所有流量。第二条规则允许通过 WAN 建立的相关连接。第三条规则允许出站 RDP 流量,最后一条规则是 dstnat 端口转发规则。

我的问题是,如果第一条规则处于活动状态,则端口转发不起作用。只有当我禁用拒绝规则时,它才会起作用。我相信我可能漏掉了一些东西。这是我的配置:

-A PREROUTING -i ens32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.9.3.1:3389
-A FORWARD -i ens33 -s 10.9.3.1/32 -p tcp -m tcp -o ens32 -d 0.0.0.0/0 --dport 3389 -j ACCEPT
-A FORWARD -i ens32 -o ens33 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

提前致谢!

相关内容