一、拓扑与 IP 规划回顾

设备 接口 IP 地址 / 掩码 说明
R1 GE_0/0 192.47.1.1/24 内网网关
R1 Ser_1/0 20.47.0.1/24 外网接口,NAT 出接口
R2 Ser_1/0 20.47.0.2/24 外网接口
R2 GE_0/0 192.47.2.1/24 内网网关
PC_3 GE_0/1 192.47.1.2/24 内网主机
PC_4 GE_0/1 192.47.2.2/24 内网主机
NAT 地址池 - 20.47.0.3 ~ 20.47.0.10 公网地址池

二、路由器 R1 完整配置(核心 ACL+NAT)

# 1. 基础配置:修改设备名,配置接口IP
<R1> system-view
[R1] sysname R1
[R1] interface GigabitEthernet 0/0
[R1-GigabitEthernet0/0] ip address 192.47.1.1 255.255.255.0
[R1-GigabitEthernet0/0] quit

[R1] interface Serial 1/0
[R1-Serial1/0] ip address 20.47.0.1 255.255.255.0
[R1-Serial1/0] quit

# 2. 配置静态路由(让R1知道R2侧的内网网段)
[R1] ip route-static 192.47.2.0 255.255.255.0 20.47.0.2

# 3. 配置ACL:允许需要NAT转换的内网网段
# 基础ACL 2000,匹配PC_3所在的192.47.1.0/24网段
[R1] acl basic 2000
[R1-acl-ipv4-basic-2000] rule permit source 192.47.1.0 0.0.0.255
[R1-acl-ipv4-basic-2000] quit

# 4. 配置NAT地址池(公网地址段20.47.0.3-20.47.0.10)
[R1] nat address-group 1
[R1-address-group-1] address 20.47.0.3 20.47.0.10
[R1-address-group-1] quit

# 5. 在出接口Serial1/0上配置NAPT(PAT)转换
# 绑定ACL 2000和地址池1,实现内网地址复用公网地址池
[R1] interface Serial 1/0
[R1-Serial1/0] nat outbound 2000 address-group 1
[R1-Serial1/0] quit

# (可选)配置Easy IP备用方案(直接用出接口IP转换,无需地址池)
# [R1] interface Serial 1/0
# [R1-Serial1/0] nat outbound 2000
# [R1-Serial1/0] quit

三、路由器 R2 配置(基础连通)

# 1. 基础配置:修改设备名,配置接口IP
<R2> system-view
[R2] sysname R2
[R2] interface GigabitEthernet 0/0
[R2-GigabitEthernet0/0] ip address 192.47.2.1 255.255.255.0
[R2-GigabitEthernet0/0] quit

[R2] interface Serial 1/0
[R2-Serial1/0] ip address 20.47.0.2 255.255.255.0
[R2-Serial1/0] quit

# 2. 配置静态路由(回指R1的内网网段,保证回程流量可达)
[R2] ip route-static 192.47.1.0 255.255.255.0 20.47.0.1

四、PC 端配置

设备 IP 地址 子网掩码 默认网关
PC_3 192.47.1.2 255.255.255.0 192.47.1.1
PC_4 192.47.2.2 255.255.255.0 192.47.2.1

五、验证与查看 NAT 转换地址的命令

1. 查看 NAT 地址池信息(确认地址池状态)

[R1] display nat address-group

输出会显示地址池 1 的起止 IP、已使用地址数、空闲地址数。

2. 查看 NAT 会话表(核心验证,看转换关系)

[R1] display nat session all

输出会显示内网 IP → 转换后的公网 IP / 端口的对应关系,例如:192.47.1.2:1025 → 20.47.0.3:20001,说明地址池中的公网 IP 已被正常分配。

3. 查看所有 NAT 配置

[R1] display nat all

可查看 NAT 地址池、outbound 规则、ACL 绑定情况。

