在 CentOS 7 中,使用 `firewalld` 配合公网 IP 进行流量中转(即端口转发),是 `firewalld` 的核心功能之一。
根据你之前查看 IP 的情况,你的服务器直接拥有公网 IP(`46.29.166.151`),这使得配置更加直接。你可以将访问这台服务器的流量,转发到任何你能网络互通的服务器(无论是内网服务器还是另一台公网服务器)。
以下是基于 `firewalld` 的标准配置流程:
核心原理
流量路径: 用户访问 `你的公网服务器:端口A` —— `firewalld` 拦截并修改数据包 —— 流量被发送到 `目标服务器:端口B`。
配置步骤
1. 开启内核转发功能
这是实现“中转”的基础,必须开启 Linux 内核的 IP 转发。
# 编辑系统配置文件
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf# 使配置立即生效(无需重启)
sysctl -p2. 开启 IP 伪装(Masquerade)
这一步至关重要。它会修改数据包的源 IP 地址,让目标服务器知道回包应该发给谁(发给你的中转服务器),而不是直接发给最终用户。
# 开启伪装功能(–permanent 表示永久生效)
firewall-cmd --permanent --add-masquerade3. 配置端口转发规则
假设你的需求是:将访问本机 443 端口的流量,转发到目标服务器 `192.168.1.100`的 8443 端口。
执行以下命令:
firewall-cmd --permanent --add-forward-port=port=443:proto=tcp:toaddr=192.168.1.100:toport=8443参数详解:
- `–permanent`:永久生效(重启后不失效)。
- `port=443`:本机监听的端口(入口)。
- `proto=tcp`:协议类型(也可以是 `udp`)。
- `toaddr=192.168.1.100`:目标服务器的 IP 地址(出口去向)。
- `toport=8443`:目标服务器上接收流量的端口。
附加:使用TCP Fast Open 以加速交互和数据传输
编辑主配置文件 /etc/sysctl.conf
添加如下配置
net.ipv4.tcp_fastopen = 3
# 连接数优化
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 8192

4. 重新加载防火墙
添加规则后,必须重载配置才能生效。
firewall-cmd --reload常见场景示例
为了方便你理解,这里列出几种常见的中转需求写法:
| 场景描述 | 命令示例 |
| TCP 转发 | `firewall-cmd –permanent –add-forward-port=port=3389:proto=tcp:toaddr=10.0.0.5:toport=3389` |
| UDP 转发 | `firewall-cmd –permanent –add-forward-port=port=53:proto=udp:toaddr=8.8.8.8:toport=53` |
| 端口映射 | `firewall-cmd –permanent –add-forward-port=port=80:proto=tcp:toaddr=192.168.1.20:toport=8080` (访问本机80——转发到目标机8080) |
| 多端口范围 | `firewall-cmd –permanent –add-forward-port=port=4400-4600:proto=udp:toaddr=1.1.1.1` (转发 UDP 端口段) |
验证与排查
- 查看规则是否生效:
firewall-cmd --list-all
- 查看规则是否生效:
- 在输出结果中,你应该能看到 `masquerade: yes`(伪装开启)以及 `forward-ports: …`(你的转发规则)。
- 检查目标服务器连通性: 确保你的中转服务器能直接访问目标服务器。在中转服务器上执行:
- “`bash ping 192.168.1.100 telnet 192.168.1.100 8443 # 检查端口是否通 “`
- 安全组/云防火墙: 既然你使用的是公网 IP,请务必检查云服务商(如阿里云、腾讯云、AWS等)的控制台安全组设置。确保入方向(Inbound)放行了你配置的端口(如 443),否则流量根本进不来。

![HappyFiles Pro–WordPress媒体库文件管理插件[更至v1.8.3]-海棠博客](https://r2.hait.top/wp-content/uploads/2026/02/1000040181-1024x297.jpg)
暂无评论内容