一、简介¶
本章介绍了SNMP协议的基础配置,给出了GRE协议的配置实例,给出了使用eNSP软件与真实PC进行桥接的方法实例,以及NAT技术的配置实例。
二、实现eNSP与真实PC桥接¶
2.1 原理概述¶
eNSP不仅支持单机部署,同时还支持Server端分布式部署在多台服务器上,分布式部署环境下能够支持更多设备组成的复杂的大型网络。eNSP还可于真实设备对接,通过虚拟设备接口与真实网卡的绑定,实现虚拟设备与真实设备的对接,进而实现虚拟网络与真实网络的互连互通。
2.2 云设备基础配置实验¶
2.2.1 实验目的¶
1、掌握在eNSP中使用云设备与虚拟PC连接的方法 2、掌握在eNSP中使用云设备与真实PC上的物理网卡桥接的方法
2.2.2 实验内容¶
本实验将介绍如何使用eNSP中的云设备实现模拟器与真实电脑的桥接,实现与真实电脑或其他设备间的正常通信。
2.2.3 实验步骤¶
2.2.3.1 配置云设备¶
1、打开模拟器,将'云设备'拖进拓扑图中。在云设备图标上单击鼠标右键,在弹出的快捷菜单中选择"设置"命令。
2、进入云设置界面后,创建一个端口。在'绑定信息'下拉列表中选择'UDP',在'端口类型'下拉列表选择'Ethernet',然后单击'增加'按钮,新创建端口的信息将会出现在端口信息中,序列号为1。
3、创建另一个端口。'绑定信息'选择真实PC中任意一个网卡地址,这里选择了PC中的无线网卡,IP地址为192.168.31.129,'端口类型'仍然选择'Ethernet'。单击'增加'按钮,端口列表中会显示第二个端口的信息。
4、在'端口映射设置'栏中创建端口的映射关系。在"入端口编号"下拉列表中选择'2',即刚才创建的对应真实PC上无线网卡的端口;将'出端口编号'选择为'1',选中'双向通道'复选框,然后单击'增加'按钮,即可添加到右侧的'端口映射表'中。端口映射表说明了模拟器的设备与真实的PC之间的通信连接方式,指明了数据从哪个接口发送,从哪个接口接收。

2.2.3.2 为模拟器添加设备,实现与真实设备桥接¶
1、在eNSP模拟器上添加一台虚拟PC,使用线缆连接到云设备的E0/0/1接口,启动设备。
2、设置PC上的IP地址为192.168.31.250,子网掩码为255.255.255.0(该地址要配置成与真实电脑的IP地址为同一网段)
2.2.3.3 验证模拟器中的PC与真实PC之间的连通性¶
1、在真实PC上使用Ping命令,验证与模拟器中虚拟PC间的连通性,观察到可以连通。
C:\Users\zq>ping 192.168.31.250
正在 Ping 192.168.31.250 具有 32 字节的数据:
来自 192.168.31.250 的回复: 字节=32 时间=27ms TTL=64
来自 192.168.31.250 的回复: 字节=32 时间=10ms TTL=64
来自 192.168.31.250 的回复: 字节=32 时间=18ms TTL=64
来自 192.168.31.250 的回复: 字节=32 时间=13ms TTL=64
192.168.31.250 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 10ms,最长 = 27ms,平均 = 17ms
2、在模拟器上使用Ping命令,验证与真实PC之间的连通性,观察到可以连通。
PC>ping 192.168.31.129
Ping 192.168.31.129: 32 data bytes, Press Ctrl_C to break
From 192.168.31.129: bytes=32 seq=1 ttl=128 time<1 ms
From 192.168.31.129: bytes=32 seq=2 ttl=128 time=16 ms
From 192.168.31.129: bytes=32 seq=3 ttl=128 time<1 ms
From 192.168.31.129: bytes=32 seq=4 ttl=128 time<1 ms
From 192.168.31.129: bytes=32 seq=5 ttl=128 time=16 ms
--- 192.168.31.129 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 0/6/16 ms
注意:为保证与真实PC通信能够正常进行,请先关闭操作系统的防火墙!!!
三、SNMP基础配置¶
3.1 原理概述¶
SNMP(Simple Network Management Protocol,简单网络管理协议)就是规定网管站和设备之间如何传递管理信息的应用层协议。SNMP定义了网络管理设备的几种操作,以及设备故障时能向网管主动发送告警。网络管理使用SNMP协议时存在网络管理站(NMS)、代理进程(Agent)和被管理设备3个角色。 网络管理站(NMS):向被管理设备发送各种查询报文,以及接收被管理设备发送的告警; 代理进程(Agent):是被管理设备上的一个代理进程,用于维护被管理设备的信息数据并响应来自NMS的请求,把管理数据汇报给发送请求的NMS。Agent的作用为接收、解析来自网管站的查询报文;根据报文类型对管理变量进行Read或Write操作,并生成响应报文,并返回给网管站;根据各协议模块对告警触发条件的定义,在达到触发条件后,如进入、退出系统视图或设备重新启动等,相应的模块通过Agent主动向网管站发送告警,报告所发生的事件; 被管理设备:接收网管的管理,产生和主动上报告警。
3.2 SNMP版本¶
SNMP一共三个版本,分别为v1、v2c、v3,开启SNMP服务后默认同时兼容3个版本。当网络规模小且安全性较高时,在规划时可配置设备使用SNMPv1版本与网管进行通信;当网络规模较大且安全性较高时,但运行业务较为繁忙,在规划时配置设备使用SNMPv2c版本与网管进行通信;当网络规模较大且安全性较低时,在规划时配置设备使用SNMPv3版本与网管进行通信,并配置认证和加密功能保证安全性。
3.3 SNMP基础配置实验¶
3.3.1 实验目的¶
1、理解SNMP应用场景 2、掌握配置SNMP Agent的方法 3、掌握配置SNMP版本的方法 4、掌握配置管理站、用户权限的方法
3.3.2 实验内容¶
本实验模拟真实网络场景。在网络中分部部署了两台管理站设备(NMS)和一台代理站设备(Agent),分别使用两台PC来模拟NMS;一台路由器模拟Agent。本实验将介绍如何配置Agent设备、版本,配置管理站及用户权限,了解SNMP协议的作用及管理方法。被管理设备可以是路由器、服务器、交换机、主机、等设备,一般与Agent部署在同一网络。
3.3.3 实验拓扑¶

