第43篇:企业上网少不了 NAT:Easy-IP 配置

关键词:Easy-IP、NAT、拨号上网、PPPoE、接口地址、华为配置、企业网关


一、引言

在上一篇中,我们学习了静态 NAT、动态 NAT 和 PAT 三种基本 NAT 类型。其中 PAT(端口地址转换)是企业上网最常用的方式。然而,很多中小企业通过 PPPoE 拨号获取公网 IP,这个 IP 不是固定的,每次拨号都会变化。此时,传统的 NAT 地址池配置就无法直接使用。

Easy-IP 就是为解决这个问题而生的。它直接将路由器出接口的当前 IP 地址作为 NAT 转换地址,无需预先配置地址池。只要接口有 IP,就能做 NAT。

二、核心概念

2.1 Easy-IP 工作原理

特性 说明
定义 将出接口的 IP 地址直接作为 NAT 转换后的公网地址
优势 无需配置地址池,IP 变化时无需修改配置
本质 Easy-IP 是 PAT 的一种简化形式
适用场景 动态获取 IP 的场景(PPPoE 拨号、DHCP 客户端等)

2.2 Easy-IP 与传统 PAT 对比

对比维度 传统 PAT(地址池) Easy-IP
公网地址来源 预先配置地址池 接口当前 IP
IP 变化处理 需要手动修改地址池 自动适应
配置复杂度 需定义 ACL + 地址池 + 出接口应用 仅需定义 ACL + 出接口应用
多 IP 场景 单个地址池可含多个公网 IP 每 WAN 口使用自身 IP(多 WAN 口可负载分担)

2.3 典型组网场景

场景一:PPPoE 拨号上网

家庭或中小企业通过 ADSL 或光纤拨号接入 Internet,运营商每次拨号分配不同的公网 IP。

场景二:DHCP 获取公网 IP

路由器 WAN 口通过 DHCP 从运营商获取公网 IP,IP 可能随租期变化。

场景三:多拨场景

多个拨号接口同时在线,每个接口使用各自的 IP 做 NAT(负载分担)。

三、技术细节

3.1 基本 Easy-IP 配置

# 场景:内网 192.168.1.0/24 通过 Dialer 接口拨号上网
# WAN 口为 Dialer0,通过 PPPoE 获取动态公网 IP

# Step 1: 配置内网接口
[HUAWEI] interface Vlanif10
[HUAWEI-Vlanif10] ip address 192.168.1.1 255.255.255.0

# Step 2: 配置 PPPoE 拨号(简要配置)
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] link-protocol ppp
[HUAWEI-Dialer0] ip address negotiate
[HUAWEI-Dialer0] dialer user test_user
[HUAWEI-Dialer0] dialer bundle 1

[HUAWEI] interface GigabitEthernet0/0/1
[HUAWEI-GigabitEthernet0/0/1] pppoe-client dialer-bundle number 1

# Step 3: 配置 Easy-IP
# 先定义 ACL 匹配内网流量
[HUAWEI] acl 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255

# 在 Dialer 接口上应用 Easy-IP(无需地址池)
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] nat outbound 2000

关键点: Easy-IP 的配置命令与传统 PAT 完全一样(nat outbound <acl>),唯一的区别是没有指定 address-group。当 nat outbound 不指定地址池时,设备自动使用接口 IP 做转换,这就是 Easy-IP。

3.2 Easy-IP 配置验证

# 查看接口 IP(动态获取的公网 IP;Dialer 口经 PPPoE 协商得到 /32 地址)
<HUAWEI> display ip interface brief Dialer0
 *down: administratively down
!down: FIB overload down
 Interface       IP Address/Mask      Physical   Protocol
 Dialer0         123.45.67.89/32      up         up

