【思科】GRE VPN 的实验配置
- 前言
- 报文格式
 
- 实验需求
- 配置
- 拓扑
- GRE配置步骤
- R1
- 基础配置
- GRE 配置
 
- ISP_R2
- 基础配置
 
- R3
- 基础配置
- GRE 配置
 
- PC
- PC1
- PC2
 
 
 
- 抓包检查
- OSPF建立
- GRE隧道建立
 
- 配置文档

前言
VPN :(Virtual Private Network),即“虚拟专用网络”。
 它是一种通过公用网络(通常是互联网)建立安全加密连接的技术,可以在不安全的公共网络上建立起加密通道,将网络数据加密传输,从而实现数据传输的加密、安全和隐私保护
而GRE(Generic Routing Encapsulation),即通用路由封装协议。
 提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题。
要注意哦,它是可以在公网上面传输,但它是没有对数据进行加密的。
报文格式
这个就是GRE VPN的报文,本质上面就是在原有的基础上,加上公网IP,使之能在公网上传输我两个私网的数据。
 
实验需求
R1、R2、R3实现公网互通。在私网上运行OSPF路由协议,现需要PC1和PC2通过公网实现私网互通,同时需要保证私网数据传输的可靠性。
 其中PC1和PC2上分别指定R1和R3为自己的网关。
配置
拓扑

GRE配置步骤
① 创建虚拟Tunnel接口
 ② 设置Tunnel接口的网络地址和掩码
 ③ 指定Tunnel的源端IP地址
 ④ 指定Tunnel的目的端IP地址
R1
基础配置
R1(config)#int e0/0
R1(config-if)#no shutdown 
R1(config-if)#ip address 202.101.12.1 255.255.255.0
R1(config-if)#exR1(config)#int e0/1
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.10.254 255.255.255.0
R1(config-if)#ex##配置默认路由指向ISP运营商,实现公网可达
R1(config)#ip route 0.0.0.0 0.0.0.0 202.101.12.2       
GRE 配置
R1(config)#int tunnel 13      ## 创建GRE隧道,命名为13,两边隧道名字要同名,不然建立不起来
R1(config-if)#ip address 13.13.13.1 255.255.255.0   ## 配置隧道地址
R1(config-if)#tunnel source 202.101.12.1            ## GRE隧道的源IP
R1(config-if)#tunnel destination 202.101.23.3       ## GRE隧道的目的IP
R1(config-if)#ex ## 动态路由 OSPF
R1(config)#int range e0/1,tunnel 13                ## 进入接口
R1(config-if-range)#ip ospf 110 area 0             ## 接口通告
R1(config-if-range)#ex## 静态路由
[ R1(config)#ip route 192.168.20.0 255.255.255.0 tunnel 13  ]
ISP_R2
基础配置
ISP_R2(config)#int e0/0
ISP_R2(config-if)#no shutdown
ISP_R2(config-if)#ip address 202.101.12.2 255.255.255.0
ISP_R2(config-if)#exISP_R2(config)#int e0/1
ISP_R2(config-if)#no shutdown 
ISP_R2(config-if)#ip address 202.101.23.2 255.255.255.0
ISP_R2(config-if)#ex
R3
基础配置
R3(config)#int e0/0
R3(config-if)#no shut
R3(config-if)#ip address 202.101.23.3 255.255.255.0
R3(config-if)#exR3(config)#int e0/1
R3(config-if)#no shut
R3(config-if)#ip address 192.168.20.254 255.255.255.0
R3(config-if)#ex##配置默认路由指向ISP运营商,实现公网可达
R3(config)#ip route 0.0.0.0 0.0.0.0 202.101.23.2        
GRE 配置
R3(config)#int tunnel 13
R3(config-if)#ip address 13.13.13.3 255.255.255.0
R3(config-if)#tunnel source 202.101.23.3 
R3(config-if)#tunnel destination 202.101.12.1
R3(config-if)#ex## 动态路由 OSPF
R3(config)#int range e0/1,tunnel 13
R3(config-if-range)#ip ospf 110 area 0
R3(config-if-range)#ex## 静态路由
[ R3(config)#ip route 192.168.10.0 255.255.255.0 tunnel 13  ]
PC
因为我是在EVE中来操作思科模拟器,所以我就用路由器来模拟PC电脑,就需要关闭路由功能
PC1
PC1(config)#no ip routing                            ## 关闭路由功能
PC1(config)#ip default-gateway 192.168.10.254        ## 配置网关PC1(config)#int e0/0
PC1(config-if)#no shutdown                 
PC1(config-if)#ip address 192.168.10.1 255.255.255.0  
PC1(config-if)#ex
PC2
PC2(config)#no ip routing                            ## 关闭路由功能
PC2(config)#ip default-gateway 192.168.20.254        ## 配置网关PC2(config)#int e0/0
PC2(config-if)#no shutdown
PC2(config-if)#ip address 192.168.20.1 255.255.255.0
PC2(config-if)#ex
抓包检查
记住这个报文格式,到后面看我抓包的内容就能够很好地理解啦~
 
OSPF建立
查看邻居的建立情况
 
 
GRE隧道建立
当GRE的网段地址(13.13.13.0)能够相互通信的时候,就表明GRE的隧道是建立成功了
 如下图所示
 但这个时候,我PC两边是不能通信的
 因为路由表上面是没有这条明细路由,而我又想让它走GRE隧道通过公网到达分部,实行私网通信。
 这个时候,可以用OSPF等动态路由协议或者静态路由都可以,将本部的私网接口(e0/1)和隧道接口(tunnel 13)都通告进去,然后对面的也是一样,这样子就能够或得到一条明细路由
 去往分部的流量走GRE隧道(其实就是在报文头加上GRE封装,封装里面是公网IP作为头部),就能实现通信
 
 
 
 
配置文档
R1
hostname R1int e0/0
no shut
ip address 202.101.12.1 255.255.255.0
exint e0/1
no shut
ip address 192.168.10.254 255.255.255.0
exip route 0.0.0.0 0.0.0.0 202.101.12.2      int tunnel 13
ip address 13.13.13.1 255.255.255.0
tunnel source 202.101.12.1
tunnel destination 202.101.23.3
exint range e0/1,tunnel 13
ip ospf 110 area 0
ex
R3
hostname R3int e0/0
no shutdown
ip address 202.101.23.3 255.255.255.0
exint e0/1
no shutdown
ip address 192.168.20.254 255.255.255.0
exip route 0.0.0.0 0.0.0.0 202.101.23.2   int tunnel 13
ip address 13.13.13.3 255.255.255.0
tunnel source 202.101.23.3
tunnel destination 202.101.12.1
exint range e0/1,tunnel 13
ip ospf 110 area 0
ex