五月 17 2009

快速設定Fortigate Site to Site IPEC VPN

分類:硬體好軟

網路基礎架構圖

之前有網友留言希望我研究Fortigate 站台對站台的IPEC VPN,剛好我對這問題也很有興趣,所以一定要玩出來分享,相信大家一定也能舉一反三完成設定。

一樣這次還是快速設定的教學,先求效果再求瞭解。 /:P/

先簡單說明網路測試環境,否則後續圖解一定會看到眼花:
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」;進階的部分用預設即可。(就說了是快速設定啊 /xd/

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 ZyWALLSonicWallCisco PIX 等大廠設備,甚至連Microsoft ISA Server 都有的連線文件(詳情可參考Fortinet Knowledge Center 的 IPSec VPN interoperability 頁面),有需要的人可以上網參考看看喔!

目前有 63 個回應 , 標籤:


目前有 63 個回應

  1. kai 說道:

    哇蘇老動作還真快,才請蘇老教學沒幾天就教學文章就出來了,有時間我在來架看看,我這有兩台FG60B
    有一台才要拿到大陸去用也,感謝蘇老

  2. AskaSu 說道:

    不客氣啦,不過建議你在拿去對岸前先自行測試過,
    拿回家用PPPoE 也能測喔,
    所以我才會在範例中特別選用DDNS 的功能。

  3. KBWang 說道:

    請教蘇老,在Internal to wan1的部分有設定policy,那是否也需要設定wan to internal的vpn policy?
    謝謝

  4. AskaSu 說道:

    Wan to Internal 的Policy 設定與否在建立連線方面並沒有影響,
    只有在於你是否考量要將VPN 從Wan to Internal 的網路流量,
    加上防毒或者IPS防護的檢查。

  5. Mason 說道:

    能否請教client to site怎麼設定嗎?感謝!

  6. AskaSu 說道:

    To Mason

    Client to Site 可以考慮參考小弟寫的SSL VPN 系列文章。

  7. Vinje 說道:

    今日測試了一整天,在設定Phase1 時一直出現"無效的IP位址"

    最後的結果竟然是Google瀏覽器的問題,改用IE就正常了

  8. yifeng 說道:

    我遇到的 Fortigate 60 的 Firmware 是 2.8 的
    畫面長的不太一樣.

  9. valsily 說道:

    這個網頁好像把您的文章照抄過去了

    http://www.aionsolution.com/blog/networking/setup-fortigate-site-to-site-ipec-vpn/

    • AskaSu 說道:

      To valsily:

      非常感謝您的告知,
      還好目前對方並未把擷圖的浮水印消除,
      小弟會再發封電子郵件過去提醒應註明出處。 :)

  10. pan 說道:

    你好,請問我是使用forigate 400 ,依你的教學今天測試一整天,不管怎麼設定都卡在

    policy 設定的地方,在active 我選擇ipsec 後,會出現tunnel 的選項,但沒有顯示出我之前在vpn-ipsec 分頁所設定的tunnel ,不知道是我操作錯誤,還是軔體bug , 需要用command line 才能夠設定。

    簡單的說,ipsec policy-base 這個在policy active 都無法選擇tunnel 。

    但 ipsec route-base 是可以正常work 的。

  11. AskaSu 說道:

    To Pan

    不好意思,我沒有摸過FG400 的機型,
    這方面的狀況沒辦法協助您確認,
    可能只能建議試著更新軔體看有無改善,
    目前FG400 釋出可用的最新版軔體是v3.0 MR7 Patch9。

  12. Streit 說道:

    To 11樓pan:
    如果你在Tunnel那個頁面有把 Enable IPsec Interface Mode 勾起來的話,你在policy的頁面就會看不到你所設定的Tunnel。

  13. chiuslove 說道:

    請問上面 到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 呢 ?

  14. AskaSu 說道:

    Hi, chiuslove

    我沒有指定 Interface 的關係,
    其實在於無法預知所設定的 Address 之後會不會切到不同的 Interface 上,
    為避免自已未來可能要多除錯一個地方,
    所以就直接開 Any 了。 :)

  15. chisulove 說道:

    原來是考慮之後會不會切到不同的 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 設定要如何設定?

  16. chisulove 說道:

    因為我做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軟體似乎畫面上會有異常.

  17. AskaSu 說道:

    Hi, chisulove

    你提到是否要手動寫入 Static route 這部份其實我並沒有做,
    而且我也忘記去注意那邊的路由的狀態,
    目前手邊也沒有上述環境能再幫忙確認了,
    不好意思。

    另外,關於 DNS 解析的部份,
    如果兩地都有自己的 DNS,
    因為已經建立了 Site to Site VPN,
    我可能會在 192.168.1.0/24 那邊的 DNS 設定轉寄站到另一邊的 DNS,
    不過比較正確的方式,還是要看整個網路架構及 DNS 網域設定。

  18. Blog Server 說道:

    Blog Server...

    [...]快速設定Fortigate Site to Site IPEC VPN | 蘇老碎碎唸[...]...

  19. David 說道:

    請問蘇老,您這篇site to site 的環境是用L3的架構下做出來的,目前我有嘗試使用L2的架構下
    (就是192.168.1.x/24 ~ 192.168.1.x/24)做設定,但是現在卡在二台fortigate己通,但是電
    腦互ping就是不通,感覺封包就像從a端的fortigate出來後,到b端的fortigate處就不會再往後
    送到b端後面的電腦,這樣有可能會是什麼樣的情形呢? 可否撥空解答一下,謝謝

  20. AskaSu 說道:

    Hi, David

    建議你為兩端切一下子網路跟對應的路由,
    應該可以解決你的問題。

  21. eric 說道:

    請問蘇老,ipsec vpn 都建立好了內部互通也沒問題,但是如果要限制 60 從80c 上網 該怎麼著手比較好呢(設備是60 對 80c)

  22. jason 說道:

    請問蘇老,如果兩端設備要各自透過自己的網路上網的話!那靜態路由是不是指自己WAN的Gateway即可呢?謝謝!!

    • AskaSu 說道:

      如果你原本的設備就能上網,
      其實在設定點對點路由的過程,
      只是很單純的設定封包往另一點的路由,
      並不會造成原本從A地就能上網的電腦還要繞道B地才出去。

  23. Yao 說道:

    請問蘇老:

    我的通道建立起來後,設定規則時
    LAN TO WAN 可以選通道,但是
    WAN TO LAN 時就不讓我選通道了

    因為我希望分公司某IP連回來時,針對它IP設規則,謝謝!不好意思麻煩您了!

  24. 亞當斯 說道:

    蘇老,
    我已經參考您的教學,設定過fortinet的50B、60C、110C。那3台都是單純外部ip走sslvpn回來而已。
    現在,公司又有的需求,是大陸那邊本來只有sslvpn client連回台灣的那台foti 110C(大陸沒有fortinet設備),但是因為許多人下班回到宿舍、或是大陸的家,一樣用sslvpn clinet的帳密繼續使用,更甚者是就整天掛在上面,而佔用大陸對台灣的這條vpn線路。
    老闆要求,要限制只能在大陸公司內部使用這條vpn。請問蘇老,這要如何處理?

    • AskaSu 說道:

      不知道你們公司目前 SSLVPN 的身分驗證是如何建立?
      如果是採用 RADIUS 及網域帳號驗證的話,
      我記得沒錯的話,可以在 RADIUS Server 上設定可使用的時間。

      或者我另外想到的方式是,
      若知道大陸公司對外所使用的 IP 範圍甚至是固定 IP 更好,
      在建立 SSLVPN Policy 的地方,
      試試看 Source Address 就鎖定在大陸公司所使用的 IP。

      但我會更建議下面方式:
      1. 就在大陸公司放置一台 FG 設備(請記得評估使用者的量購入適當機型),建立雙向的 IPSEC VPN。
      2. 請老闆頒佈行政命令。(有時候 IT 人做得要死,效果還不如一紙命令啊)

  25. jerry 說道:

    請問在設定PHASE 1下有enable ipsec interface mode啟用跟不啟用差異在那裡,啟用是不是安全性會比較高?

    謝謝

    • AskaSu 說道:

      不好意思,我是參照官方當時的文件進行設定,
      該文件中並沒有詳細說明,
      我也沒有特別去研究差異點。

      不過我剛再去找 Fortinet 文件庫,
      FortiOS™ Handbook 的 IPsec VPN for FortiOS 5.0 文件
      裡面應該有完整的說明。

      • jerry 說道:

        謝謝!

  26. Monty 說道:

    請問~
    Fortigate 310B
    vs (VPN)
    Cisco Wireless AP

    不同廠商~這樣會通嗎?

    • AskaSu 說道:

      不太瞭解你說的不同廠商加上 VPN 括號是否會通的意思 @@?

  27. 阿凱 說道:

    請問如果我要透過分公司 VPN連到總公司在透過總公司的私有 VPN連到分點這要如何才做的到

    • AskaSu 說道:

      是希望總公司跟分公司的 FG 能建立起 Site to Site VPN,
      然後使用者又能走 SSL VPN 到分點的 FG,
      不僅能連到分點又能從分點再連到總公司嗎?

      如果是上述的目標,我沒有實際建過,
      但我覺得如果路由跟 Policy 有設定正確,
      應該是可以成功。

      但從管理的角度來看,
      我認為分點的 FG 提供用戶端 VPN 會有些資安的隱憂,
      這樣總公司要追查有問題的連線就會困難些,
      不過這樣的架構在中國設廠的台商企業應該很常發生。

  28. kolin 說道:

    您好請問一下我依照您的作法已經讓總公司跟子公司聯通了
    但我希望要設定規則讓指公司只能連到特定的IP要怎麼做
    我於WAN TO INTERNET 處設定 瞭我要到的IP ACCEPT
    其他的都deny
    但是設完並沒作用請問是方法錯誤嗎

    • AskaSu 說道:

      特定 IP 是指總公司特定伺服器嗎?

    • AskaSu 說道:

      假設 Z2 是子公司,
      Z1 是總公司,
      再加上前面猜測的條件「特定 IP 是總公司特定伺服器」,
      我會嘗試做以下設定好完成目標:
      1. 把總公司特定 IP 或網段設定為 Z1_Local
      2. 其他就參照上面方法設定
      這樣應該子公司就只能連到你指定的 IP 或網段,
      希望這方法能對您有幫助。

  29. Neon Yang 說道:

    請問蘇老...
    我依照您這篇教學用了三台Fortigate 50B(V4.0 MR3)來架設Site to Site IPEC VPN,分別是Z1toZ2和Z1toZ3,結果Z1和Z2都互相Ping的到,Z1和Z3也互相Ping的到,但是Z2和Z3卻互相Ping不到,請問是否還需要做其它設定?(或有教學文件可供參考),謝謝...

    • AskaSu 說道:

      如果你規劃的Z2跟Z3要互通,
      而且架構上中間是要透過Z1(總部)的話,
      我實際執行過類似的設計,但沒有Z2跟Z3要互通這塊,
      因為Z2跟Z3在公司的環境屬於外點,人數也不多,
      只要可以連到總部的伺服器群即可。

      若真要完成這樣的需求,我可能會著手進行:
      1. 先檢查路由,譬如Z2要走去Z3是不是真的先連到Z1?
      2. 如果是,就接著檢查Z1有沒有設定相關路由資料?
      3. 再來就是Policy要正確設定。
      希望我的回答能對您有幫助

      • Neon Yang 說道:

        實際上我最後要架設的是1(總部)對4(分部)的環境,要用在VOIP的系統上,所以先買了3台二手的fortigate來玩看看,感謝你這麼快就回覆並提供一個研究的方向,謝謝ㄛ...

  30. Jim Huang 說道:

    您好請問一下本篇文章Z1區的固定IP在System->Network-> Interface->wan1下如何設定? 因我們公司原先用(一固7浮制, 即在wan1底下用PPPoE以xxxxx@ip.hinet.net登入) ,現在改企業用固IP (ex:125.125.125.125), 本人有試著將PPPoE 改以Manual 並把125.125.125.125打入, 結果失敗也不能上網.

  31. KUEI 說道:

    之前買的fd-60d設定和你上面差不多,但是前兩天又買了一台新機,在
    「防火牆規則」->vpn居然沒有能選ip-sec的選項
    後來用fg-60c的方式設定,在「採取行動」那邊,沒有能選ip-sec
    請問蘇老,是不是有其他設定方式?

    • AskaSu 說道:

      有可能是 FortiOS 版本不同所造成的設定差異。
      我這篇文章是很久之前的 3.0 版本,
      建議先找 FortiNet 官方對應相同版本的文件,
      參考看看其設定方式

  32. Boyce 說道:

    請問我用此方式建立了大陸到台灣的Site to Stie VPN,如果我要讓它變成大陸從台灣出Internet的Tunnel,有哪些設定是需要注意的?

    • AskaSu 說道:

      我沒有這樣設定過,
      因為一般都是只有內網需求才會走 VPN 連回總部,
      避免浪費 VPN 的頻寬。

      如果真的希望這樣採集中式管理的設定,
      我會想到的是,
      1. 瞭解中國端的用戶對中國網路需求的有多大,決定是否真要採這樣的架構。
      2. 設定正確路由。讓中國端的網路都只透過 VPN 走向台灣,或者部分網站或服務不會走回台灣再繞回中國。

  33. Laurence 說道:

    你好,想請教一下,我公司有一台60D機器,它是內建WIFI的,我們公司用Exchange2003收發信,但現在遇到一個問題,連上60D的Wifi後,手機就無法用ActiveSync連到我們Mail主機但是上Yahoo網頁沒問題,我們也試著在Internal及DMZ區各放一台AP,連線後同樣無法連到Mail主機,已確認Wifi/Internal/DMZ到WAN全通,F/W的MAIL規則也沒問題(因為用3G就可以收到信),想請教一下,我可能還忽略了哪個部份要設定呢?

    • AskaSu 說道:

      我目前想到幾種可能,希望能讓你找出原因
      1. 60D上有啟動了 IPS 或 AV Policy,導致連線存取不正常。
      2. 連接到60D的Wifi後,無法正常解析郵件主機的FQDN,或 DNS 配置問題所導致。
      3. 使用者透過60D的Wifi連線到 Exchange,是否是經過 NAT?如果是,請嘗試將 60D Wan 埠的網路線接到 Lan 端,然後 60D 不要發 DHCP,看是否能正常連線。

  34. xenc 說道:

    你好,想請教一下,我用了二台 80c 設定 以IPsec Interface Mode設定
    最後,只 ping 的到彼此的 Fortigate 80C,卻無法連到對方的區網中,可以檢查哪些部份 @@|||

    一邊的區網是 192.168.1.0/24,另一邊是 192.168.2.0/24

    設定其中一邊(192.168.1.0/24)

    設定的過程中,新增 phase1 (指定另一方的 static ip) 及 phase2
    加 static route 192.168.2.0/255.255.255.0 選 phase1
    新增 policy
    form internal all to phase1 all 設為 accept
    form phase1 all to internal all 設為 accept

    另一邊的設定也是像這個過程。

    • AskaSu 說道:

      很抱歉,我目前沒有玩到 IPSec Interface Mode,
      可能沒辦法協助到您。

  35. AKS 說道:

    你好,想請教一下有試過用site to site + 動態路由的做法嗎?
    雖然照著網路上文件成功做出site to site + BGP動態路由,路由表也都有出現
    但是不會通,請問還有哪些地方需要設定呢?
    之前是用靜態路由+防火牆規則一筆一筆把網段加上去,但是據點跟網段一多(其實也才20來個),路由表也越來越亂,以前上課覺得動態路由應該永遠遇不到,現在才知道他們的好XD

    • AskaSu 說道:

      哈,我瞭解你說的好,尤其當要管的東西一海票時

      不過很不好意思,我沒有在 FG 上試過動態路由的作法,
      就可能要請您自己研究看看了

  36. chenlong 說道:

    蘇老您好!很冒昧請教您一問題,公司有一台Fortigate 200b使用site to site與各分公司連線網段192.168.1.x各分點為10.0.x.x想請教您!
    若需增加site to site VPN 192.168.1.X 到 192.168.X.X例如總公司對工廠您可否有相關文章參考?
    也就是總公司有兩條site to site VPN線路,Fortigate 200b能否實現,感謝!

    • AskaSu 說道:

      很抱歉,這部份應該沒有相關文章可以參考,
      因為每個企業的網路及架構不容易遇到有相同的。

      假使 Fortigate 設備還在維護保固內,
      建議試著將問題詢問代理商或原廠看看,
      或者 Fortinet Forum 也是不錯的討論區。

  37. rj1014 說道:

    您好,
    請教一下,Fortigate 80C 在VPN的使用上,可否同時使用IPSec即SSL VPN的連線?
    謝謝

    • AskaSu 說道:

      我使用及測試的環境是分開的,
      理論上設定妥當應該是可以同時使用,
      但要注意的是,預計會同時有多少個 VPN 連線?
      80C 不一定能承載過多的連線,
      且可能會影響到 Fortigate 防火牆的效能。

  38. snakeh 說道:

    前輩 你好,
    在網站拜讀你的文章,獲益匪淺。
    但是目前遇到一些困難。
    深感疑惑,想尋求前輩解答。

    目前我有一台60d 放在大陸的分公司。
    在各點都是正常使用的內建的ddns 服務(fortiddns.com),
    但放在中國大陸的環境下,就是無法使用,(ddns)有顯示可用,但是從台灣這就是無法連線。(http/s,rdp,ftp)
    很大機率應該是大陸的長城防火牆阻擋。
    但想請問下,前輩這邊有沒有實務上建議或相關經驗。
    可以提供解惑。

    • AskaSu 說道:

      中國封鎖不少DDNS服務,
      會想用DDNS的原因是?
      是中國的分公司那邊沒有固定IP的關係?
      如果改用IP連有正常嗎?

  39. eric 說道:

    可以請問,內網互通,如何設定?
    例port1:192.168.10.1
    port2:192.168.12.1
    兩個網段互通,謝謝您

    • AskaSu 說道:

      建議檢查路由及確認 Policy 有設定 Port 1 to Port 2 及 Port 2 to Port 1 的相關策略

  40. Blacky 說道:

    蘇老您好

    最近我也在設定這項東西
    要使用110C 和 60E做VPN
    目前VPN連線有通
    不過遇到的是60E端可以ping 110C
    但110C卻無法ping 60E端

    不知道是什麼原因

    再麻煩高手指教、謝謝

    • AskaSu 說道:

      建議先檢查一下兩邊的路由設定及 Policy,
      110C 端的封包是否正確往 60E 端走?

  41. Ivan 說道:

    請問, 是否可以改IPSEC VPN的default port?

    • AskaSu 說道:

      沒有試過這部份,可能要問問看原廠

發表迴響

*