# 查看 NAT 会话(华为为分段式回显,此处取三条示例)
<HUAWEI> display nat session protocol tcp
 NAT Session Table Information:
  Protocol      : TCP
  SrcAddr Port  : 192.168.1.100 1024
  DestAddr Port : 8.8.8.8 443
  NAT-Info
  New SrcAddr   : 123.45.67.89
  New SrcPort   : 54321
  Protocol      : TCP
  SrcAddr Port  : 192.168.1.101 2048
  DestAddr Port : 8.8.8.8 443
  NAT-Info
  New SrcAddr   : 123.45.67.89
  New SrcPort   : 54322
  Protocol      : TCP
  SrcAddr Port  : 192.168.1.102 3072
  DestAddr Port : 8.8.8.8 443
  NAT-Info
  New SrcAddr   : 123.45.67.89
  New SrcPort   : 54323
 Total : 3
# 注意:New SrcAddr 就是 Dialer 接口动态获取的公网 IP 123.45.67.89(回显以版本为准)

# 查看 NAT 出方向规则(Easy-IP 即 nat outbound 不带 address-group,规则中无地址池索引)
<HUAWEI> display nat outbound
 NAT Outbound Information:
  Interface   Acl     Address-group/IP/Interface   Type
  Dialer0     2000    -                            -
 Total : 1
# ① 官方 Type 列仅 no-pat 模式显示 no-pat,其余为空;"EASY-IP"并非官方 Type 取值
# ② Address-group/IP/Interface 一列显示地址池索引,Easy-IP 时为空或显示接口信息
# ③ 回显结构与列内容以设备版本为准

3.3 DHCP 客户端方式获取公网 IP

# 场景:WAN 口通过 DHCP 获取公网 IP

# Step 1: WAN 口配置 DHCP 客户端
[HUAWEI] interface GigabitEthernet0/0/1
[HUAWEI-GigabitEthernet0/0/1] ip address dhcp-alloc

# Step 2: 配置默认路由(下一跳使用 DHCP 获取的网关)
[HUAWEI] ip route-static 0.0.0.0 0.0.0.0 dhcp-alloc
# 引用 DHCP 网关的下一跳写法随版本而异(部分版本为 ip route-static ... <出接口> dhcp),以设备版本手册为准

# Step 3: 配置 Easy-IP
[HUAWEI] acl 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255

[HUAWEI] interface GigabitEthernet0/0/1
[HUAWEI-GigabitEthernet0/0/1] nat outbound 2000
# 注意:nat outbound 写在获取 IP 的同一个接口上

说明:ip address dhcp-alloc 是接口作为 DHCP 客户端获取 IP 的写法;ip address negotiate / ip address ppp-negotiate 属于 PPP 协商(Dialer/串口接口),用途不同。具体命令与格式以目标设备版本的命令手册为准。

3.4 多 WAN 口 Easy-IP 负载分担

# 场景:两个 PPPoE 拨号,负载均衡
# 注:以下假设 acl 2000 已按 3.1 节定义(匹配内网 192.168.1.0/24)

# WAN1: Dialer0
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] nat outbound 2000

# WAN2: Dialer1
[HUAWEI] interface Dialer1
[HUAWEI-Dialer1] nat outbound 2000
# 两个 WAN 口应用同一 ACL(匹配同一批内网流量),由等价路由做逐流负载分担、
# 各口分别 NAT;如需按网段/业务分流,可分别使用不同 ACL(见 3.5 节)

# 默认路由负载分担
[HUAWEI] ip route-static 0.0.0.0 0.0.0.0 Dialer0 preference 60
[HUAWEI] ip route-static 0.0.0.0 0.0.0.0 Dialer1 preference 60
# 相同优先级(preference)实现等价路由负载分担

# 负载分担默认逐流(per-flow)进行,同一 NAT 会话保持同一出口;
# "同一主机的多个连接是否都走同一出口"取决于负载分担算法与选路策略,以设备版本为准

3.5 Easy-IP 与地址池 NAT 混用

