用Mikrotik Router搭建GRE over IPSec 备用链路

公司在国内、日本、美国、德国、新加坡等多地均有业务,中间业务网络用的公司专有GPN(Global Private Network中文名是全球私有化网络)链路,目前测试搭建一条备用链路,用于网络冗余和故障切换。

初步选用方案GRE over IPSec,跑ospf路由协议。

一、为何要选GRE over IPSec:

  1. 各个site网络比较多,需要使用路由协议进行互联;
  2. IPSEC不支持组播,即不能传递路由协议,在承载路由协议上不如GRE隧道方便;
  3. GRE隧道不能提供加密保障;
  4. 使用GRE在两个网关之间搭建一个隧道,运行路由协议及传输正常数据,使用IPSec对整个GRE隧道进行加密,因此需要把两者进行结合。

二、测试环境:

以中国、日本、美国三地为例,基本网络拓扑如下图,用Mikrotik RouterOS(简称ROS)做路由器和防火墙,中间跑ospf协议。GPN链路就相当于一个大二层,能够把中日美三地打通,相当于专线,因此在网络质量上优于直接走大网,做业务主线,这里不多写;主要写一下如何配置GRE链路实现备用链路功能,在GPN链路中断的时候能够自动切换到备线。

routeros上配置外网:

中国:101.251.x.x

日本:205.177.x.x

美国:38.83.x.x

三地的内网地址:

中国:10.13.24.0/22

日本:10.13.4.0/22

美国:10.13.12.0/22

三地互联地址(用10.13.253.0/24段做互联地址段):

中国和日本:10.13.253.0/30

日本和美国:10.13.253.16/30

美国和中国:10.13.253.4/30

GPN链路网段:

10.13.252.0/24

三、配置

1、三个ros的interface(ether1/2/3分别对应着外网/内网/GPN网络):

2、IPSec配置

中国:

/ip ipsec peer
     add address=205.177.x.x/32:500 comment="JP Link" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

     add address=38.83.x.x/32:500 comment= "USALink" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

/ip ipsec policy
    add src-address=101.251.x.x/32:any dst-address=205.177.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=101.251.x.x sa-dst-address=205.177.x.x proposal=default 
    priority=0
    
    add src-address=101.251.x.x/32:any dst-address=38.83.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=101.251.x.x sa-dst-address=38.83.x.x proposal=default 
    priority=0

日本:

/ip ipsec peer
     add address=101.251.x.x/32:500 comment="BJ Link" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

     add address=38.83.x.x/32:500 comment= "USA Link" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

/ip ipsec policy
    add src-address=205.177.x.x/32:any dst-address=101.251.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=205.177.x.x sa-dst-address=101.251.x.x proposal=default 
    priority=0
    
    add src-address=205.177.x.x/32:any dst-address=38.83.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=205.177.x.x sa-dst-address=38.83.x.x proposal=default 
    priority=0

美国:

/ip ipsec peer
     add address=101.251.x.x/32:500 comment="BJ Link" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

     add address=205.177.x.x/32:500 comment= "JP Link" auth-method=pre-shared-key secret="mypassword"
     generate-policy=no exchange-mode=main send-initial-contact=yes
     nat-traversal=no proposal-check=obey hash-algorithm=sha1
     enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0
     dpd-interval=disable-dpd dpd-maximum-failures=5

/ip ipsec policy
    add src-address=38.83.x.x/32:any dst-address=101.251.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=38.83.x.x sa-dst-address=101.251.x.x proposal=default 
    priority=0
    
    add src-address=38.83.x.x/32:any dst-address=205.177.x.x/32:any
    protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=yes
    sa-src-address=38.83.x.x sa-dst-address=205.177.x.x proposal=default 
    priority=0

中国示例图:

3、GRE配置:

中国:

/interface gre
add name= gre-tunnel1 local-address=101.251.x.x remote-address=205.177.x.x
 comment="JP Link"

add name= gre-tunnel2 local-address=101.251.x.x remote-address=38.83.x.x  
comment="USA Link"

/ip address
add address=10.13.253.1/30 interface=gre-tunnel1 network=10.13.253.0 comment="JP Link"
add address=10.13.253.5/30 interface=gre-tunnel2 network=10.13.253.4 comment="USA Link"

