五月 17 2009
快速設定Fortigate Site to Site IPEC VPN

之前有網友留言希望我研究Fortigate 站台對站台的IPEC VPN,剛好我對這問題也很有興趣,所以一定要玩出來分享,相信大家一定也能舉一反三完成設定。
一樣這次還是快速設定的教學,先求效果再求瞭解。
先簡單說明網路測試環境,否則後續圖解一定會看到眼花:
Z1 Network - 192.168.123.0/24
有Fortigate 60 設備(FortiOS v4.0.1 beta)
WAN IP: 123.123.123.123
Lan IP:192.168.123.254
Z2 Network - 192.168.1.0/24
有Fortigate 60B 設備(FortiOS v3.0 MR7)
WAN IP: domain.dyndns.org(外部採PPPoE 無固定IP,故申請免費的dyndns.org 服務以達成兩端即時連線)
Lan IP:192.168.1.252
理所當然,我們先從Z1 區的FG60 下手設定:
1) 設定FG60 的IPSEC Key。到VPN -> IPSec,選擇「Create Phase 1」。

為方便未來清楚設定,建議參考下圖命名為「Z1toZ2_Tunnel」,進階的部分用預設即可。但幾個地方要注意:
a. 由於Z2 區的Fortiagte 對外是使用浮動式IP,所以Remote Gateway 請選擇「Dymamic DNS」模式,「Dynamic DNS」欄位則輸入Z2 對外的DDNS 名稱。
b. 「Local Interface」是個很容易讓人誤會的設定,請選擇Fortigate 上對外連線VPN 的介面。因此範例是選擇「wan1」。
c. 「Pre-shared Key」的密碼設定至少為三個字元以上。範例是設定「123456」,到時候另一端的設備也需要設同一組密碼作溝通。

建立完「IPSEC Phase 1」,接著新增「Phase 2」

參考下圖將「Phase 2」命名為「Z1toZ2_phase2」,並記得選擇前面phase 1 所設定「Z1toZ2_Tunnel」;進階的部分用預設即可。(就說了是快速設定啊
)

Z1 端IPSEC 的設定完成如圖。

2) 到Firewall -> Address 新增兩組IP 網段。
請參考下圖,分別新增Z1(192.168.123.0/255.255.255.0)及Z2(192.168.1.0/255.255.255.0)的IP。

3) 到Firewall -> Policy 新增Internal -> Wan1 的Policy。
由於是Z1 到Z2 的設定,Source Address 當然要選擇Z1 的IP Address,Destination Address 則選擇Z2 的IP Address。要比較注意的是,Action 設定請記得選擇「IPSEC」,而VPN Tunnel 則選擇先前建立的「Z1toZ2_Tunnel」。

如果建立Policy 後,順序跟下圖一樣是後於「all to all」,請將調整於其之前。

如果以上步驟都確實完成,那麼Z1 端就算收工了,等於做完一半啦!

鏡頭轉到Z2 的FG60B 設定。以下步驟其實跟Z1 的設定幾乎一樣。
1) 到VPN -> IPSEC 新增FG60B 的IPSEC Key。一樣要先新增Phase 1,命名為「Z2toZ1_Tunnel」。而要注意的事項:
a. Z1 對外是使用固定IP,所以Remote Gateway 請選擇「Statics IP Address」模式,「IP Address」欄位則輸入Z1 對外的IP「123.123.123.123」。
b. 「Local Interface」請選擇擇「wan1」介面。
c. 「Pre-shared Key」的密碼必須跟Z1 端的IPSEC 設定一樣,所以請輸入「123456」。

新增Phase 2。不多講,看圖說故事。

完成Z2 端的IPSEC 設定。

2) 到Firewall -> address 新增兩組IP 網段。這部分跟Z1 端一樣。

3) 到Firewall -> Address 新增Internal -> Wan1 的Policy。
現在是Z2 到Z1 的設定,Source Address 請務必選擇Z2 的IP Address,Destination Address 則選擇Z1 的IP Address,不要搞混現在在哪裡設定啊。Action 設定別忘了選擇「IPSEC」,VPN Tunnel 則選擇「Z2toZ1_Tunnel」。

大功告成!

當然,照例要來個有圖有真相。從Z1 端的電腦直接Ping Z2 端的FG60B,會看到已經可以直接連接。不過,會發現第一次Ping 的時候似乎停頓1至1秒半的時間。

這是因為預設的IPEC VPN 不會主動建立連線,只有在Fortigate 發現內部有需要時才會開始連線(這算節能省碳嗎?),甚至在雙方達到一定時間且沒有流量時還會自動中斷VPN。
要解決這個問題,就是到IPSEC 的phase 2 設定找到進階選項,然後勾選「Autokey Keep Alive」。另外,從這裡可以發現「keylife」預設是30分鐘會換一次Key,如果又沒有勾選「Autokey Keep Alive」且沒有流量,設備就會因此停止VPN 連線。高興的話,也可以改一個小時甚至一天,就看你的安全考量;畢竟是透過Internet 傳輸IPSEC VPN,「keylife」時間越久就越有可能遭到有心駭客去破解。