# 场景:部分流量走 Easy-IP(拨号口),部分流量走专线口(固定公网 IP,同样可选 Easy-IP 或地址池)
# 以下两条规则均为"不指定 address-group"的 Easy-IP 用法,各自使用所在接口的 IP 做转换

# 专线口:固定公网 IP 203.0.113.1
[HUAWEI] interface GigabitEthernet0/0/2
[HUAWEI-GigabitEthernet0/0/2] ip address 203.0.113.1 255.255.255.252

# 拨号口:动态 IP
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] ip address negotiate

# ACL 1:高优先级业务走专线
[HUAWEI] acl 3000
[HUAWEI-acl-adv-3000] rule 5 permit tcp source 192.168.100.0 0.0.0.255 destination-port eq 443

# ACL 2:普通上网走拨号
[HUAWEI] acl 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 192.168.1.0 0.0.0.255

# 专线口应用
[HUAWEI] interface GigabitEthernet0/0/2
[HUAWEI-GigabitEthernet0/0/2] nat outbound 3000

# 拨号口应用 Easy-IP
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] nat outbound 2000

四、实战配置/案例分析

4.1 案例一:家庭路由器 Easy-IP 完整配置

背景:某家庭使用华为 AR 系列路由器,光猫桥接模式下,路由器 PPPoE 拨号上网。

# ===== 完整配置 =====

# 1. 内网 LAN 口
[HUAWEI] interface Vlanif10
[HUAWEI-Vlanif10] ip address 192.168.3.1 255.255.255.0

# 2. WAN 口物理接口
[HUAWEI] interface GigabitEthernet0/0/0
[HUAWEI-GigabitEthernet0/0/0] pppoe-client dialer-bundle number 1

# 3. PPPoE 拨号接口
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] link-protocol ppp
[HUAWEI-Dialer0] ip address negotiate
[HUAWEI-Dialer0] ppp authentication-type chap
[HUAWEI-Dialer0] ppp chap user broadband_user
# ppp chap user 配置本地 CHAP 认证用户名(被认证方);注意不是 ppp chap username
[HUAWEI-Dialer0] ppp chap password cipher Huawei@123
[HUAWEI-Dialer0] dialer user broadband_user
[HUAWEI-Dialer0] dialer bundle 1

# 4. DHCP 服务器(给内网 PC 分配 IP)
[HUAWEI] dhcp enable
[HUAWEI] ip pool LAN_POOL
[HUAWEI-ip-pool-LAN_POOL] network 192.168.3.0 mask 255.255.255.0
[HUAWEI-ip-pool-LAN_POOL] gateway-list 192.168.3.1
[HUAWEI-ip-pool-LAN_POOL] dns-list 114.114.114.114
[HUAWEI] interface Vlanif10
[HUAWEI-Vlanif10] dhcp select global

# 5. Easy-IP NAT
[HUAWEI] acl 2000
[HUAWEI-acl-basic-2000] rule 5 permit source 192.168.3.0 0.0.0.255
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] nat outbound 2000

# 6. 默认路由
[HUAWEI] ip route-static 0.0.0.0 0.0.0.0 Dialer0

# 7. 保存配置
<HUAWEI> save 

4.2 案例二:拨号后 NAT 不生效

故障现象:PPPoE 拨号成功获取到公网 IP,但内网无法上网。

# 排查步骤

# Step 1: 确认拨号成功且获取到 IP
<HUAWEI> display ip interface brief Dialer0
# 确认 Dialer0 有公网 IP 且状态为 up/up

# Step 2: 确认默认路由存在
<HUAWEI> display ip routing-table
# 应存在 0.0.0.0/0 指向 Dialer0

# Step 3: 确认 NAT 配置
<HUAWEI> display current-configuration interface Dialer0
# 检查是否有 nat outbound 命令

# Step 4: 确认 ACL 匹配内网流量
<HUAWEI> display acl 2000
# 检查 ACL 2000 是否正确匹配内网网段

