【思科】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)#ex
R1(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)#ex
ISP_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)#ex
R3(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 R1
int e0/0
no shut
ip address 202.101.12.1 255.255.255.0
ex
int e0/1
no shut
ip address 192.168.10.254 255.255.255.0
ex
ip 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
ex
int range e0/1,tunnel 13
ip ospf 110 area 0
ex
R3
hostname R3
int e0/0
no shutdown
ip address 202.101.23.3 255.255.255.0
ex
int e0/1
no shutdown
ip address 192.168.20.254 255.255.255.0
ex
ip 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
ex
int range e0/1,tunnel 13
ip ospf 110 area 0
ex