認真研究起來,上面的設定其實不很難,難的是Fortinet 原廠提供的教學文件 - IPSec VPN User Guide 並沒有提供截圖,所以在閱讀上會有些困難。不過,一般企業會想到的應用幾乎都在文件裡出現,像是Redundant VPN、Hub and spoke 架構等等。如果資源夠的話,我會建議印出來閱讀,會比較容易從文件中抓出重點。
至於Site to Site IPSEC VPN 是否僅限定Fortigate 設備,其實不然!(假如連這都要綁標就太機車了...)原廠Knowledge Center 還提供了像是跟ZyXEL ZyWALL、SonicWall、Cisco PIX 等大廠設備,甚至連Microsoft ISA Server 都有的連線文件(詳情可參考Fortinet Knowledge Center 的 IPSec VPN interoperability 頁面),有需要的人可以上網參考看看喔!
隨選好文章 ▲ 閱讀較新的文章: 找回Vista及Server 2008的RunAs 功能
▼ 閱讀較舊的文章: Fortigate SSL VPN 與2008 NPS Server 的快速設定
|
目前有 20 個回應 , 標籤:Fortinet|IT|Networks|










哇蘇老動作還真快,才請蘇老教學沒幾天就教學文章就出來了,有時間我在來架看看,我這有兩台FG60B
有一台才要拿到大陸去用也,感謝蘇老
不客氣啦,不過建議你在拿去對岸前先自行測試過,
拿回家用PPPoE 也能測喔,
所以我才會在範例中特別選用DDNS 的功能。
請教蘇老,在Internal to wan1的部分有設定policy,那是否也需要設定wan to internal的vpn policy?
謝謝
Wan to Internal 的Policy 設定與否在建立連線方面並沒有影響,
只有在於你是否考量要將VPN 從Wan to Internal 的網路流量,
加上防毒或者IPS防護的檢查。
能否請教client to site怎麼設定嗎?感謝!
To Mason
Client to Site 可以考慮參考小弟寫的SSL VPN 系列文章。
今日測試了一整天,在設定Phase1 時一直出現"無效的IP位址"
最後的結果竟然是Google瀏覽器的問題,改用IE就正常了
我遇到的 Fortigate 60 的 Firmware 是 2.8 的
畫面長的不太一樣.
這個網頁好像把您的文章照抄過去了
http://www.aionsolution.com/blog/networking/setup-fortigate-site-to-site-ipec-vpn/
To valsily:
非常感謝您的告知,
還好目前對方並未把擷圖的浮水印消除,
小弟會再發封電子郵件過去提醒應註明出處。
你好,請問我是使用forigate 400 ,依你的教學今天測試一整天,不管怎麼設定都卡在
policy 設定的地方,在active 我選擇ipsec 後,會出現tunnel 的選項,但沒有顯示出我之前在vpn-ipsec 分頁所設定的tunnel ,不知道是我操作錯誤,還是軔體bug , 需要用command line 才能夠設定。
簡單的說,ipsec policy-base 這個在policy active 都無法選擇tunnel 。
但 ipsec route-base 是可以正常work 的。
To Pan
不好意思,我沒有摸過FG400 的機型,
這方面的狀況沒辦法協助您確認,
可能只能建議試著更新軔體看有無改善,
目前FG400 釋出可用的最新版軔體是v3.0 MR7 Patch9。
To 11樓pan:
如果你在Tunnel那個頁面有把 Enable IPsec Interface Mode 勾起來的話,你在policy的頁面就會看不到你所設定的Tunnel。
請問上面 到Firewall -> Address 新增兩組IP 網段
Z1_local 192.168.123.0/24
Z2_local 192.168.1.0/24
其 兩者 Interface 都選擇 any
但是policy 設定時 Z1_local 是選擇 internal ,Z2_local 是選擇 wan1,
那為甚麼不要在 firewall-> Address
將 Z1_local 的interface設為 Internal ,
將Z2_local 的interface設為 wan1 呢 ?
Hi, chiuslove
我沒有指定 Interface 的關係,
其實在於無法預知所設定的 Address 之後會不會切到不同的 Interface 上,
為避免自已未來可能要多除錯一個地方,
所以就直接開 Any 了。
原來是考慮之後會不會切到不同的 Interface 上,謝謝提醒!!
另外請教蘇老,有沒有必要在 static route上將192.168.1.0/24 設到 static route ?
還有如果192.168.123.0/24 那邊有
windows2003 R2 AD server/ dc controller/WINS/DNS 與 DHCP server 同一台(譬如說 192.168.123.108, 第二台 DNS/WINS:192.168.123.107 ),
而192.168.1.0/24 的 DHCP 由 fortigate 60B 上 dhcp sevver 配發,請問60B上的 DNS及 WINS 設定要如何設定?
因為我做site to site IPSEC VPN 是想由 192.168.1.0/24用VPN連回192.168.123.0/24總公司,來執行 ERP軟體( 在IE上使用), 如果192.168.1.0/24上的電腦能ping到192.168.123.0/24上電腦但是卻不能夠作DNS正反解,ERP軟體似乎畫面上會有異常.
Hi, chisulove
你提到是否要手動寫入 Static route 這部份其實我並沒有做,
而且我也忘記去注意那邊的路由的狀態,
目前手邊也沒有上述環境能再幫忙確認了,
不好意思。
另外,關於 DNS 解析的部份,
如果兩地都有自己的 DNS,
因為已經建立了 Site to Site VPN,
我可能會在 192.168.1.0/24 那邊的 DNS 設定轉寄站到另一邊的 DNS,
不過比較正確的方式,還是要看整個網路架構及 DNS 網域設定。
Blog Server...
[...]快速設定Fortigate Site to Site IPEC VPN | 蘇老碎碎唸[...]...
請問蘇老,您這篇site to site 的環境是用L3的架構下做出來的,目前我有嘗試使用L2的架構下
(就是192.168.1.x/24 ~ 192.168.1.x/24)做設定,但是現在卡在二台fortigate己通,但是電
腦互ping就是不通,感覺封包就像從a端的fortigate出來後,到b端的fortigate處就不會再往後
送到b端後面的電腦,這樣有可能會是什麼樣的情形呢? 可否撥空解答一下,謝謝