# Step 5: 验证 NAT 转换是否生效
<HUAWEI> display nat session all
# 访问外网后若有新的 NAT 会话生成、且 New SrcAddr 为公网 IP,说明转换正常
# 若无会话生成,优先检查 ACL 网段、nat outbound 所挂接口与方向
<HUAWEI> display acl dataplane statistics 2000
# 查看 ACL 2000 转发面命中计数;命中为 0 时问题在匹配侧(命令以版本为准)
# 如需抓包定位,部分平台可用 capture-packet interface Vlanif10(命令因版本而异)
# 抓包关注点:内网发出的包源 IP 应为私网地址;Dialer 口发出的包源 IP 应为公网地址

# 常见根因:
# 1. nat outbound 未配置 → 补充 nat outbound 2000
# 2. ACL 网段错误 → 修正为实际内网网段
# 3. PPPoE 未拨通 → 检查用户名密码

4.3 案例三:IP 变更导致外网无法访问内网服务

故障背景:企业通过 PPPoE 拨号上网,内部有一台 Web 服务器通过静态 NAT 对外发布。每次路由器重启重拨后,外网 IP 变化,导致域名解析到的旧 IP 无法访问。

# 问题根因:
# PPPoE 每次拨号 IP 不同 → 静态 NAT 的公网 IP 也跟着变化
# 域名解析缓存旧 IP → 外网用户访问失败

# 解决方案:
# 方案1(推荐):申请固定公网 IP(专线)
# 方案2:部署动态 DNS(DDNS)

# DDNS 配置示例(华为 AR 路由器思路)
# 实际 VRP 命令以设备版本手册为准,下面给出常见结构:
[HUAWEI] ddns policy myddns
# URL 中 <h> 代表主机名(FQDN)、<a> 代表接口当前 IP,由设备自动代入(变量写法以版本为准)
[HUAWEI-ddns-policy-myddns] url http://members.3322.org/dyndns/update?hostname=<h>&myip=<a>
[HUAWEI-ddns-policy-myddns] username ddns_user
[HUAWEI-ddns-policy-myddns] password cipher Ddns@123
[HUAWEI-ddns-policy-myddns] interval 60    # 更新间隔,单位与取值范围以版本为准
[HUAWEI] interface Dialer0
[HUAWEI-Dialer0] ddns apply policy myddns fqdn mycompany.ddns.net
# IP 变更后,路由器自动向 DDNS 服务器更新域名解析

说明:华为 VRP 在不同版本提供的 DDNS 命令和参数有所差异,部分平台还可能需要先开启 ddns enable,并配置 DNS 解析(dns resolve、dns server)后才能正常更新。正式部署前请按设备版本手册核对完整命令。

五、总结

对比维度 Easy-IP 地址池 PAT
公网地址来源 接口当前 IP 预配置地址池
IP 变动适应 自动 需手动修改
配置命令 nat outbound <acl> nat outbound <acl> address-group <n>
多 IP 支持 单接口单 IP 地址池多 IP
典型场景 PPPoE 拨号、DHCP 固定专线、多 IP 池
Easy-IP 配置检查清单 说明
出接口已获取 IP 拨号成功或 DHCP 获取成功
默认路由指向出接口 否则流量不到达出口
ACL 匹配内网源地址 范围不能过大或过小
nat outbound 应用在出接口 而非入接口
DNS 配置正确 内网需要 DNS 解析域名
保存配置 重启后配置不丢失

思考

  1. Easy-IP 不指定 address-group,设备如何知道使用哪个 IP 做地址转换?
  2. 如果 PPPoE 拨号失败(没有获取到 IP),Easy-IP 配置是否还会生效?
  3. Easy-IP 与动态 NAT 地址池模式相比,在并发连接能力上有区别吗?

下篇预告:第44篇:NAT 服务器映射:内网服务器对外发布