3.3.4 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| NMS-1 | E0/0/1 | 10.1.1.1 | 255.255.255.0 | N/A |
| NMS-2 | E0/0/1 | 10.1.1.2 | 255.255.255.0 | N/A |
| Agent(AR2220) | G0/0/0 | 10.1.1.254 | 255.255.255.0 | N/A |
| ### 3.3.5 实验步骤 | ||||
| #### 3.3.5.1 基本配置 | ||||
| 1、将两台PC模拟成管理站,分别为NMS-1、NMS-2,根据实验编址表配置设备名称及IP地址,并验证连通性。 | ||||
| #### 3.3.5.2 开启Agent服务 | ||||
| 1、将路由器模拟成代理设备,需要为其开启SNMP Agent服务。 |
[Agent]snmp-agent
2、配置完成后,使用dis snmp-agent sys-info命令查看SNMP信息,显示当前默认情况下所运行的SNMP版本为v1、v2c、v3。
[Agent]dis snmp-agent sys-info
The contact person for this managed node:
R&D Shenzhen, Huawei Technologies Co., Ltd.
The physical location of this node:
Shenzhen China
SNMP version running in the system:
SNMPv1 SNMPv2c SNMPv3
3.3.5.3 配置SNMP版本¶
1、根据实际网络需求,使用snmp-agent sys-info v3命令配置SNMP版本为v3。
[Agent]snmp-agent sys-info version v3
2、配置完成后,使用dis snmp-agent sys-info version命令查看SNMP信息,显示当前默认情况下所运行的SNMP版本为v3。
[Agent]dis snmp-agent sys-info version
SNMP version running in the system:
SNMPv3
说明:由于SNMPv3版本适用于大型网络规模,且可以配置认证加密,在实际工作环境下通常使用该版本!!!
3.3.5.4 配置NMS管理权限¶
1、如果网络中不止一个管理站用户,可以根据业务需要,为不同管理站用户设置不同的访问权限。本实验中有两个管理站用户,现仅允许NMS-2可以管理设备。 2、配置基本ACL,限制NMS-2设备、NMS-1不允许登录设备。
[Agent]acl 2000
[Agent-acl-basic-2000]rule permit source 10.1.1.2 0.0.0.0
[Agent-acl-basic-2000]rule deny source 10.1.1.1 0.0.0.0
3、配置用户组为group,用户名为user,指定使用ACL2000。
[Agent]snmp-agent usm-user v3 user group acl 2000
4、配置完成后,使用dis snmp-agent usm-user命令查看SNMPv3的用户信息,观察到,配置已经生效。
[Agent]dis snmp-agent usm-user
User name: user
Engine ID: 800007DB03000000000000
Group name: group
Authentication mode: No authentication mode, Privacy mode: No privacy mode
Storage type: nonVolatile
User status: active
Acl: 2000
Total number is 1
3.3.5.5 配置向SNMP Agent输出Trap信息¶
1、配置Agent发送Trap消息。用于接收该Trap消息的网管名为adminNMS2,目标地址为10.1.1.2,且指定接收该消息使用UDP端口9991。Trap消息的发送参数信息列表名称为trapNMS2。
[Agent]snmp-agent target-hos trap-hostname adminNMS2 address 10.1.1.2 udp-port 9
991 trap-paramsname trapNMS2
2、开启设备的告警开关。只有将该开关打开以后,Agent才会向网管站发送告警消息。
[Agent]snmp-agent trap enable
Info: All switches of SNMP trap/notification will be open. Continue? [Y/N]:y
3、设置告警消息的队列长度为200(默认值为100)。如果某个时间段trap报文消息很多,为防止丢包,可以设置增加消息队列长度以便减少丢包的情况发生。
[Agent]snmp-agent trap queue-size 200
4、设置报文消息的保存时间为240s(默认值为120s)。该值是Trap报文消息的生存时间,如果超过该时间报文将会被丢弃,不再发送,也不再保存。
[Agent]snmp-agent trap life 240
5、为了便于维护,配置管理员的联系方式,电话为400-822-9999,地址为中国深圳。
[Agent]snmp-agent sys-info contact call admin 400-822-9999
[Agent]snmp-agent sys-info location ShenZhen China
6、配置完成后使用dis snmp-agent sys-info 命令查看相关的系统信息
[Agent]dis snmp-agent sys-info
The contact person for this managed node:
call admin 400-822-9999
The physical location of this node:
ShenZhen China
SNMP version running in the system:
SNMPv3
7、使用dis snmp-agent target-host 命令查看SNMP Agent输出网管信息,观察到Trap目标主机名为adminNMS2 ,主机地址为10.1.1.2 ,主机端口为9991,目标主机参数列表名为trapNMS2。
[Agent]dis snmp-agent target-host
Traphost list:
Target host name: adminNMS2
Traphost address: 10.1.1.2
Traphost portnumber: 9991
Target host parameter: trapNMS2
Total number is 1
Parameter list trap target host:
Total number is 0
四、GRE协议基础配置¶
4.1 原理概述¶
GRE(Generic Routing Encapsulation,通用路由封装协议)提供了将一种协议报文封装在另一种协议报文中的机制,使报文能够在异种网络(IPv4网络)中传输,而异种报文传输的通道称为Tunnel。 GRE协议也可以作为VPN的第三层隧道(Tunnel)协议,为VPN数据提供透明传输通道。Tunnel是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据能够在这个通路上传输,并在一个Tunnel的两端分别对数据报进行封装及解封装。
4.2 GRE协议基础配置实验¶
4.2.1 实验目的¶
1、理解GRE协议的使用场景 2、掌握配置GRE隧道的方法 3、掌握配置基于GRE接口的动态路由协议的方法
4.2.2 实验内容¶
本实验模拟企业网络场景。R1为企业总部的网关设备,并且内部有一台服务器,R3连接着企业分公司的网关设备,R2为公网ISP设备。一般情况下,运营商只会维护自身的公网路由信息,而不会维护企业内部私网的路由信息,即运营商设备上的路由表中不会出现任何企业内部私网的路由条目。通过配置GRE实现公司总部和分部之间的私网路由信息的透传及数据通信。
4.2.3 实验拓扑¶