日本:

/interface gre
add name= gre-tunnel1 local-address=205.177.x.x remote-address=101.251.x.x
comment="BJ Link"

add name= gre-tunnel2 local-address=101.251.x.x remote-address=38.83.x.x  
comment="USA Link"

/ip address
add address=10.13.253.2/30 interface=gre-tunnel1 network=10.13.253.0 comment="BJ Link"
add address=10.13.253.17/30 interface=gre-tunnel2 network=10.13.253.16 comment="USA Link"

美国:

/interface gre
add name= gre-tunnel1 local-address=38.83.x.x remote-address=101.251.x.x
comment="BJ Link"

add name= gre-tunnel2 local-address=38.83.x.x remote-address=205.177.x.x  
comment="JP Link"

/ip address
add address=10.13.253.6/30 interface=gre-tunnel1 network=10.13.253.4 comment="BJ Link"
add address=10.13.253.18/30 interface=gre-tunnel2 network=10.13.253.16 comment="JP Link"

中国示例图:

4、OSPF配置

把本地的内网地址段、GPN网段(10.13.252.0/24),GRE互联地址网段都宣布进去,cost值GPN链路的优先级高,设为10,GRE Tunnel的cost值设为100:

中国:

/routing ospf>
 interface add interface=eth2 cost=10
 interface add interface=eth3 cost=10
 interface add interface=gre-tunnel1 cost=100
 interface add interface=gre-tunnel2 cost=100

/routing ospf>
 network add network=10.13.24.0/22 area=backbone comment="内网"
 network add network=10.13.252.0/24 area=backbone comment="GPN"
 network add network=10.13.253.0/30 area=backbone comment="JP Link"
 network add network=10.13.253.4/30 area=backbone comment="USA Link"

日本:

/routing ospf>
 interface add interface=eth2 cost=10
 interface add interface=eth3 cost=10
 interface add interface=gre-tunnel1 cost=100
 interface add interface=gre-tunnel2 cost=100

/routing ospf>
 network add network=10.13.4.0/22 area=backbone  comment="内网"
 network add network=10.13.252.0/24 area=backbone comment="GPN"
 network add network=10.13.253.0/30 area=backbone comment="BJ Link"
 network add network=10.13.253.16/30 area=backbone comment="USA Link"

美国:

/routing ospf>
 interface add interface=eth2 cost=10
 interface add interface=eth3 cost=10
 interface add interface=gre-tunnel1 cost=100
 interface add interface=gre-tunnel2 cost=100

/routing ospf>
 network add network=10.13.12.0/22 area=backbone  comment="内网"
 network add network=10.13.252.0/24 area=backbone comment="GPN"
 network add network=10.13.253.4/30 area=backbone comment="BJ Link"
 network add network=10.13.253.16/30 area=backbone comment="JP Link"

北京示例图:

四、验证

1、查看ospf是否启动成功:

2、down掉GPN的interface,查看ospf的路由是否自动切换到GRE Tunnel:

测试线路自动切换成功,再把GPN interface起来之后,查看路由又自动切换到了GPN链路。

success!

五、优化

此文中只选了3个site,备线的ospf cost值均设为了100,;在实际部署时会多于3个,ospf值的设置,可以设置为点对点的延迟值,使在切换到备线时ospf选路选的是线路延迟最低的路径,也是最优的路径。比如中日之间大网延迟大概为55ms,可以把GRE的ospf cost设为55。

时间: 2024-10-26 14:09:21

用Mikrotik Router搭建GRE over IPSec 备用链路的相关文章

【DCN】Gre over ipsec vpn

流量被加密的过程: 首先数据包进入路由器,路由器查询路由表,进入Tu0,数据被GRE封包,再次查询路由表,到物理接口,触发加密图,数据加密,再送出路由器. GRE OVER  IPSEC VPN 的出现解决了IPSEC VPN不能加密组播及广播报文的问题使得IPSEC VPN不能在动态路由协议中得到应用,而使用GRE OVER IPSEC VPN的好处就是GRE能够很好的封闭组播及广播流量,再被IPSEC VPN加密传输使得这一方案得到广泛应用. GRE OVER IPSEC VPN 的ACL表

