5.9. 端口转发


使用 firewalld,您可以设置端口重定向,以便到达系统上某个端口的任何传入的流量都被传送到您选择的其他内部端口或另一台计算机上的外部端口。

5.9.1. 向重定向添加端口

在您将一个端口的流量重定向到另一个端口或另一个地址之前,您需要了解 3 个问题:数据包到达哪个端口、使用哪个协议,以及您要重定向它们的位置。
将端口重新指向另一个端口:
~]# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp|sctp|dccp:toport=port-number
将端口重定向到不同 IP 地址的另一个端口:
  1. 添加要转发的端口:
    ~]# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp:toport=port-number:toaddr=IP
  2. 启用伪装:
    ~]# firewall-cmd --add-masquerade

例 5.1. 将 TCP 端口 80 重定向到同一计算机上的端口 88

重定向端口:
  1. 将端口 80 重定向到 TCP 流量的端口 88:
    ~]# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=88
  2. 使新设置具有持久性:
    ~]# firewall-cmd --runtime-to-permanent
  3. 检查是否重定向了端口:
    ~]# firewall-cmd --list-all 

5.9.2. 删除重定向的端口

要删除重定向的端口:
~]# firewall-cmd --remove-forward-port=port=port-number:proto=<tcp|udp>:toport=port-number:toaddr=<IP>
要删除重定向到不同地址的转发端口:
  1. 删除转发的端口:
    ~]# firewall-cmd --remove-forward-port=port=port-number:proto=<tcp|udp>:toport=port-number:toaddr=<IP>
  2. 禁用伪装:
    ~]# firewall-cmd --remove-masquerade
注意
使用此方法重定向端口只可用于基于 IPv4 的流量。对于 IPv6 重定向设置,您需要使用丰富的规则。如需更多信息,请参阅 第 5.15 节 “使用"Rich Language"语法配置复杂防火墙规则”
要重定向到外部系统,需要启用伪装。如需更多信息,请参阅 第 5.10 节 “配置 IP 地址伪装”

例 5.2. 删除在同一机器上将 TCP 端口 80 转发到端口 88

删除端口重定向:
  1. 列出重定向的端口:
    ~]# firewall-cmd --list-forward-ports 
    port=80:proto=tcp:toport=88:toaddr=
  2. 从防火墙中删除重定向的端口:
    ~]# firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=88:toaddr=
  3. 使新设置具有持久性:
    ~]# firewall-cmd --runtime-to-permanent
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.