一、什么是全端口转发
全端口转发是一种将某个公网IP的所有端口流量完整转发到另一台内网服务器的技术,实现“1比1”透明映射——端口、协议、连接状态全部保持一致。
与传统单端口转发不同,全端口转发无需为每个端口单独配置规则,一台中转机即可将整个服务器的所有服务(SSH 22端口、Web 80/443端口、MySQL 3306端口等)全部映射到后方目标机器。
二、核心配置步骤
1. 开启IP转发
```bash
临时开启
echo 1 > /proc/sys/net/ipv4/ip_forward
永久开启(编辑/etc/sysctl.conf)
net.ipv4.ip_forward = 1
sysctl -p
```
2. 添加全端口转发规则(双网卡场景)
假设网关公网IP为`203.0.113.10`(eth0),内网服务器IP为`192.168.1.100`(eth1):
```bash
DNAT:将所有到公网IP的流量转发给内网服务器
iptables -t nat -A PREROUTING -d 203.0.113.10 -j DNAT --to-destination 192.168.1.100
SNAT:确保返回流量正确路由
iptables -t nat -A POSTROUTING -s 192.168.1.100 -j SNAT --to-source 192.168.1.1
```
`-j DNAT`后面不再指定具体端口,表示所有端口的流量都进行转发。
3. 保存规则
```bash
CentOS
service iptables save
Ubuntu
iptables-save > /etc/iptables/rules.v4
```
三、应用场景
| 场景 | 说明 |
|------|------|
|IDC托管 | 一台网关机把公网IP的完整流量镜像到内网服务器 |
|云主机迁移 | 业务平滑迁移到新服务器,旧公网IP继续提供服务 |
|安全隔离 | 真实服务器放在内网,网关暴露在公网作为“挡箭牌” |
四、注意事项
-单网卡简化方案:若公网IP直接配在本机,可省略SNAT,但需确保内网服务器默认网关指向本机
-单端口转发:如需只转发特定端口,用`--dport 8080`限定即可
-验证:用`iptables -t nat -vnL`查看规则命中计数
也可以使用80km无痕网关,它是一款隐藏真实IP、加速访问、节省成本的网络转发工具。通过跳板服务器中转流量,保护后端业务服务器安全。
内网穿透必备:Linux端口转发命令与iptables规则详
全端口转发的原理是什么?为什么网关机的所有端口都能映射到内网?
nat123内网端口:打通内外网的关键通道
nat123 for Linux:在Linux系统上实现内网穿透
nat123内网端口:让内部服务也能被外网访问
nat123网站:将本地网站轻松发布到公网
Ngrok for Mac:解锁本地服务的公网访问密钥
内网穿透必备:Linux端口转发命令与iptables规则详
手把手教你用Linux做内网中转服务器(端口转发+网段互通)
Windows端口转发完全教程:netsh命令详解与实战案例
Java端口转发完全教程:从Socket基础到Netty高并发实战
群晖端口转发完全教程:DSM配置+路由器手动设置+多NAS方案
TCP端口转发不生效?IP转发、防火墙、SELinux排查手册
Linux UDP端口转发从零到一:游戏、DNS、VoIP场景全解析
Linux iptables端口转发从零到一:DNAT、SNAT、REDIRECT全解析
OpenWrt端口转发不生效?从防火墙规则到IP转发全面排查
手把手教你用firewalld配置CentOS端口转发(附代码示例)
从零部署80KM端口转发:保护你的虚拟机业务不被攻击
SSH动态端口转发(-D):一条命令搭建SOCKS代理(下)