4.2.4 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| Server | E0/0/0 | 192.168.10.10 | 255.255.255.0 | 192.168.10.1 |
| R1(AR2220) | E2/0/0 | 192.168.10.1 | 255.255.255.0 | N/A |
| R1(AR2220) | S1/0/0 | 10.1.12.1 | 255.255.255.0 | N/A |
| R2(AR2220) | S1/0/0 | 10.1.12.2 | 255.255.255.0 | N/A |
| R2(AR2220) | S1/0/1 | 10.1.23.2 | 255.255.255.0 | N/A |
| R3(AR2220) | S1/0/0 | 10.1.23.1 | 255.255.255.0 | N/A |
| R3(AR2220) | E2/0/0 | 192.168.20.1 | 255.255.255.0 | N/A |
| PC | E0/0/1 | 192.168.20.20 | 255.255.255.0 | 192.168.20.1 |
| ### 4.2.5 实验步骤 | ||||
| #### 4.2.5.1 基本配置 | ||||
| 1、根据实验编制表进行相应的基本配置,并使用Ping命令检测各直连链路的连通性。 | ||||
| 2、在R1和R3上分别配置访问公网路由器R2的默认路由。 |
[R1]ip route-static 0.0.0.0 0.0.0.0 10.1.12.2
[R3]ip route-static 0.0.0.0 0.0.0.0 10.1.23.2
3、配置完成后,在PC上测试与总部服务器间的连通性。观察到,跨越了互联网的两个私网网段之间默认是无法直接通信的。此时可以通过GRE协议来实现通信。
PC>ping 192.168.10.10
Ping 192.168.10.10: 32 data bytes, Press Ctrl_C to break
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
--- 192.168.10.10 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
4.2.5.2 配置GRE Tunnel¶
1、在路由器R1上配置GRE Tunnel,使用interface Tunnel 0/0/1命令创建隧道接口,指定隧道模式为GRE。配置R1Tunnel接口的源地址为其S1/0/0接口IP地址,目的地址为R3的S1/0/0接口IP地址。使用ip address命令配置Tunnel接口的IP地址(要和对端R3配置的IP地址在同一网段)。
[R1]interface Tunnel 0/0/1
[R1-Tunnel0/0/1]tunnel-protocol gre
[R1-Tunnel0/0/1]source 10.1.12.1
[R1-Tunnel0/0/1]destination 10.1.23.1
[R1-Tunnel0/0/1]ip add 172.16.1.1 24
2、在路由器R3上配置GRE Tunnel,使用interface Tunnel 0/0/1命令创建隧道接口,指定隧道模式为GRE。配置R3Tunnel接口的源地址为其S1/0/0接口IP地址,目的地址为R1的S1/0/0接口IP地址。使用ip address命令配置Tunnel接口的IP地址(要和对端R1配置的IP地址在同一网段)。
[R3]int Tunnel 0/0/1
[R3-Tunnel0/0/1]tunnel-protocol gre
[R3-Tunnel0/0/1]source 10.1.23.1
[R3-Tunnel0/0/1]destination 10.1.12.1
[R3-Tunnel0/0/1]ip add 172.16.1.2 24
3、配置完成后,在R1上测试本端隧道接口地址与目的端口隧道接口地址的连通性。观察到通信正常。
[R3]ping -a 172.16.1.2 172.16.1.1
PING 172.16.1.1: 56 data bytes, press CTRL_C to break
Reply from 172.16.1.1: bytes=56 Sequence=1 ttl=255 time=30 ms
Reply from 172.16.1.1: bytes=56 Sequence=2 ttl=255 time=20 ms
Reply from 172.16.1.1: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 172.16.1.1: bytes=56 Sequence=4 ttl=255 time=30 ms
Reply from 172.16.1.1: bytes=56 Sequence=5 ttl=255 time=30 ms
--- 172.16.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/30/40 ms
4、在R1和R3上分别执行dis interface Tunnel命令查看隧道接口状态。观察到,当前隧道接口的物理层状态为正常启动状态,链路层状态为正常启动状态,隧道封装协议为GRE协议,Tunnel的IP地址及所配置的隧道和目的地址分别为R1和R3的S1/0/0接口地址。
[R1]dis interface Tunnel
Tunnel0/0/1 current state : UP
Line protocol current state : UP
Last line protocol up time : 2022-02-20 19:07:03 UTC-08:00
Description:HUAWEI, AR Series, Tunnel0/0/1 Interface
Route Port,The Maximum Transmit Unit is 1500
Internet Address is 172.16.1.1/24
Encapsulation is TUNNEL, loopback not set
Tunnel source 10.1.12.1 (Serial1/0/0), destination 10.1.23.1
Tunnel protocol/transport GRE/IP, key disabled
keepalive disabled
Checksumming of packets disabled
Current system time: 2022-02-20 19:13:35-08:00
300 seconds input rate 0 bits/sec, 0 packets/sec
300 seconds output rate 40 bits/sec, 0 packets/sec
0 seconds input rate 0 bits/sec, 0 packets/sec
0 seconds output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
15 packets output, 1620 bytes
0 output error
Input bandwidth utilization : --
Output bandwidth utilization : --
[R3]dis inter Tunnel
Tunnel0/0/1 current state : UP
Line protocol current state : UP
Last line protocol up time : 2022-02-20 19:08:05 UTC-08:00
Description:HUAWEI, AR Series, Tunnel0/0/1 Interface
Route Port,The Maximum Transmit Unit is 1500
Internet Address is 172.16.1.2/24
Encapsulation is TUNNEL, loopback not set
Tunnel source 10.1.23.1 (Serial1/0/0), destination 10.1.12.1
Tunnel protocol/transport GRE/IP, key disabled
keepalive disabled
Checksumming of packets disabled
Current system time: 2022-02-20 19:15:01-08:00
300 seconds input rate 0 bits/sec, 0 packets/sec
300 seconds output rate 0 bits/sec, 0 packets/sec
0 seconds input rate 0 bits/sec, 0 packets/sec
0 seconds output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
10 packets output, 1080 bytes
0 output error
Input bandwidth utilization : --
Output bandwidth utilization : --
5、在R1和R3上执行dis ip routing-table命令查看路由表。观察到,R1和R3的路由表中已经有所配置隧道接口的路由条目。即R1和R3间已经形成了类似点到点直连的逻辑链路,但没有互相接收到对方的私网路由信息。
<R1>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 15
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 Serial1/0/0
10.1.12.0/24 Direct 0 0 D 10.1.12.1 Serial1/0/0
10.1.12.1/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.12.2/32 Direct 0 0 D 10.1.12.2 Serial1/0/0
10.1.12.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 Direct 0 0 D 172.16.1.1 Tunnel0/0/1
172.16.1.1/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
172.16.1.255/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
192.168.10.0/24 Direct 0 0 D 192.168.10.1 Ethernet2/0/0
192.168.10.1/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
192.168.10.255/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
<R3>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 15 Routes : 15
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.23.2 Serial1/0/0
10.1.23.0/24 Direct 0 0 D 10.1.23.1 Serial1/0/0
10.1.23.1/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.23.2/32 Direct 0 0 D 10.1.23.2 Serial1/0/0
10.1.23.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 Direct 0 0 D 172.16.1.2 Tunnel0/0/1
172.16.1.2/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
172.16.1.255/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
192.168.20.0/24 Direct 0 0 D 192.168.20.1 Ethernet2/0/0
192.168.20.1/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
192.168.20.255/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
4.2.5.3 配置基于GRE接口的动态路由协议¶
1、测试分部与总部服务器之间的连通性。观察到依旧无法通信,原因是目前还没有配置基于GRE隧道接口的路由协议。GRE协议支持组播数据的传输,因此可以支持一些动态协议的运行,动态路由协议通过GRE协议形成的逻辑隧道在R1和R3间传递路由信息。
PC>ping 192.168.10.10
Ping 192.168.10.10: 32 data bytes, Press Ctrl_C to break
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!
--- 192.168.10.10 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
2、在R1和R3上配置RIPv2协议,通告相应的私网网段和Tunnel接口所在网络。
[R1]rip
[R1-rip-1]version 2
[R1-rip-1]undo summary
[R1-rip-1]network 192.168.10.0
[R1-rip-1]network 172.16.0.0
[R3]rip 1
[R3-rip-1]version 2
[R3-rip-1]undo summary
[R3-rip-1]network 172.16.0.0
[R3-rip-1]network 192.168.20.0
3、配置完成后,分别在R1和R3上使用dis rip 1 neighbor命令查看RIP邻居。观察到,此时双方都已经通过隧道接口建立了RIP邻居关系。
[R1]dis rip 1 neighbor
---------------------------------------------------------------------
IP Address Interface Type Last-Heard-Time
---------------------------------------------------------------------
172.16.1.2 Tunnel0/0/1 RIP 0:0:7
Number of RIP routes : 1
[R3]dis rip 1 neighbor
---------------------------------------------------------------------
IP Address Interface Type Last-Heard-Time
---------------------------------------------------------------------
172.16.1.1 Tunnel0/0/1 RIP 0:0:10
Number of RIP routes : 1
4、查看R1、R3的路由表,观察到,双方都能接收到各自内部私有网络发送过来的路由更新。
[R1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 16 Routes : 16
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.12.2 Serial1/0/0
10.1.12.0/24 Direct 0 0 D 10.1.12.1 Serial1/0/0
10.1.12.1/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.12.2/32 Direct 0 0 D 10.1.12.2 Serial1/0/0
10.1.12.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 Direct 0 0 D 172.16.1.1 Tunnel0/0/1
172.16.1.1/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
172.16.1.255/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
192.168.10.0/24 Direct 0 0 D 192.168.10.1 Ethernet2/0/0
192.168.10.1/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
192.168.10.255/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
192.168.20.0/24 RIP 100 1 D 172.16.1.2 Tunnel0/0/1
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[R3]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 16 Routes : 16
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 10.1.23.2 Serial1/0/0
10.1.23.0/24 Direct 0 0 D 10.1.23.1 Serial1/0/0
10.1.23.1/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.23.2/32 Direct 0 0 D 10.1.23.2 Serial1/0/0
10.1.23.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 Direct 0 0 D 172.16.1.2 Tunnel0/0/1
172.16.1.2/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
172.16.1.255/32 Direct 0 0 D 127.0.0.1 Tunnel0/0/1
192.168.10.0/24 RIP 100 1 D 172.16.1.1 Tunnel0/0/1
192.168.20.0/24 Direct 0 0 D 192.168.20.1 Ethernet2/0/0
192.168.20.1/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
192.168.20.255/32 Direct 0 0 D 127.0.0.1 Ethernet2/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
5、测试分公司PC与总部服务器的连通性。观察到,通信正常。
PC>ping 192.168.10.10
Ping 192.168.10.10: 32 data bytes, Press Ctrl_C to break
From 192.168.10.10: bytes=32 seq=1 ttl=253 time=31 ms
From 192.168.10.10: bytes=32 seq=2 ttl=253 time=31 ms
From 192.168.10.10: bytes=32 seq=3 ttl=253 time=32 ms
From 192.168.10.10: bytes=32 seq=4 ttl=253 time=31 ms
From 192.168.10.10: bytes=32 seq=5 ttl=253 time=31 ms
--- 192.168.10.10 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/31/32 ms
6、查看R2的路由表,观察到R2上没有任何R1和R3的各自私网网段的路由信息。说明通过GRE协议建立起的隧道,能够跨公网传递各个内网私有网络的路由信息,实现了两个私有网络间的跨公网通信。
[R2]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.12.0/24 Direct 0 0 D 10.1.12.2 Serial1/0/0
10.1.12.1/32 Direct 0 0 D 10.1.12.1 Serial1/0/0
10.1.12.2/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.12.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/0
10.1.23.0/24 Direct 0 0 D 10.1.23.2 Serial1/0/1
10.1.23.1/32 Direct 0 0 D 10.1.23.1 Serial1/0/1
10.1.23.2/32 Direct 0 0 D 127.0.0.1 Serial1/0/1
10.1.23.255/32 Direct 0 0 D 127.0.0.1 Serial1/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
说明:对于一个GRE隧道接口是否处于UP状态,仅取决于本端设备物理接口是否正常开启、隧道源、目的地址是否配置以及隧道接口地址是否配置了IP地址,这里需要注意的是设备不会并不会检测对端隧道端点地址是否真的可达,而只判断本地路由表中是否存在到达对端隧道地址端点地址的路由(含默认路由)。为此GRE引入了keepalive机制以定期检测对端隧道端点的可达性,避免路由转发黑洞问题。
4.3 思考¶
GRE是一种三层隧道协议,可以形成逻辑的点到点直连隧道,支持组播数据的传输,但是它的安全性能较差,不能实现隧道中所传输数据的加密。那么GRE应采用何种方式实现组播数据跨互联网的加密传输? 答:虽然GRE的安全性能不高,但是它支持组播和非IP协议的传输,而IPsec VPN技术能够实现加密和数据完整性校验,但不支持组播和非IP协议的传输。所以在项目上部署中,大多将GRE与IPsec VPN相结合使用,称为"GRE Over IPsec "。
五、配置NAT¶
5.1 原理概述¶
NAT是将IP数据报文头部中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有地址)的功能。 NAT有3种类型:静态NAT、动态NAT以及网络地址转换NAPT NAT转换设备(实现NAT功能的网络设备)维护着地址转换表,所以经过NAT转换设备并且需要进行地址转换的报文,都会经过该表做相应转换。NAT转换设备处于内部网络和外部网络的连接处,常见的有路由器、防火墙等。
5.2 NAT配置实验¶
5.2.1 实验目的¶
1、理解NAT的应用场景 2、掌握静态NAT的配置 3、掌握NAT Outbound的配置 4、掌握NAT Easy-IP的配置 5、掌握NAT Server的配置
5.2.2 实验内容¶
本实验模拟企业网络场景。R1是公司的出口网关路由器,公司内员工和服务器都通过S1或S2连接到R1上,R2模拟外网设备与R1直连。由于公司内网都使用私网IP地址,为了实现公司内网分员工可以访问外网,服务器可以供外网用户访问,网络管理员需要在路由器R1上配置NAT;使用静态NAT和NAT Outbound技术使部门员工可以访问外网,使用NAT Server技术使服务器可以供外网用户访问。
5.2.3 实验拓扑¶

