如何通过 firewalld 在 Rocky Linux 9 中配置端口映射?

问题浏览数Icon
3
问题创建时间Icon
2025-06-14 05:49:00
回答 | 共 1 个
作者头像
fengling01

在Rocky Linux 9中通过firewalld配置端口映射,需结合NAT规则与端口转发。步骤如下:

  1. 启用IP转发:编辑 /etc/sysctl.conf,设置 net.ipv4.ip_forward=1,执行 sysctl -p 生效。

  2. 配置外部接口伪装

    firewall-cmd --zone=public --add-masquerade --permanent
  3. 添加端口转发规则(例如将外部80端口映射到内网192.168.1.100的8080端口):

    firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.100 --permanent
  4. 重载规则

    firewall-cmd --reload

注意

  • 若目标地址与防火墙同主机,可省略 toaddr 参数。
  • 使用 --permanent 确保规则持久化。
  • 优先通过 firewall-cmd --list-all-zones 确认接口所属Zone。
  • 若转发失败,检查SELinux上下文或临时禁用SELinux排错。