公司在國内、日本、美國、德國、新加坡等多地均有業務,中間業務網絡用的公司專有GPN(Global Private Network中文名是全球私有化網絡)鍊路,目前測試搭建一條備用鍊路,用于網絡備援和故障切換。
初步選用方案GRE over IPSec,跑ospf路由協定。
一、為何要選GRE over IPSec:
各個site網絡比較多,需要使用路由協定進行互聯;
IPSEC不支援多點傳播,即不能傳遞路由協定,在承載路由協定上不如GRE隧道友善;
GRE隧道不能提供加密保障;
使用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
<a href="http://s1.51cto.com/wyfs02/M00/79/3E/wKioL1aMqsKA5YO7AACtkdUUmo8995.png" target="_blank"></a>
三、配置
1、三個ros的interface(ether1/2/3分别對應着外網/内網/GPN網絡):
<a href="http://s1.51cto.com/wyfs02/M00/79/3E/wKioL1aMrObB-9-1AAAoSQt-fX8610.png" target="_blank"></a>
2、IPSec配置
中國:
<code>/ip</code> <code>ipsec peer</code>
<code> </code><code>add address=205.177.x.x</code><code>/32</code><code>:500 comment=</code><code>"JP Link"</code> <code>auth-method=pre-shared-key secret=</code><code>"mypassword"</code>
<code> </code><code>generate-policy=no exchange-mode=main send-initial-contact=</code><code>yes</code>
<code> </code><code>nat-traversal=no proposal-check=obey </code><code>hash</code><code>-algorithm=sha1</code>
<code> </code><code>enc-algorithm=3des dh-group=modp1024 lifetime=1d lifebytes=0</code>
<code> </code><code>dpd-interval=disable-dpd dpd-maximum-failures=5</code>
<code> </code><code>add address=38.83.x.x</code><code>/32</code><code>:500 comment= </code><code>"USALink"</code> <code>auth-method=pre-shared-key secret=</code><code>"mypassword"</code>
<code>/ip</code> <code>ipsec policy</code>
<code> </code><code>add src-address=101.251.x.x</code><code>/32</code><code>:any dst-address=205.177.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>protocol=all action=encrypt level=require ipsec-protocols=esp tunnel=</code><code>yes</code>
<code> </code><code>sa-src-address=101.251.x.x sa-dst-address=205.177.x.x proposal=default </code>
<code> </code><code>priority=0</code>
<code> </code>
<code> </code><code>add src-address=101.251.x.x</code><code>/32</code><code>:any dst-address=38.83.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>sa-src-address=101.251.x.x sa-dst-address=38.83.x.x proposal=default </code>
日本:
<code> </code><code>add address=101.251.x.x</code><code>/32</code><code>:500 comment=</code><code>"BJ Link"</code> <code>auth-method=pre-shared-key secret=</code><code>"mypassword"</code>
<code> </code><code>add address=38.83.x.x</code><code>/32</code><code>:500 comment= </code><code>"USA Link"</code> <code>auth-method=pre-shared-key secret=</code><code>"mypassword"</code>
<code> </code><code>add src-address=205.177.x.x</code><code>/32</code><code>:any dst-address=101.251.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>sa-src-address=205.177.x.x sa-dst-address=101.251.x.x proposal=default </code>
<code> </code><code>add src-address=205.177.x.x</code><code>/32</code><code>:any dst-address=38.83.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>sa-src-address=205.177.x.x sa-dst-address=38.83.x.x proposal=default </code>
美國:
<code> </code><code>add address=205.177.x.x</code><code>/32</code><code>:500 comment= </code><code>"JP Link"</code> <code>auth-method=pre-shared-key secret=</code><code>"mypassword"</code>
<code> </code><code>add src-address=38.83.x.x</code><code>/32</code><code>:any dst-address=101.251.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>sa-src-address=38.83.x.x sa-dst-address=101.251.x.x proposal=default </code>
<code> </code><code>add src-address=38.83.x.x</code><code>/32</code><code>:any dst-address=205.177.x.x</code><code>/32</code><code>:any</code>
<code> </code><code>sa-src-address=38.83.x.x sa-dst-address=205.177.x.x proposal=default </code>
中國示例圖:
<a href="http://s4.51cto.com/wyfs02/M00/79/41/wKioL1aMyNmTOc0hAABf1TRTcPE712.png" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/79/42/wKiom1aMyLOQ0Lb_AAA6D1686bQ877.png" target="_blank"></a>
3、GRE配置:
<code>/interface</code> <code>gre</code>
<code>add name= gre-tunnel1 </code><code>local</code><code>-address=101.251.x.x remote-address=205.177.x.x</code>
<code> </code><code>comment=</code><code>"JP Link"</code>
<code>add name= gre-tunnel2 </code><code>local</code><code>-address=101.251.x.x remote-address=38.83.x.x </code>
<code>comment=</code><code>"USA Link"</code>
<code>/ip</code> <code>address</code>
<code>add address=10.13.253.1</code><code>/30</code> <code>interface=gre-tunnel1 network=10.13.253.0 comment=</code><code>"JP Link"</code>
<code>add address=10.13.253.5</code><code>/30</code> <code>interface=gre-tunnel2 network=10.13.253.4 comment=</code><code>"USA Link"</code>
<code>add name= gre-tunnel1 </code><code>local</code><code>-address=205.177.x.x remote-address=101.251.x.x</code>
<code>comment=</code><code>"BJ Link"</code>
<code>add address=10.13.253.2</code><code>/30</code> <code>interface=gre-tunnel1 network=10.13.253.0 comment=</code><code>"BJ Link"</code>
<code>add address=10.13.253.17</code><code>/30</code> <code>interface=gre-tunnel2 network=10.13.253.16 comment=</code><code>"USA Link"</code>
<code>add name= gre-tunnel1 </code><code>local</code><code>-address=38.83.x.x remote-address=101.251.x.x</code>
<code>add name= gre-tunnel2 </code><code>local</code><code>-address=38.83.x.x remote-address=205.177.x.x </code>
<code>comment=</code><code>"JP Link"</code>
<code>add address=10.13.253.6</code><code>/30</code> <code>interface=gre-tunnel1 network=10.13.253.4 comment=</code><code>"BJ Link"</code>
<code>add address=10.13.253.18</code><code>/30</code> <code>interface=gre-tunnel2 network=10.13.253.16 comment=</code><code>"JP Link"</code>
<a href="http://s3.51cto.com/wyfs02/M01/79/41/wKioL1aMyg6RUm57AAA5DP6aEA8642.png" target="_blank"></a>
<a href="http://s5.51cto.com/wyfs02/M02/79/41/wKioL1aMyg6CrPB0AAAmTPuNj9g488.png" target="_blank"></a>
4、OSPF配置
把本地的内網位址段、GPN網段(10.13.252.0/24),GRE互聯位址網段都宣布進去,cost值GPN鍊路的優先級高,設為10,GRE Tunnel的cost值設為100:
<code>/routing</code> <code>ospf></code>
<code> </code><code>interface add interface=eth2 cost=10</code>
<code> </code><code>interface add interface=eth3 cost=10</code>
<code> </code><code>interface add interface=gre-tunnel1 cost=100</code>
<code> </code><code>interface add interface=gre-tunnel2 cost=100</code>
<code> </code><code>network add network=10.13.24.0</code><code>/22</code> <code>area=backbone comment=</code><code>"内網"</code>
<code> </code><code>network add network=10.13.252.0</code><code>/24</code> <code>area=backbone comment=</code><code>"GPN"</code>
<code> </code><code>network add network=10.13.253.0</code><code>/30</code> <code>area=backbone comment=</code><code>"JP Link"</code>
<code> </code><code>network add network=10.13.253.4</code><code>/30</code> <code>area=backbone comment=</code><code>"USA Link"</code>
<code> </code><code>network add network=10.13.4.0</code><code>/22</code> <code>area=backbone comment=</code><code>"内網"</code>
<code> </code><code>network add network=10.13.253.0</code><code>/30</code> <code>area=backbone comment=</code><code>"BJ Link"</code>
<code> </code><code>network add network=10.13.253.16</code><code>/30</code> <code>area=backbone comment=</code><code>"USA Link"</code>
<code> </code><code>network add network=10.13.12.0</code><code>/22</code> <code>area=backbone comment=</code><code>"内網"</code>
<code> </code><code>network add network=10.13.253.4</code><code>/30</code> <code>area=backbone comment=</code><code>"BJ Link"</code>
<code> </code><code>network add network=10.13.253.16</code><code>/30</code> <code>area=backbone comment=</code><code>"JP Link"</code>
北京示例圖:
<a href="http://s4.51cto.com/wyfs02/M02/79/43/wKiom1aM0drxCOY7AAAn2u30CE8808.png" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/79/42/wKioL1aM0eGRh09fAAASsp2aTUE302.png" target="_blank"></a>
四、驗證
1、檢視ospf是否啟動成功:
<a href="http://s3.51cto.com/wyfs02/M01/79/43/wKiom1aM05yQVYXHAABRq9dPWr8703.png" target="_blank"></a>
2、down掉GPN的interface,檢視ospf的路由是否自動切換到GRE Tunnel:
success!
五、優化
此文中隻選了3個site,備線的ospf cost值均設為了100,;在實際部署時會多于3個,ospf值的設定,可以設定為點對點的延遲值,使在切換到備線時ospf選路選的是線路延遲最低的路徑,也是最優的路徑。比如中日之間大網延遲大概為55ms,可以把GRE的ospf cost設為55。
本文轉自Jx戰壕 51CTO部落格,原文連結:http://blog.51cto.com/xujpxm/1732188,如需轉載請自行聯系原作者