5.2.4 实验编址¶
| 设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
|---|---|---|---|---|
| R1(AR2220) | G0/0/0 | 202.169.10.1 | 255.255.255.0 | N/A |
| R1(AR2220) | G0/0/1 | 172.16.1.254 | 255.255.255.0 | N/A |
| R1(AR2220) | G0/0/2 | 172.17.1.254 | 255.255.255.0 | N/A |
| R2(AR2220) | G0/0/0 | 202.169.10.2 | 255.255.255.0 | N/A |
| R2(AR2220) | LoopBack0 | 202.169.20.1 | 255.255.255.0 | N/A |
| PC-1 | E0/0/1 | 172.16.1.1 | 255.255.255.0 | 172.16.1.254 |
| PC-2 | E0/0/1 | 172.17.1.2 | 255.255.255.0 | 172.17.1.254 |
| PC-3 | E0/0/1 | 172.17.1.3 | 255.255.255.0 | 172.17.1.254 |
| Server | E0/0/0 | 172.16.1.3 | 255.255.255.0 | 172.16.1.254 |
5.2.5 实验步骤¶
5.2.5.1 基本配置¶
根据实验编制表进行相应的基本配置,并使用Ping命令检测各直连链路的连通性。
5.2.5.2 配置静态NAT¶
1、公司在网关路由器R1上配置访问外网的默认路由。
[R1]ip route-static 0.0.0.0 0.0.0.0 202.169.10.2
2、假设PC-1为客户经理使用的终端,不仅需要自身能访问外网,还需要外网用户能够直接访问他,分配一个公网IP地址202.169.10.5给PC-1做静态NAT地址转换。在R1的GE0/0/0接口下使用nat static命令配置内部地址到外部地址的一对一转换。
[R1-GigabitEthernet0/0/0]nat static global 202.169.10.5 inside 172.16.1.1
3、配置完成后,在R1上查看NAT静态配置信息,并在PC-1上使用Ping命令测试与外网的连通性。观察到,PC-1通过静态NAT地址转换已经成功访问到外网。
[R1]display nat static
Static Nat Information:
Interface : GigabitEthernet0/0/0
Global IP/Port : 202.169.10.5/----
Inside IP/Port : 172.16.1.1/----
Protocol : ----
VPN instance-name : ----
Acl number : ----
Netmask : 255.255.255.255
Description : ----
Total : 1
PC-1>ping 202.169.20.1
Ping 202.169.20.1: 32 data bytes, Press Ctrl_C to break
From 202.169.20.1: bytes=32 seq=1 ttl=254 time=110 ms
From 202.169.20.1: bytes=32 seq=2 ttl=254 time=46 ms
From 202.169.20.1: bytes=32 seq=3 ttl=254 time=47 ms
From 202.169.20.1: bytes=32 seq=4 ttl=254 time=47 ms
From 202.169.20.1: bytes=32 seq=5 ttl=254 time=31 ms
--- 202.169.20.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 31/56/110 ms
4、在路由器R1的GE0/0/0接口下抓包查看NAT地址转换是否成功。观察到R1已经成功把来自PC-1的ICMP报文的源地址172.16.1.1转换为公网地址202.169.10.5。

