0aa8fe6
这次没有正文改动。
这是 network/NAT 地址转换.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
42afade
@@ -0,0 +1,72 @@ +--- +tags: [NAT, 地址转换, 网络进阶] +order: 130 +--- + +# NAT 地址转换 + +## 场景 + +内网私有地址要访问外网(源 NAT),或者外网要访问内网服务器(端口映射)。 + +## 前置条件 + +- 有公网地址或运营商分配的地址 +- 知道要做转换的内网网段 +- 明确是出方向还是入方向 + +## 配置 + +### H3C + +```text +system-view +acl basic 2000 + rule 0 permit source 192.168.10.0 0.0.0.255 + quit + +interface GigabitEthernet1/0/24 + nat outbound 2000 + nat server protocol tcp global current-interface 8080 inside 192.168.10.5 80 + quit +``` + +### 华为 + +```text +acl number 2000 + rule 5 permit source 192.168.10.0 0.0.0.255 + quit + +interface GigabitEthernet0/0/24 + nat outbound 2000 + nat server protocol tcp global current-interface 8080 inside 192.168.10.5 80 + quit +``` + +## 验证 + +```text +display nat outbound +display nat server +display nat session brief +``` + +从内网访问外网能通、从外网访问映射端口能通,两边都验证一遍。 + +## 回滚 + +```text +interface GigabitEthernet1/0/24 + undo nat outbound 2000 + undo nat server protocol tcp global current-interface 8080 +``` + +## 坑 + +- **内网访问自己的公网映射地址不通**,要开 NAT hairpin(回流)。 +- 映射的端口和路由器自身管理端口冲突(比如 80)。 +- `nat outbound` 的 ACL 写太宽,把管理网段也转换了。 +- 一对多映射(pat)端口耗尽,并发高时会失败。 +- 双出口做了 NAT,回包从另一条链路回来会被丢。 +- 改完 NAT 没清理会话,旧会话还在用旧规则。