2.2 GRE基本实验

2.2.1 实验实际接线状况介绍

在图2-3所示的网络连接示意图中,有3台路由器,由左至右分别模拟公司站点一(Site1)、Internet 路由器(Internet)和公司站点二(Site2)。路由器 Site1 和 Site2分别使用Loopback0模拟公司内部网络。路由器Site1和Internet使用接口Fa0/0实现对接,路由器Internet和Site2使用接口Fa1/0实现对接。

图2-3 GRE基本实验实际接线图

2.2.2 实验拓扑

图2-4所示为该实验的网络拓扑。

图2-4 GRE基本实验拓扑

2.2.3 实验介绍

在图2-4中,路由器Site1和Site2分别模拟公司的两个站点,1.1.1.0/24和2.2.2.0/24分别模拟两个站点内部网络。路由器 Internet 模拟服务提供商路由器。本实验的目标就是通过GRE技术在Site1和Site2两个站点间建立一个点对点GRE隧道,并在GRE的隧道口上运行动态路由协议(OSPF),以学习彼此的内部网络路由。两个站点之间的流量通过GRE隧道封装穿越Internet。

图2-4下半部分所示为数据包在网络不同阶段的封装结构。在Site1内部网络,数据包还未被GRE封装,源IP为1.1.1.1(站点1内部PC),目的为2.2.2.2(站点2内部 PC),紧接着是内层数据。考虑到安全性等因素,这样的数据包显然不能直接在Internet上传输。在Site1和Site2之间的传输链路上,对数据包进行GRE封装,即在原始数据包外面增加一个GRE头部和一个外层IP头部,外层IP头部的源和目的分别是Site1和Site2两台路由器的公网IP地址:202.100.1.1和202.100.2.2。GRE封装后的数据包抵达Site2后被解封装,并在Site2网络内部再次表现为源IP为1.1.1.1、目的为2.2.2.2 的 IP 数据包。

2.2.4 基本网络配置

在配置GRE隧道之前,我们需要首先初始化路由器的IP地址和基本路由。例2-1、例2-2和例2-3分别显示了如何在Site1、Internet和Site2上执行基本的网络配置。

例2-1 Site1上的基本网络配置

enable

configure terminal

!

hostname Site1

!

interface Loopback0

ip address 1.1.1.1 255.255.255.0

!

interface FastEthernet0/0

ip address 202.100.1.1 255.255.255.0

no shutdown

!

ip route 0.0.0.0 0.0.0.0 202.100.1.10

注意:客户站点拥有访问Internet的默认路由

!

end

例2-2 Internet上的基本网络配置

enable

configure terminal

!

hostname Internet

!

interface FastEthernet0/0

ip address 202.100.1.10 255.255.255.0

no shutdown

!

interface FastEthernet1/0

ip address 202.100.2.10 255.255.255.0

no shutdown

!

end

注意:Intenet路由器只有直连路由,没有站点内部网络路由,这也反映了工程中的实际情况:运营商路由器只拥有Internet路由(202.100.1.0/24和202.100.2.0/24),不可能知道客户站点内部网络的路由(1.1.1.0/24和2.2.2.0/24)

例2-3 Site2上的基本网络配置

enable

configure terminal

!

hostname Site2

!

interface Loopback0

ip address 2.2.2.2 255.255.255.0

!

interface FastEthernet1/0

ip address 202.100.2.2 255.255.255.0

no shutdown

!

ip route 0.0.0.0 0.0.0.0 202.100.2.10

注意:客户站点拥有访问Internet的默认路由

!

end

2.2.5 GRE 和动态路由协议OSPF 配置

在3台路由器上完成基本网络配置之后,我们开始来配置点对点GRE隧道,这个隧道会将 Site1 和 Site2 虚拟地连接在一起。这里假定 GRE 隧道的内部网段为123.1.1.0/24,Site1地址为123.1.1.1,Site2地址为123.1.1.2/24。在这个GRE隧道上配置动态路由协议 OSPF,并且将两个站点的内部网络宣告到这个动态路由协议中。例2-4和例2-5所示分别为Site1和Site2上GRE和动态路由协议OSPF的配置。

例2-4 Site1上的GRE和OSPF 配置

Site1(config)#interface Tunnel0

Site1(config-if)# ip address 123.1.1.1 255.255.255.0

Site1(config-if)# tunnel source 202.100.1.1

Site1(config-if)# tunnel destination 202.100.2.2

Site1(config-if)#exit

Site1(config)#router ospf 1

Site1(config-router)# log-adjacency-changes

Site1(config-router)# network 1.1.1.0 0.0.0.255 area 0

Site1(config-router)# network 123.1.1.0 0.0.0.255 area 0

例2-5 Site2上的GRE和OSPF 配置

Site2(config)#interface Tunnel0

Site2(config-if)# ip address 123.1.1.2 255.255.255.0

Site2(config-if)# tunnel source 202.100.2.2

Site2(config-if)# tunnel destination 202.100.1.1

Site2(config-if)#exit

Site2(config-if)#router ospf 1

Site2(config-router)# log-adjacency-changes

Site2(config-router)# network 2.2.2.0 0.0.0.255 area 0

Site2(config-router)# network 123.1.1.0 0.0.0.255 area 0

2.2.6 查看状态与测试

现在查看Site1是否通过OSPF协议学习到Site2内部网络2.2.2.0/24的路由,该路由的下一跳应该为Site2隧道口地址123.1.1.2。例2-6 所示为在Site1 上执行show ip route ospf 命令后得到的查询结果。

例2-6 查看Site1通过OSPF 学习到的路由

Site1#show ip route ospf

 2.0.0.0/32 is subnetted, 1 subnets

O  2.2.2.2 [110/11112] via 123.1.1.2, 00:05:34, Tunnel0

可以看到,Site1已经通过OSPF协议学习到了Site2身后内部网络的路由。现在在Site1上执行ping命令,测试Site1与Site2之间的网络连通性,如例2-7所示。其中,Site1的IP地址为1.1.1.1,Site2的IP地址为2.2.2.2。

例2-7 使用ping命令来测试Site1与Site2之间的连通性

Site1#ping 2.2.2.2 source 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 84/185/268 ms

在Site2上使用与例2-6相同的方法,确认Site2通过OSPF学习到了Site1身后内部网络的路由,如例2-8所示。

例2-8 查看 Site2通过OSPF 学习到的路由

Site2#show ip route ospf

 1.0.0.0/32 is subnetted, 1 subnets

O  1.1.1.1 [110/11112] via 123.1.1.1, 00:04:17, Tunnel0

在Site2上执行ping命令,以测试Site2与Site1之间的网络连通性,如例2-9所示。其中Site1的IP地址为1.1.1.1,Site2的IP地址为2.2.2.2。

例2-9 使用ping命令来测试Site2与Site1之间的连通性

Site2#ping 1.1.1.1 source 2.2.2.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 2.2.2.2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 100/156/264 ms