基于Ipsec+GRE的BGP联合组网实现

基于Ipsec+GRE的BGP联合组网实现

IPsec VPN用于在两个端点之间提供安全的ip通信,但只能加密并传播单播数据,无法加密和传输语音、视频、动态路由协议等组播数据流量;

通用路由封装协议GRE(Generic Routing Encapsulation)提供了将一种协议的报文封装在另一种协议报文中的机制,是一种隧道封装技术,GRE可以封装组播数据,并可以和IPsec结合使用,从而保证语音、视频等组播业务的安全。

这里,我们采用Ipsec封装GRE的方式,进行BGP的组网实验;

1.Transit网络拓扑如下图所示

拓扑:
  CE和PE通过10.10.10.0/24网段进行公网通信;CE上的路由信息同PE上的fib table 1进行通信,IP地址范围是10.10.10.0/24;

  然后建立PE(Provider)和CE(Client)之间的ipsec+gre网络连接,采用ipsec over gre的overlay技术方案。CE和PE的gre 接口ip分别是10.10.0.2/32和10.10.0.1/30。192.18.0.2/32是CE设备的ipsec地址,192.18.0.1/32是PE设备的ipsec地址,被设置为各自loopback接口ip。
  PE上创建一个loopback接口,将src的地址配到loopback上;CE是嵌入式OpernWrt系统,无法创建新loopback,可以创建一个子接口,将198.18网段的ip配到子接口上;gre 隧道的src地址是本地loopback接口地址,dst是对端的198.18的地址。

  整个PE内部结构如下图所示。

VRF_Ipsec_Gre_BGP

2.PE端设置ipsec+gre接口

配置vpp接口ip和gre,假设PE为vpp:

3.CE端设置ipsec+gre接口

4.PE和CE端Ipsec配置和启动

  Ipsec配置文件,主要配置leftsubnet和rightsubnet字段,leftsubnet配置为gre的src地址,rightsubnet配置为gre的dst地址:

  1. 修改Ipsec.conf,vpp下路径为/usr/local/etc/ipsec.conf,vsr100下为/etc/ipsec.conf;

最后通过命令重启网络

  1. 修改ipsec.secrets,PE下路径为/usr/local/etc/ipsec.secrets,CE下为/etc/ipsec.secrets:
    添加一行:
    : PSK "Vpp123";

  2. PE和CE上都执行ipsec restart,然后在一端上执行ipsec up test(test是隧道的名称),就可以建立ipsec.通过ipsec status命令查看状态。

  3. 测试ipsec+gre连通情况

5.PE端打通转发和控制平面实现BGP通信

6.配置BGP

6.1 PE端设置bgp

6.2 CE端设置bgp

查看bgp连接状态建立成功

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注