5、在R2上使用环回口LoopBack0模拟外网用户访问PC-1,并在PC-1的E0/0/1接口上观察。观察到由于PC-1的私网地址转换为唯一的公网地址,外网用户也能主动访问PC-1,且数据包在经过R1进入内网的时候,R1把目的IP地址转换为与公网地址202.169.10.5对应的私网地址172.16.1.1发送给PC-1。
[R2]ping -a 202.169.20.1 202.169.10.5
PING 202.169.10.5: 56 data bytes, press CTRL_C to break
Request time out
Reply from 202.169.10.5: bytes=56 Sequence=2 ttl=127 time=60 ms
Reply from 202.169.10.5: bytes=56 Sequence=3 ttl=127 time=70 ms
Reply from 202.169.10.5: bytes=56 Sequence=4 ttl=127 time=50 ms
Reply from 202.169.10.5: bytes=56 Sequence=5 ttl=127 time=70 ms
--- 202.169.10.5 ping statistics ---
5 packet(s) transmitted
4 packet(s) received
20.00% packet loss
round-trip min/avg/max = 50/62/70 ms

5.2.5.3 配置NAT Outbound¶
1、市场部使用私网IP地址为172.17.1.0/24网段,使用公网地址池202.169.10.50-202.169.10.60为市场部做NAT转换。在R1上使用nat address-group命令配置NAT地址池,设置起始和结束地址分别为202.169.10.50和202.169.10.60。
[R1]nat address-group 1 202.169.10.50 202.169.10.60
2、创建基本ACL 2000,匹配20.1.1.0,掩码为24位的地址段。
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 172.17.1.0 0.0.0.255
3、在R1的GE0/0/0接口下使用nat Outbound命令将ACL 2000与地址池相关联,使得ACL中规定的地址可以使用地址池进行地址转换。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 no-pat
4、配置完成后,在R1上查看NAT Outbound信息。观察到R1的NAT Outbound配置信息。
[R1]dis nat outbound
NAT Outbound Information:
--------------------------------------------------------------------------
Interface Acl Address-group/IP/Interface Type
--------------------------------------------------------------------------
GigabitEthernet0/0/0 2000 1 no-pat
--------------------------------------------------------------------------
5、使用PC-2测试与外网的连通性,并在R1的接口GE0/0/0上抓包观察地址转换情况。观察到PC-2可以成功访问外网,来自PC-2的ICMP数据包在R1的GE0/0/0接口上源地址为172.17.1.2被替换为地址池中的第一个地址202.169.10.50。
PC-2>ping 202.169.20.1
Ping 202.169.20.1: 32 data bytes, Press Ctrl_C to break
From 202.169.20.1: bytes=32 seq=1 ttl=254 time=94 ms
From 202.169.20.1: bytes=32 seq=2 ttl=254 time=78 ms
From 202.169.20.1: bytes=32 seq=3 ttl=254 time=46 ms
From 202.169.20.1: bytes=32 seq=4 ttl=254 time=47 ms
From 202.169.20.1: bytes=32 seq=5 ttl=254 time=62 ms
--- 202.169.20.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 46/65/94 ms

