第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 的接口必须是流量出口

九、思考

  1. Easy-IP 和普通 PAT 在配置上有什么不同?
  2. 为什么企业上网只需要配 nat outbound + ACL 就能让所有人上网?
  3. PPPoE 上网时,公网 IP 是动态分配的,还能用 Easy-IP 吗?
  4. 查看 NAT 转换表时,如果内网 PC 的 IP 没有出现在表中,可能是什么原因?
  5. NAT ALG 的作用是什么?FTP 协议没有 ALG 支持会怎样?
  6. 写一个企业上网的完整配置:内网 10.0.0.0/8,电信 PPPoE 拨号,Easy-IP 上网。

下篇预告:第44篇《NAT服务器映射_内网服务器对外发布》——学习NAT服务器映射的配置,实现内网服务器对外发布。