在服务器机器上,我想将所有请求重定向到 80 到 9000 端口。所以我启用了端口并添加了端口转发规则。
防火墙cmd --permanent --add-forward-port=port=80:proto=tcp:toport=9000
防火墙-cmd-添加伪装
防火墙cmd --permanent --add-port=9000/tcp 防火墙cmd --permanent --add-port=80/tcp
所有规则均添加到默认区域(受信任),如下所示。
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: eth0
sources:
services:
ports: 9000/tcp 9001/tcp 8080/tcp 80/tcp
protocols:
masquerade: yes
forward-ports: port=80:proto=tcp:toport=9000:toaddr=
port=8080:proto=tcp:toport=9001:toaddr=
source-ports:
icmp-blocks:
rich rules:
但端口转发不起作用。我已按如下方式进行了测试。
telnet < ip_address > 80
响应是“连接被拒绝”。
答案1
您已经设置了永久的firewalld配置,但您并没有改变实际运行的配置。
您不应--permanent
在任何firewall-cmd
命令中使用 ,因为如果您犯了错误,您可能会锁定系统。相反,您应该在不带 的情况下执行相同的命令--permanent
,这将使其立即生效但不会持久,然后当您确定规则正常工作时,您可以使用 保存它们firewall-cmd --runtime-to-permanent
。