Linux 端口映射配置指南:使用 iptables 实现网络地址转换
在 Linux 系统中,端口映射(端口转发)是实现不同网络间通信的重要手段,通常用于将外部网络的请求转发到内部网络的特定服务。以下是基于 iptables 的端口映射配置详解,包括临时配置和永久生效方案。
基础配置:启用数据包转发
端口映射依赖内核的 IP 转发功能,需先开启:
临时启用 IP 转发(立即生效,重启失效)
1 2 3 4 5
| echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
|
配置 iptables 转发规则
1 2 3 4 5 6 7 8 9 10
| iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -i [内网网卡名称] -j ACCEPT
iptables -t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -j MASQUERADE
|
示例(假设内网网卡为 ens33,外网网卡为 ens37,内网网段为 192.168.50.0/24):
1 2 3
| iptables -t nat -A POSTROUTING -j MASQUERADE iptables -A FORWARD -i ens33 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens37 -j MASQUERADE
|
核心配置:设置端口映射规则
使用 iptables 的 DNAT(目的地址转换)实现端口映射,将外部请求转发到内部服务。
基本语法