P2P GRE over IPsec

R1(config)#interface tunnel 1 R1(config-if)#ip address 1.1.1.1 255.255.255.0 R1(config-if)#tunnel source 12.1.1.1 R1(config-if)#tunnel destination 23.1.1.3 R1(config-if)#exit R3(config)#int tunnel 3 R3(config-if)#ip address 1.1.1.3 255.255.255.0 R3(c

GRE OVER IPSEC过程解析

一,产生背景 IPsec是如今十分主流的分支机构互联VPN协议,其本身强大的加密与验证功能保障了在互联网传递时私网数据的安全,但是面对当前多元化的访问需求,Ipsec VPN并不能满足客户对私网网段之间复杂的互访要求:在实际环境中,分隔两地的机构要求通过VPN隧道建立私网之间的路由邻居关系,而Ipsec VPN本身并不具备传递路由的能力,所以GRE over IPSEC技术应运而生. 二,基本原理 我们知道,传统的IPsec VPN针对数据包的安全性要求,通常采用采用两种协议进行数据包封装:AH

CCIE学习笔记 ----GRE over IPsec

GRE over IPsec 这种东西主要可以传nat和各种加密包头的东西 R1: ! interface Ethernet0/0 ip address 192.168.12.1 255.255.255.0 ip ospf 1 area 0 --------------------------------------------------------------------------------- R2: crypto isakmp policy 10 authentication pre-

VPN技术:GRE Over IPSEC

普通的IPSEC VPN主要适用于不同厂家VPN之间的对接,兼容性非常好,IOS路由器和ASA可以和大部分的非思科厂家的VPN设备进行IPSEC VPN对接.然而,这种普通的IPSEC VPN并不适用于复杂的网络环境,主要存在如下问题: 由于没有虚拟隧道接口,不支持通过运行动态路由协议来实现路由互通: 由于没有虚拟隧道接口,不能对通信点之间的明文流量进行控制和监测(如ACL.QOS.NAT.Netflow等): 操作较多,每增加一个站点或网段,都要增加许多感兴趣流,排错复杂. 为了解决普通IPS

GNS3 配置Dynamic p2p GRE over IPsec

1.实验拓扑 2.基础网络配置 R1配置: ip dhcp excluded-address 13.1.1.1 13.1.1.2 ip dhcp pool net13 network 13.1.1.0 255.255.255.0 default-router 13.1.1.1 interface FastEthernet0/0 ip address 12.1.1.1 255.255.255.0 interface FastEthernet1/0 ip address 13.1.1.1 255.2

GNS3 配置Static p2p GRE over IPsec

1.实验拓扑 2.基础网络配置 R1配置: interface FastEthernet0/0 ip address 12.1.1.1 255.255.255.0 interface FastEthernet1/0 ip address 13.1.1.1 255.255.255.0 R2配置: interface FastEthernet0/0 ip address 12.1.1.2 255.255.255.0 interface FastEthernet1/0 ip address 172.1

经典GRE over IPSec实验

经典GRE over IPSec实验 如图所示,该拓扑是GRE over IPSec站点到站点的VPN拓扑 实验需求; 在站点Site1(202.100.1.1)和Site2(61.128.1.1)之间建立GRE隧道tunnel0,网段172.16.1.0/24 GRE隧道上运行OSPF协议 使得Site1和Site2相互学到身后的网络路由1.1.1.1/24和3.3.3.3/24 配置IPSec VPN,对两个站点之间GRE流量加密 基本配置省略 Site1(config)#ip  route

Cisco路由器配置GRE over IPsec

拓扑图 实验目的: 通过CRE over IPsec的方式实现R1网段:172.16.10.0/24和R2网段:172.17.10.0/24通信加密. 由于IPsec VPN不支持组播,而GRE支持多种协议,所以一般情况下会选择GRE over IPsec. 配置思路: 通过ACL设置感兴趣流 配置IKE第一阶段 配置IKE第二阶段 新建MAP,并应用于接口 设置路由,下一跳为tunnel 0 配置: R1: 配置接口IP信息 interface Loopback0  ip address 17