实现访问总公司服务器方法:
1.物理专线 --- 成本,地理位置限制
2.两次nat --- 不安全,服务器暴露在公网中
GRE
VPN --- 虚拟专用网
--- VPN技术的核心 --- 隧道技术 --- 封装技术
GRE --- (vpn的一种)通用路由封装
希望的数据包:
SIP:192.168.1.1 | DIP:192.168.2.1 | 数据 |
但真实的数据包:
SIP:12.0.0.1 | DIP:23.0.0.2 | 数据 |
GRE --- 粘黏剂
SIP:12.0.0.1 | DIP:23.0.0.2 | GRE | SIP:192.168.1.1 | DIP:192.168.2.1 | 数据 |
数据包的内容:
隧道技术: 在隧道的两端通过封装及解封装在公网中建立一条数据通道,使用这条数据通道进行传输。
GRE配置的方法:
1.创建隧道接口
[a1]int Tunnel 0/0/0
[a1-Tunnel0/0/0]
2.接口配置ip地址
[a1-Tunnel0/0/0]ip add 192.168.3.1 24
3.定义封装方式
[a1-Tunnel0/0/0]tunnel-protocol gre
4.定义封装内容
[a1-Tunnel0/0/0]source 12.0.0.1
[a1-Tunnel0/0/0]description 12.0.0.2
MGRE
NHRP
--- 下一跳解析协议
NHS
---- 下一跳解析服务器
NHS工作原理:
需要在私网中选择一个出口物理地址固定的设备作为NHS,剩下的所有分支都应该知道中心的隧道地址和物理地址,然后,NHRP要求所有分支将自己的物理接口和隧道接口的IP地址的映射关系发送给NHS,如果物理地址发生变化,则需要重新发送,这样NHS可以获取到所有分支的地址的映射关系。分支之间如果需要相互通信,则需要向中心申请获取映射关系表 --- 这种架构称为 hub-spoke架构。
MGRE配置方式:
1、中心的配置
1、创建隧道接口
[a2]int Tunnel 0/0/0
[a2-Tunnel0/0/0]
2、接口配置IP地址:
[a2-Tunnel0/0/0]ip add 192.168.5.1 24
3、定义封装方式:
[a2-Tunnel0/0/0]tunnel-protocol gre p2mp
4、定义封装内容:
[a2-Tunnel0/0/0]source 15.0.0.2
5、创建NHRP域:
[a2-Tunnel0/0/0]nhrp network-id 1
--- network-id 具有全局意义,所有分支都必须使用相同的id
2、分支的配置:
1、创建隧道接口:
[a3]interface Tunnel 0/0/0
[a3-Tunnel0/0/0]
2、接口配置地址:
[a3-Tunnel0/0/0]ip address 192.168.5.2 24
3、定义封装方式:
[a3-Tunnel0/0/0]tunnel-protocol gre p2mp
4、定义封装内容(因为公网地址允许变化,所以直接定为接口):
[a3-Tunnel0/0/0]source GigabitEthernet 0/0/0
5、加入到中心创建的NHRP中:
[a3-Tunnel0/0/0]nhrp network-id 1
6、上报信息到中心:
[a4-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.2 register
--- 地址为中心的隧道地址和接口地址
[a2]display nhrp peer all --- 查看NHRP邻居的注册情况
MGRE环境在数据发送时,依旧走的点到点的隧道,所以在数据传输时依然是点到点的传输。所以MGRE环境是一个类似于NBMA的环境
RIP实现MGRE环境遇到的问题:
1、只有中心获取到了分支的路由信息,而分支没有获取到
原因:MGRE只能点到点,而RIP发送路由信息用的广播和组播
解决方式:在中心开启伪广播
[a2-Tunnel0/0/0]nhrp entry multicast dynamic
2、中心开启伪广播,分支只能收到中心的路由信息,但没有分支的。
原因:RIP的水平分割机制导致
解决方式:关闭水平分割
[a2-Tunnel0/0/0]undo rip split-horizon