CentOS 7 将端口转发到另一个 IP:PORT

CentOS 7 将端口转发到另一个 IP:PORT

我有 CentOS 7,它使用 IPTABLES 将端口 30120 转发到 Windows 服务器

例如:Windows游戏服务器IP:192.168.1.3 Linux Centos 7服务器IP:192.168.1.5

iptables -t nat -A PREROUTING -p tcp --dport 30120 -j DNAT --to-destination 192.168.1.3:30120

iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.3 --dport 30120 -j SNAT --to-source 192.168.1.5

iptables -t nat -A PREROUTING -p udp --dport 30120 -j DNAT --to-destination 192.168.1.3:30120

iptables -t nat -A POSTROUTING -p udp -d 192.168.1.3 --dport 30120 -j SNAT --to-source 192.168.1.5

我有反 DDOS 和安全 SSH 的规则,但它无法正常工作,仍然将流量从我的 Centos 转发到 192.168.1.3:30120

我的电脑 IP:192.168.1.2 在 CentOS 中用于测试

iptables -A INPUT -s 192.168.1.2 -j DROP

此 IP 192.168.1.2 无法访问 CentOS 7,但可以通过端口 30120 转发到 Windows 服务器

怎么被堵住了?

谢谢。

答案1

规则的顺序很重要,因此如果端口转发规则位于 DROP 规则之前,则端口转发规则优先,并且只有其他流量会被丢弃。如果要丢弃所有流量,请将 DROP 行移到端口转发行上方。

答案2

一般语法是:

firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp:toport=port-number:toaddr=IP/mask

firewall-cmd --zone=public --add-masquerade --permanent

具体案例示例:

firewall-cmd --zone=public --add-forward-port=port=30120:proto=tcp:toport=30120:toaddr=192.168.1.100
  --permanent

相关内容