4. 测试连通性

  • PC_3 ping 20.47.0.2(R2 的 Serial 接口),能通则说明 NAT 转换生效。
  • PC_3 ping 192.47.2.2(PC_4),验证跨网段连通性。

六、常见问题排查

  1. NAT 不生效,会话表为空
    • 检查 ACL 是否配置了permit规则,且源网段与 PC_3 的网段一致。
    • 检查nat outbound是否绑定在正确的出接口(Serial1/0)上。
    • 确认 PC 已发起访问外网的流量(ping / 访问),静态场景下无流量不会生成会话。
  2. 地址池地址不分配
    • 检查地址池的起止 IP 是否在 Serial 接口的网段内(20.47.0.0/24)。
    • 检查地址池配置是否正确,无语法错误。

如果你需要,我可以帮你补充限制部分主机访问外网的 ACL 规则,或者配置外网主动访问内网的 NAT Server 静态映射。需要吗?

nat server global 20.47.0.254 inside 192.47.1.2差这个

我帮你把这条 nat server 命令完整配置到你的拓扑里,同时讲清它的作用和注意事项:


一、nat server 命令作用说明

这条命令的作用是配置静态 NAT 端口映射,让外网用户可以通过公网地址 20.47.0.254 访问到内网主机 192.47.1.2(PC_3),常用于发布内网服务器。

# 标准格式(你提供的命令,是一个完整的静态映射)
nat server global 20.47.0.254 inside 192.47.1.2
  • global 20.47.0.254:外网用户访问的公网 IP 地址
  • inside 192.47.1.2:内网中实际提供服务的主机 IP 地址
  • 默认是所有协议 / 所有端口的映射,相当于把公网 IP 的所有流量都转发到内网主机上。

二、完整配置步骤(在 R1 上执行)

1. 进入出接口配置视图(必须在 NAT 的外网出接口上配置)

# 进入R1的外网Serial接口(NAT出接口)
[R1] interface Serial 1/0

2. 配置完整的 NAT Server 映射

# 配置静态NAT映射:公网20.47.0.254 映射到内网192.47.1.2
[R1-Serial1/0] nat server global 20.47.0.254 inside 192.47.1.2

3. (可选)配置更安全的端口映射(推荐)

如果只需要发布特定服务(比如 HTTP 服务),可以指定协议和端口,避免暴露所有端口:

# 示例:只映射TCP 80端口(HTTP服务)
[R1-Serial1/0] nat server protocol tcp global 20.47.0.254 80 inside 192.47.1.2 80

4. 配置完成后退出接口

[R1-Serial1/0] quit

三、验证配置是否生效

1. 查看 NAT Server 配置

# 查看所有NAT配置,包括server映射
[R1] display nat all

输出中会出现类似以下的条目,说明配置成功:

NAT server information:
Total 1 NAT server(s)
  1. Global IP: 20.47.0.254
     Inside IP: 192.47.1.2
     Protocol: ANY
     Port: 0(ANY) -> 0(ANY)

2. 从外网测试访问

  • 在 R2 或 PC_4 上,ping 20.47.0.254,如果能通,说明映射生效。
  • 如果配置了端口映射,可以用 telnet 20.47.0.254 80 测试端口连通性。

四、关键注意事项

  1. 公网 IP 必须和出接口同网段20.47.0.254 必须属于 Serial1/0 接口所在的 20.47.0.0/24 网段,否则外网路由无法将流量转发到 R1。
  2. 避免 IP 冲突确保 20.47.0.254 没有被其他设备(比如 R2)占用,否则会导致 IP 地址冲突。
  3. ACL 放行回程流量(可选)如果配置了限制外网访问的 ACL,需要确保规则允许外网访问 20.47.0.254 的流量。

五、补充:和 NAT 地址池的区别

配置方式 作用 适用场景
nat outbound + 地址池 内网主动访问外网,复用公网 IP / 端口 普通用户上网
nat server 外网主动访问内网,静态 IP 映射 发布内网服务器、网站
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