NAT 与端口映射

NAT(Network Address Translation)将私有地址转换为公网地址,解决 IPv4 地址不足问题,同时隐藏内网拓扑。

NAT 类型

类型原理适用
静态 NAT一个内网 IP ↔ 一个公网 IP(一对一固定映射)服务器对外发布
动态 NAT从公网地址池中动态分配(不常用)少量内网主机上网
NAPT/PAT多个内网 IP 复用同一公网 IP,用端口区分最常见的上网方式
Easy IP直接复用出口接口的公网 IP + 端口拨号/动态公网 IP
NAT Server公网端口映射到内网服务器对外发布 Web/邮件服务

NAPT 工作原理

内网 192.168.1.10:1024 → 公网 100.1.1.1:10001(源地址+端口转换)
                          ↓
内网 192.168.1.11:2048 → 公网 100.1.1.1:10002
  • 建立会话表记录映射关系(display nat session)
  • 内网发起方向为正向,公网回包按会话表反向转换
  • 公网主动访问内网需 NAT Server 或双向 NAT

华为路由器配置

静态 NAT

[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] nat static global 100.1.1.10 inside 192.168.1.10

NAPT(地址池)

[Huawei] nat address-group 1 100.1.1.1 100.1.1.10
[Huawei] acl number 3001
[Huawei-acl-adv-3001] rule 5 permit ip source 192.168.0.0 0.0.255.255
[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] nat outbound 3001 address-group 1

Easy IP

[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] nat outbound 3001

NAT Server(端口映射)

[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] nat server protocol tcp global 100.1.1.1 80 inside 192.168.1.10 80

防火墙 NAT(USG)

[USG] nat-policy
[USG-nat-policy-rule-1] name nat_out
[USG-nat-policy-rule-1-nat_out] source-zone trust
[USG-nat-policy-rule-1-nat_out] egress-interface GigabitEthernet1/0/0
[USG-nat-policy-rule-1-nat_out] action source-nat easy-ip

验证命令

<Huawei> display nat session all          // 会话表
<Huawei> display nat outbound             // NAT 策略
<Huawei> display nat address-group 1
<Huawei> display nat server               // 服务器映射

常见问题

现象原因/解决
内网上不了网NAT 未配置、ACL 未匹配、出口 IP 变化(用 Easy IP)
外网访问不了服务器NAT Server 未配置、防火墙策略未放行、内网回包路由
视频/语音异常NAPT 对部分应用不友好,考虑 ALG/专业设备
内网访问公网地址不通(hairpin)部分设备需配置 NAT 回环(hairpin NAT)

NAT 与安全

  • NAT 不是安全功能,只做地址转换,仍需配合防火墙策略
  • 避免 NAT 与 VPN 叠加导致分片问题(调整 MTU/MSS)

🔗 相关笔记:01.03_IPv4地址与子网划分 02.01_网络协议详解 04.04_防火墙基础