实验
通过建立GRE隧道实现企业内网互访并实现NAT上网
实验拓扑:
拓扑描述:
如图所示:R1、R3分别模拟两个企业A、B的出口路由器,R1的lo0口模拟企业A的内网网段,R3的lo0口模拟企业B的内网网段。R2模拟运营商的路由器,其中R2的lo0口模拟一个公网IP-用于测试企业A、B到公网的连通性。各接口的IP地址如图上所示。
实验需求:
通过在R1和R3上创建GRE隧道接口、并运行OSPF动态路由协议是企业A、B的内网网段可以实现互访-同时不影响企业A、B的各自正常上网流量。
实验配置:
R1:
interface Loopback0
ip address 10.1.1.1 255.255.255.255 ip nat inside
interface Tunnel0 创建隧道接口0
ip address 192.168.1.1 255.255.255.0 给隧道接口配置IP地址 tunnel source 12.1.1.1 指定隧道的源地址
tunnel destination 23.1.1.2 指定隧道的目的地址 interface FastEthernet0/0
ip address 12.1.1.1 255.255.255.0 ip nat outside
router ospf 1 运行OSPF动态路由协议 log-adjacency-changes
network 10.1.1.1 0.0.0.0 area 0 将内部接口宣告进OSPFF区域0 network 192.168.1.1 0.0.0.0 area 0 将隧道接口宣告进OSPF区域0 ip route 0.0.0.0 0.0.0.0 12.1.1.2 出公网的默认路由
ip nat inside source list nat interface FastEthernet0/0 overload PAT配置 ip access-list extended nat NAT匹配流量ACL
deny ip host 10.1.1.1 host 10.3.3.3 拒绝要走GRE隧道的流量
permit ip any any R2:
interface Loopback0
ip address 2.2.2.2 255.255.255.255 interface FastEthernet0/0
ip address 12.1.1.2 255.255.255.0 interface FastEthernet0/1
ip address 23.1.1.1 255.255.255.0 R3:
interface Loopback0
ip address 10.3.3.3 255.255.255.255 ip nat inside interface Tunnel0
ip address 192.168.1.2 255.255.255.0 tunnel source 23.1.1.2 tunnel destination 12.1.1.1 interface FastEthernet0/1
ip address 23.1.1.2 255.255.255.0 ip nat outside router ospf 1
log-adjacency-changes
network 10.3.3.3 0.0.0.0 area 0 network 192.168.1.2 0.0.0.0 area 0 ip route 0.0.0.0 0.0.0.0 23.1.1.1
ip nat inside source list nat interface FastEthernet0/1 overload ip access-list extended nat
deny ip host 10.3.3.3 host 10.1.1.1 permit ip any any
实验测试:
测试1:
在R1上用lo0口ping2.2.2.2并查看NAT转换
以上说明到公网的连通性测试成功 测试2:
在R1上用lo0口ping10.3.3.3并查看NAT转换(首先要确认隧道接口建立成功,OSPF邻居建立成功,并学到对端路由)
GRE隧道接口UP
OSPF邻接关系建立
学到对端的OSPF路由
Ping对端网段IP成功,同时注意NAT转换为空,而ping2.2.2.2则看到有NAT转换,说明区分了上网和走隧道流量
抓包分析:
在R1的f0/0口抓包分析
隧道接口发送的OSPF HELLO包
到公网2.2.2.2的ping测试包
到对端网络的ping测试包及其细节展开
可以看到这是一个ICMP的包,包的源地址为企业A的内网地址10.1.1.1目的地址为企业B的内网地址10.3.3.3,再网上是一个GRE(IP)的头部,最外层的IP头部的源和目的地址分别
是企业A、B的公网接口地址。再往上是以太网2帧-其协议类型标明了上层为IP。最外部是抓包的一些信息(包括多少帧、多少字节多少比特、线上传输多少、抓到了多少)。
实验总结:
通过抓包分析可以看到GRE并为对隧道里面传输的数据包做任何的加密处理,因为在抓到的包中可以看到真实的源目IP地址和真实传输的协议数据类型。GRE当然有它的用处-例如可以在上面跑动态路由!