第43篇:企业上网少不了 NAT——Easy-IP 配置
一、写在前面
上一篇文章我们学了 PAT(多对 1 NAT)。在实际企业网络中,最常用的是 Easy-IP——它是华为设备上 NAT 的特有实现方式,核心就是直接使用出接口的公网 IP 做 PAT 转换。
简单说就是:企业出口路由器上,配一条命令就能让所有人上网。
二、什么是 Easy-IP?
2.1 概念
Easy-IP = 直接使用路由器公网接口的 IP 地址作为 NAT 转换后的公网 IP,不需要额外的公网 IP 池。
出接口的公网 IP = 100.1.1.1
内网所有用户上网,都转换成 100.1.1.1(不同端口)
不需要另配 address-group
2.2 适用场景
- 企业宽带拨号上网(PPPoE,每次 IP 都变)
- 只有一个公网 IP 的小型企业
- 出口路由器不做服务器发布(只做上网)
三、Easy-IP 配置(仅需两条命令)
# 第 1 步:定义 ACL,匹配哪些内网 IP 可以做 NAT
[Router] acl 2000
[Router-acl-basic-2000] rule 5 permit source 10.0.0.0 0.0.255.255
[Router-acl-basic-2000] quit
# 第 2 步:在出接口上应用(不加 address-group 就是 Easy-IP)
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ip address 100.1.1.1 255.255.255.0
[Router-GigabitEthernet0/0/1] nat outbound 2000
就这么简单,两行命令做完一个企业上网环境。
四、完整的双链路上网配置
很多企业有两条宽带,一条电信一条联通:
# 定义内网网段
[Router] acl 2000
[Router-acl-basic-2000] rule 5 permit source 10.0.0.0 0.0.255.255
[Router-acl-basic-2000] quit
# 电信出口
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] ip address 100.1.1.1 255.255.255.0
[Router-GigabitEthernet0/0/1] nat outbound 2000
[Router-GigabitEthernet0/0/1] quit
# 联通出口
[Router] interface gigabitethernet 0/0/2
[Router-GigabitEthernet0/0/2] ip address 200.1.1.1 255.255.255.0
[Router-GigabitEthernet0/0/2] nat outbound 2000
[Router-GigabitEthernet0/0/2] quit
# 默认路由(主备)
[Router] ip route-static 0.0.0.0 0.0.0.0 100.1.1.254 preference 60 ← 电信主
[Router] ip route-static 0.0.0.0 0.0.0.0 200.1.1.254 preference 80 ← 联通备
五、PPPoE 拨号上网的 Easy-IP
很多企业用 PPPoE 拨号上网,IP 是运营商动态分配的,Easy-IP 正好适用:
[Router] interface dialer 1
[Router-Dialer1] link-protocol ppp
[Router-Dialer1] ppp chap user "username@provider"
[Router-Dialer1] ppp chap password cipher "password"
[Router-Dialer1] ip address ppp-negotiate ← 动态获取公网 IP
[Router-Dialer1] nat outbound 2000 ← Easy-IP
[Router-Dialer1] dialer timer idle 0
[Router-Dialer1] dialer bundle 1
[Router-Dialer1] quit
[Router] interface gigabitethernet 0/0/1
[Router-GigabitEthernet0/0/1] pppoe-client dial-bundle-number 1
[Router-GigabitEthernet0/0/1] quit
六、查看 NAT 转换
# 查看 NAT 转换表
[Router] display nat session all
Src IP/Port Global IP/Port Dest IP/Port
10.0.1.5:12345 100.1.1.1:10001 180.101.49.11:80
10.0.1.6:12345 100.1.1.1:10002 180.101.49.12:80
10.0.1.7:12345 100.1.1.1:10003 110.242.68.3:443
10.0.1.8:12345 100.1.1.1:10004 220.181.38.148:80
↑ 全部是同一个公网 IP
# 查看 NAT 转换统计
[Router] display nat statistics
Total sessions: 245 ← 当前有多少个 NAT 会话
Sessions per second: 12 ← 每秒新建会话数
七、NAT 的 ALG(应用层网关)
有些应用协议在报文内部也携带了 IP 地址信息(如 FTP 的 PORT 命令),普通 NAT 只改 IP 头和端口,不改报文内容,导致这些协议无法工作。
华为设备默认开启部分 ALG:
# 查看已开启的 ALG
[Router] display nat alg
DNS : Enable
FTP : Enable
ICMP : Enable
SIP : Enable
PPTP : Enable
如果某应用通过 NAT 后工作异常,可以检查对应协议的 ALG 是否开启。
八、常见故障排查
现象:能 ping 通外网 IP,但打不开网页
# 检查 NAT 转换是否成功
[Router] display nat session all | include 10.0.1.100
# 如果没有输出 —— NAT 没有生效
# 检查 ACL 是否匹配到该 IP
[Router] display acl 2000
rule 5 permit source 10.0.0.0 0.0.255.255 (100 times matched)
# 如果 matched 为 0 —— ACL 没匹配到
常见原因
| 问题 | 排查 |
|---|---|
| ACL 没包含该网段 | 检查 ACL 规则中的源 IP 范围 |
| ACL 忘了配 permit 导致隐式 deny | ACL 末尾要 permit |
| 出接口配错了 | nat outbound 要应用在公网出口接口 |
| 默认路由指向错了 | nat outbound 的接口必须是流量出口 |
九、思考
- Easy-IP 和普通 PAT 在配置上有什么不同?
- 为什么企业上网只需要配 nat outbound + ACL 就能让所有人上网?
- PPPoE 上网时,公网 IP 是动态分配的,还能用 Easy-IP 吗?
- 查看 NAT 转换表时,如果内网 PC 的 IP 没有出现在表中,可能是什么原因?
- NAT ALG 的作用是什么?FTP 协议没有 ALG 支持会怎样?
- 写一个企业上网的完整配置:内网 10.0.0.0/8,电信 PPPoE 拨号,Easy-IP 上网。
下篇预告:第44篇《NAT服务器映射_内网服务器对外发布》——学习NAT服务器映射的配置,实现内网服务器对外发布。