5.2.5.4 配置NAT Easy-IP¶
1、Easy-IP是NAPT的一种方式,直接借用路由器出接口IP地址作为公网地址,将不同内部地址映射到同一公有地址的不同端口号上,实现多对一地址转换。 2、配置R1的GE0/0/0接口为Easy-IP接口。在R1的GE0/0/0接口上删除NAT Outbound配置,并使用nat outbound命令配置Easy-IP特性,直接使用接口IP地址作为NAT地址转换后的地址。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]undo nat outbound 2000 address-group 1 no-pat
[R1-GigabitEthernet0/0/0]nat outbound 2000
3、配置完成后,在PC-2和PC-3上使用UDP发包工具发送UDP数据包到公网地址202.169.20.1,配置好目的IP和UDP源、目的端口号后,输入字符串后单击'发送'按钮。

4、在PC-2和PC-3发送UDP数据包后,使用dis nat session protocol udp verbose命令在R1上查看NAT Session的详细信息。观察到,源地址为172.17.1.2的UDP数据包被新源地址202.169.10.1和新源端口号10242替换,源地址为172.17.1.3的UDP数据包被新源地址202.169.10.1和新源端口号10241替换。R1借用自身GE0/0/0接口的公网IP地址为所有私网地址做NAT地址转换,使用不同的端口号区分不同私网数据。
[R1]dis nat session protocol udp verbose
NAT Session Table Information:
Protocol : UDP(17)
SrcAddr Port Vpn : 172.17.1.2 2560
DestAddr Port Vpn : 202.169.20.1 2560
Time To Live : 120 s
NAT-Info
New SrcAddr : 202.169.10.1
New SrcPort : 10242
New DestAddr : ----
New DestPort : ----
Protocol : UDP(17)
SrcAddr Port Vpn : 172.17.1.3 2560
DestAddr Port Vpn : 202.169.20.1 2560
Time To Live : 120 s
NAT-Info
New SrcAddr : 202.169.10.1
New SrcPort : 10241
New DestAddr : ----
New DestPort : ----
Total : 2
5.2.5.5 配置NAT Server¶
1、在R1的G0/0/0接口上,使用nat server命令定义内部服务器的映射表,指定服务器通信协议类型为TCP,配置服务器使用的公网IP地址为202.169.10.6,服务器内网地址为172.167.1.3,指定端口号为21,该常用端口号可以直接使用关键字'ftp'代替。
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]nat server protocol tcp global 202.169.10.6 ftp inside
172.16.1.3 ftp
[R1]nat alg ftp enable
说明:对于封装在IP数据报文中的应用层协议报文,正常的NAT转换会导致错误,在开启某应用协议的NAT ALG功能后,该应用层协议报文可以正常进行NAT转换,否则该应用协议不能正常工作。
2、配置完成后,在R1上查看NAT Server信息。观察到,配置已经生效。
[R1]dis nat server
Nat Server Information:
Interface : GigabitEthernet0/0/0
Global IP/Port : 202.169.10.6/21(ftp)
Inside IP/Port : 172.16.1.3/21(ftp)
Protocol : 6(tcp)
VPN instance-name : ----
Acl number : ----
Description : ----
Total : 1
3、开启服务器的FTP功能。

4、设置完服务器后,在R2上模拟公网用户访问该私网服务器。观察到,公网用户可以成功登录公司内的私网FTP服务器。
<R2>ftp 202.169.10.6
Trying 202.169.10.6 ...
Press CTRL+K to abort
Connected to 202.169.10.6.
220 FtpServerTry FtpD for free
User(202.169.10.6:(none)):huawei
331 Password required for huawei .
Enter password:
230 User huawei logged in , proceed
[R2-ftp]
[R2-ftp]ls
200 Port command okay.
150 Opening ASCII NO-PRINT mode data connection for ls -l.
test.txt
226 Transfer finished successfully. Data connection closed.
FTP: 10 byte(s) received in 0.140 second(s) 71.42byte(s)/sec.
5.3 思考¶
什么情况下需要使用到NAT的双向转换? 答:当两个私网IP地址相同(发生重叠)时,并又想能够实现互访,就可以通过中间设备部署双向的nat转换。