資訊無涯,回頭已不見岸

快速設定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 頁面),有需要的人可以上網參考看看喔!

62 則留言

  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. David

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

  19. AskaSu

    Hi, David

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

  20. eric

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

  21. jason

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

    • AskaSu

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

  22. Yao

    請問蘇老:

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

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

  23. 亞當斯

    蘇老,
    我已經參考您的教學,設定過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 人做得要死,效果還不如一紙命令啊)

  24. jerry

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

    謝謝

    • AskaSu

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

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

      • jerry

        謝謝!

  25. Monty

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

    不同廠商~這樣會通嗎?

    • AskaSu

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

  26. 阿凱

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

    • AskaSu

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

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

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

  27. kolin

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

    • AskaSu

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

    • AskaSu

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

  28. 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來玩看看,感謝你這麼快就回覆並提供一個研究的方向,謝謝ㄛ...

  29. 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打入, 結果失敗也不能上網.

  30. KUEI

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

    • AskaSu

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

  31. Boyce

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

    • AskaSu

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

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

  32. 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,看是否能正常連線。

  33. 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,
      可能沒辦法協助到您。

  34. AKS

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

    • AskaSu

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

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

  35. 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 也是不錯的討論區。

  36. rj1014

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

    • AskaSu

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

  37. snakeh

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

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

    • AskaSu

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

  38. eric

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

    • AskaSu

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

  39. Blacky

    蘇老您好

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

    不知道是什麼原因

    再麻煩高手指教、謝謝

    • AskaSu

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

  40. Ivan

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

    • AskaSu

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

1 Pingback

  1. Blog Server

發佈回覆給「eric」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

© 2024 蘇老碎碎唸

Theme by Anders NorenUp ↑