GRE和MGRE
VPN
VPN --- Vitual Private Network, 虚拟私有网):是指依靠ISP或其他NSP在公用网络基础设施之上构建的专用的安全数据通信网络,只不过这个专线网络是逻辑上的而不是物理的,所有称为虚拟专用网。
虚拟:用户不再需要拥有实际的长途数据线路,而是使用公共网络资源建立自己的私有网络。
专用:用户可以定制最符合自身需求的网络。
核心技术:隧道技术
GRE
VPN技术的核心其实是隧道技术,GRE就是一种隧道封装技术。
隧道技术:在隧道的两端,通过封装及解封装技术在公网上建立一条数据通道,使用这条通道进行数据传输。
GRE --- 通用路由封装,标准的三层隧道技术,是一种点对点的隧道
思路:
配接口IP
配环回
配缺省R1指向R3,R3指向R1
配置acl,nat
配置隧道(最后需要配置隧道的静态,让数据包走隧道)
R1隧道配置
[R1]interface Tunnel 0/0/0(进入隧道接口)
[R1-Tunnel0/0/0]tunnel-protocol gre(定义封装方式)
[R1-Tunnel0/0/0]ip address 10.1.1.1 24(创建隧道接口的IP地址)
[R1-Tunnel0/0/0]source 12.0.0.1(想要隧道通讯的源地址,也就是R1的GE0/0/0接口的IP地址)
[R1-Tunnel0/0/0]destination 23.0.0.1(想要隧道通讯的目标地址,也就是R3的GE0/0/0接口的IP地址)
[R1]ping -a 10.1.1.1 10.1.1.2(检测隧道是否通)
[R1]ip route-static 192.168.2.0 24 Tunnel 0/0/0(配置静态路由,让走隧道)
[R1]ping -a 192.168.1.1 192.168.1.2(最终检测是否通)
R3隧道配置
[R3]interface Tunnel 0/0/0(进入隧道接口)
[R3-Tunnel0/0/0]tunnel-protocol gre(协议选择gre)
[R3-Tunnel0/0/0]ip address 10.1.1.2 24(创建隧道接口的IP地址)
[R3-Tunnel0/0/0]source 23.0.0.1(想要隧道通讯的源地址,也就是R3的GE0/0/0接口的IP地址)
[R3-Tunnel0/0/0]destination 12.0.0.1(想要隧道通讯的目标地址,也就是R1的GE0/0/0接口的IP地址)
[R3]ping -a 10.1.1.2 10.1.1.1(检测隧道是否通)
[R3]ip route-static 192.168.1.0 24 Tunnel 0/0/0(配置静态路由,让走隧道)
[R3]ping -a 192.168.1.2 192.168.1.1(最终检测是否通)
MGRE
因为GRE存在缺陷,他创建的通道是一个点到点的隧道,导致其拓展性较差。要是存在多个分公司需要和总部连接,融为一个私网时,利用GRE技术需要打通的通道就太多了。
这种场景就可以使用MGRE(多点通用路由封装协议)
我们希望所有可以像MA网络一样,用一个网段将所有的私网连接起来
但这样有一个问题,GRE是点到点的虚拟隧道,他在发送的时候必须要指定要封装的源IP和目标IP,现在这种场景下无法指定目标IP。
所有MGRE的核心任务就是需要想办法将这个过程变成动态的,我和谁通信,目标地址就修改成谁。
这里就需要用到一个协议的辅助,那就是NHRP