返回列表 發帖

[VPN] 建立IPSec Road Warrior隧道

本帖最後由 gfx86674 於 2018-2-13 10:45 編輯

Road Warrior隧道是Router用來做site to site連接兩個遠端區網的工具


它的價值在於:
1.它只需client單向對server連接,就和pptp/l2tp/ovpn連線一樣方便
2.Road Warrior連接的雖然是private-ip ,但卻開啟了另一道門.
您可以用兩個private-ip,在Ipsec隧道內再建置GRE/IPIP/EOIP Tunnel翻越GFW

GRE/IPIP/EOIP Tunnel預設有個IPSec Secret ,
即是在IPSec內建置GRE/IPIP/EOIP Tunnel ,不過需雙向對撥才有辦法生成IPSec設置.
如今您也可以做單向的GRE/IPIP/EOIP Tunnel ,只不過IPSec前置需辛苦些.

常閱讀Mikrotick官網的cli ,是很容易理解建置的過程.
但從gui介紹似乎更容意明白就是...

假設Server是架在HK ,
Wan的地址:61.34.233.63 / Lan的地址:192.168.88.1

Server(HK):
1./ip pool

192.168.88.140準備是給CN-Router使用的

2./ip ipsec mode-config


3./ip ipsec group


4./ip ipsec policy



5./ip ipsec user

Road Warrior用戶的帳號/密碼

6./ip ipsec peer

secret指定用戶使用的金鑰



7./ip firewall nat


這項目要擺在0優先的位置

Client(CN):
1./ip ipsec peer

連線至Server必須的帳號/密碼/金鑰



2./ip firewall nat


這項目要擺在0優先的位置
=====================================
當client設定完,CN隨即會往HK撥號.
CN若撥號成功 ,/ip ipsec policy會自動生成Rule,與Server(HK)需手動設定不同.

另外CN-Router
的/ip addres也會生成192.168.88.140這個期望地址.

不過即使Road Warrior隧道上線,
在HK-Router您仍要試ping 192.168.88.140確認地址存在;
同樣CN-Router也要試ping 192.168.88.1也存在才行.

卻定雙方private-ip地址連接無誤後,您就得選擇GRE/IPIP/EOIP Tunnel那一服務.
GRE/IPIP是架設layer3隧道 ,EOIP則是layer2隧道.這都可用於翻牆.

以下是架設GRE Tunnel為例:
HK:


CN:

本帖最後由 gfx86674 於 2018-2-12 21:12 編輯

我用Road Warrior隧道 + GRE Tunnel 成功幫助HK的朋友翻過GFW至深圳(聯通),
但聽說要翻至移動就沒那樣容易了...
有機會還請有心的朋友試試 ,看是否一樣可行.

另外由於使用的是IPSec ,同樣L2tp也會用到.
若您Server只有單WAN ,那您需取捨...

因Port:500給Road Warrior使用 ,L2TP-Server就等於沒機會使用IPSec加密.

TOP

本帖最後由 角色 於 2018-2-13 13:36 編輯

Ching,说用用IPSec不可以翻墙?我有一个朋友,以前开始就是用IPSec把中港两边连起来,然后通过routing把packets route到香港,然后得道资料后再回来。具体怎样做,我也不知道,不过你的方案我有空一定尝试。

因为CHing你比较熟悉IPSec的链接方式?是否有比较好的资料去理解怎样建立ISPec呢?

TOP

本帖最後由 gfx86674 於 2018-2-13 15:13 編輯

單純的ipsec是將兩個網段,如: 192.168.0.0/24(office1) <=> 192.168.1.0/24(office2)對接.
但不會在/ip route路由表新增任何的內容,也就是沒有gateway所以沒辦法翻牆.

所以你要透過其它的vpn讓路由表有gateway.

所以不只GRE/IPIP/EOIP ,
office1也可以在IPSec內用PPTP對192.168.1.1(office2)進行撥號.

PPTP會在路由表建立與office2的路由,office1就有辦法翻牆了.
所以翻牆的重點從不在IPSec上 ,而是IPSec內要有可建立路由的其他VPN

註:
在網通環境別相信vpn連線得靠public-address這種鬼話,
只要client可觸及聯絡的地址,private-address又如何?
(您可以在自家對自己的Router的內網地址192.168.x.x連接pptp試試 ,就能知謠言不可信)

TOP

谢谢CHing的解析(其实我都是半桶水——能力有线)。

之前我香港的服务器也安装了L2TP over IPSec。就是先建立IPSec(phase 1)把两边连起来,然后在通过L2TP建立VPN。

现在回想CHing上面的信息,IPSec只建立Tunnel,然后再通过L2TP建立VPN Gateway。

而你的提议好像Phase 1 and 2 都全做,然后在通过GRE建立VPN。

我看你的GRE图,好像有类似L2TP有IPSec的secret key。是否都可以先建立IPSec phase 1 only, 然后用GRE再建立VPN呢?(都估估下!不知道是否可行?)

TOP

本帖最後由 gfx86674 於 2018-2-13 18:01 編輯

翻躍gfw,
您不能先IPSec再L2TP撥號 ,因為這等於L2TP/IPSec呀,一點差異都沒有.

GRE/IPIP/EOIP用的都是GRE協定(protocol=47)

若可以雙向撥號,Router可以啟動47/IPSec穿隧.

但單向GRE/IPIP/EOIP不但沒法連線,更不用說穿隧...
所以才大費周張的先建IPSec,
再用Router兩端的private-address試圖接上GRE/IPIP/EOIP

事實上:步驟也只是試圖還原GRE/IPIP/EOIP的 47/IPSec穿隧罷了.

註:
protocol=47與GRE-Tunnel都有共同的名稱:GRE
所以上面我用47代表protocol=47 ,避免您與GRE-Tunnel混淆

TOP

Ching,

可能我的表达问题,“您不能先IPSec再L2TP撥號 ,因為這等於L2TP/IPSec呀,一點差異都沒有.” 是一样。“L2TP over IPSec” 就是 L2TP/IPSec。Apple里就直接写L2TP(其实就是L2TP/IPSec), 那么“/” 不是or(或),而是over IPSec.

谢谢CHing的讲解,我需要的时间消化,有不明白的地方再请教你。

TOP

小弟英文程度不佳不知道如何形容是最佳的方式,
就把Wiki上的用詞搬了上來...見諒了

TOP

返回列表