VPN ----虚拟专用网络
依靠ISP或者其它公用网络基础设施上构建专用的安全数据通信网络 ---线路为逻辑性而非物理性
虚拟:用户不在需要拥有实际的长途数据线缆,而是使用公共网络资源建立自己的专用网络
专用:可以定制最符合自生需求的网络
核心技术:封装技术
GRE ---通用路由封装
在源IP地址报头前加上路由器出接口IP地址(源IP,目的IP)报头
配置内容(接口为物理接口):
R3配置:
[Huawei]int Tunnel 0/0/0 ---创建隧道接口
[Huawei-Tunnel0/0/0]ip add 192.168.3.1 24 ---接口配置IP地址,IP地址必须为私网地址
[Huawei-Tunnel0/0/0]tunnel-protocol gre ---定义封装方式 ---一端配置即可双UP,防止其检测机制误判另一端口不可用
定义封装内容:
[Huawei-Tunnel0/0/0]source 34.0.0.1 ---配置其源IP地址(该地址为真实的公网出口IP地址)
[Huawei-Tunnel0/0/0]destination 45.0.0.2 ---配置其目的IP地址(该地址为真实的公网入口IP地址)
R5配置:
同R3配置,IP地址变化
两台路由器配置其路由信息:
R3:
ip route-static 192.168.2.0 24 192.168.3.2 ---下一跳为隧道接口IP
R5:
ip route-static 192.168.1.0 24 192.168.3.1 ---下一跳为隧道接口IP
GRE封装和解封装过程
1. 设备从连接私网的接口接收到数据包后,检查报文头部中的目的IP地址字段,在路由表中查找出接口,如果发现出接口为隧道接口,则将报文发送给隧道模块进行处理。
2. 隧道模块接收到报文后,首先根据乘客协议的类型和当前GRE隧道配置的校验和参数,对报文进行GRE封装
3. 然后,设备给报文添加新的传输协议,该协议的源IP就是隧道源地址,目的IP为隧道目的地址
4. 最后,设备根据新条件的IP报文头部中的目的地址,在路由表中查找对应的出接口并发送报文
5. 接收端设备从连接公网的接口收到报文后,首先分析IP报文头部信息,如果发现协议字段类型值为47(GRE协议号),表示数据部分由GRE模块进行处理 ----GRE模块去除掉IP报文头部和GRE报文头部,并根据GRE报文头部中的协议类型字段来判断乘客协议内容。从而交给对应模块处理。
keepalive检测机制
[Huawei-Tunnel0/0/0]keepalive period 3 retry-times 5 ---设置其发送周期为3S,重传次数为5次
MGRE
只有单播,没有组播和广播
NHRP ---下一跳解析协议
hub-spok架构 ----中心到节点架构;NHS ----下一跳服务器
中心节点的IP地址必须固定
用途:其它路由器向中心服务器进行注册,并生成一个信息表;所有的数据都将通过中心服务器,中心服务器作为一个数据中转中心
MGRE 的 shortcut配置:
hub(中心)配置:
(默认全部设备在区域0内)
[r6]interface Tunnel 0/0/0
[r6-Tunnel0/0/0]ip address 192.168.5.1 24
[r6-Tunnel0/0/0]tunnel-protocol gre p2mp ----修改接口封装协议为GRE,且为点到多点模式
[r6-Tunnel0/0/0]source 67.0.0.1
Spoke节点配置:
[r8]interface Tunnel 0/0/0
[r8-Tunnel0/0/0]ip address 192.168.5.2 24
[r8-Tunnel0/0/0]source GigabitEthernet 0/0/0 ---当出接口IP会变化,则书写接口名称,不会变化时,书写出接口IP地址也可
[r8-Tunnel0/0/0]nhrp entry 192.168.5.1 67.0.0.1 register
(192.68.5.1)hub的虚拟接口IP (67.0.0.1)hub的物理接口IP (register)注册
[r8]display nhrp peer all ----查看nhrp映射表
最后应补充路由信息
节点路由器访问其它节点路由器时,其路由信息下一跳为中心节点 Tunnel 口IP地址
DSVPN ---动态智能VPN
传统的MGRE技术存在的问题 ---分部之间无法直接通讯(源分支无法获取目的分支的公网地址,也就无法建立VPN隧道),导致所有的分支之间的通讯数据只能通过总部HUB设备进行中转
NHRP映射表
静态表项:
1.由网络管理员手工配置
2.spoke与hub建立的静态的mgre隧道
动态表项:
1.由NHRP协议动态生成
2.hub节点被动获取到spoke节点发送来的注册信息
3.各个spoke节点通过NHRP协议获取到对端的spoke节点的映射关系
4.老化时间:7200s
NHRP映射表的建立过程
建立spoke到hub之间的mgre隧道
1.spoke向hub注册请求
2.hub向spoke注册应答
分支路由学习
DSVPN支持两种分支间路由学习方式:
1.分支间互相学习路由----非shortcut方式 ---适用于小型网络
每个分支需要学习到所有对端的路由数据,且下一跳为分支本身
2.分支路由汇聚到总部----shortcut方式 ----适用于大型网络
下一跳为hub设备
建立spoke与spoke之间的mgre隧道
在shortcut方式下需要添加的配置:
中心:
[r6-Tunnel0/0/0]nhrp redirect ----开启重定向功能(默认情况为未启动)
分支:
[r8-Tunnel0/0/0]nhrp shortcut ----使用shortcut功能
MGRE环境下的RIP网络搭建 ---非shortcut
数据包转发通过查看路由表进行转发
配置内容:
宣告私网地址和虚拟地址网段
224.0.0.5/224.0.0.6 ---RIP组播更新地址
[r1]rip 1
[r1-rip-1]version 2 ---选择版本2(可以传递携带子网掩码的路由信息,无类路由)
[r1-rip-1]network 192.168.1.0 ---宣告私网地址网段(激活接口)
[r1-rip-1]network 192.168.5.0 ---宣告虚拟地址网段(激活接口)
配置缺省路由
其它路由器同上配置,IP地址变化
分支没有获取到中心的路由信息
因为RIP是以组播的方式在发送报文,而MGRE环境下是点到点的通讯,不支持组播行为
解决思路:
开启伪广播(MGRE环境内仍为单播)
[r6-Tunnel0/0/0]nhrp entry multicast dynamic ---中心节点配置
分支间无法获取对方的路由信息
主要是因为华为的路由器默认开启水平分割机制(路由器从某个接口接收到的路由更新信息不允许再从这个接口发回去),导致中心无法从接口将分支的路由信息发出去
解决思路:
关闭水平分割
[r6-Tunnel0/0/0]undo rip split-horizon ---关闭水平分割(中心节点配置)
路由汇总
[r1-Tunnel0/0/0]rip summary-address 192.168.0.0 21
MGRE环境下的RIP网络搭建 ---shortcut
数据包转发通过查看NHRP映射表进行转发
配置内容:
中心节点:
[r6-Tunnel0/0/0]nhrp entry multicast dynamic ---开启伪广播(中心节点配置)
[r6-Tunnel0/0/0]undo rip split-horizon ---关闭水平分割(中心节点配置)
[r6-Tunnel0/0/0]nhrp redirect ----开启重定向功能(默认情况为未启动)
分支:
[r8-Tunnel0/0/0]nhrp shortcut ----使用shortcut功能
基于RIP构建MGRE环境(shortcut)
配置内容
R1配置(中心节点):
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
interface Tunnel0/0/0
ip address 192.168.5.1 255.255.255.0
undo rip split-horizon ---关闭水平分割
tunnel-protocol gre p2mp ---修改接口封装协议为GRE,且为点到多点模式
source 15.0.0.1 ---源IP地址
nhrp redirect ---开启重定向功能
nhrp entry multicast dynamic ---开启伪广播功能
rip 1 ---开启RIP
version 2 ---选择版本2
network 192.168.1.0 ---宣告私网地址网段(激活接口)
network 192.168.5.0 ---宣告虚拟地址网段(激活接口)
ip route-static 0.0.0.0 0.0.0.0 15.0.0.2 ---配置缺省路由
R2配置:
interface GigabitEthernet0/0/0
ip address 192.168.2.1 255.255.255.0
interface Tunnel0/0/0
ip address 192.168.5.2 255.255.255.0
tunnel-protocol gre p2mp
source 25.0.0.1
nhrp shortcut ---使用shortcut功能
nhrp entry 192.168.5.1 15.0.0.1 register ---向中心节点注册
rip 1
version 2
network 192.168.2.0
network 192.168.5.0
ip route-static 0.0.0.0 0.0.0.0 25.0.0.2
R3配置:
interface GigabitEthernet0/0/0
ip address 192.168.3.1 255.255.255.0
interface Tunnel0/0/0
ip address 192.168.5.3 255.255.255.0
tunnel-protocol gre p2mp
source 35.0.0.1
nhrp shortcut
nhrp entry 192.168.5.1 15.0.0.1 register
rip 1
version 2
network 192.168.3.0
network 192.168.5.0
ip route-static 0.0.0.0 0.0.0.0 35.0.0.2
实验结果
R1中心节点映射表
R1中心节点路由表
R1 ping R2
R1 ping R3
R2映射表
R2路由表
R2 ping R3
R3映射表
R3路由表
R3 ping R1