SSG 與 Fortigate 建立 Site to Site VPN 實作筆記

1、前言

簡單來說,現在有二台不同廠牌的 UTM 設備 (Juniper SSG 140、Fortigate 110C),希望達成的目的是將這二台 UTM 設備,能夠順利建立 Site to Site VPN,以便二台 UTM 下的 LAN 網段主機,可以輕鬆的進行溝通及資料傳輸。

原則上,因為二台 UTM 設備是不同的廠牌,所以無法依靠內建的精靈來快速建立,並且需要確認建立的 Site to Site VPN 通道,是要採用二台 UTM 都支援的「加密協定」,如此一來才能順利的互相溝通,那麼就開始動手吧  :)



文章目錄

1、前言
2、實作環境
3、Fortigate 110C VPN 設定
          步驟1. 建立 IPSec Phase1
          步驟2. 建立 IPSec Phase2
          步驟3. 建立二端 LAN 的 IP 位址資訊
          步驟4. 增加 VPN 資訊至 Firewall Rules
          步驟5. 新增 Static Route
4、Juniper SSG 140 VPN 設定
          步驟1. 建立 Tunnel Interface
          步驟2. 建立 IPSec Phase 1
          步驟3. 建立 IPSec Phase 2
          步驟4. 建立二端 LAN 的 IP 位址資訊
          步驟5. 增加 VPN 資訊至 Firewall Rules
          步驟6. 新增 Static Route
5、參考
6、Me FAQ
          Q1. Juniper VPNs Monitor Satatus 中 SA 狀態為 Active 但 Link 狀態為 Down?



2、實作環境

Fortigate 110C
  • Firmware: v4.0 Build0324,110520 (MR2 Patch7)
  • WAN1: 61.60.59.58
  • LAN: 192.168.58.0/24 (switch)

Juniper SSG 140
  • Firmware: 6.1.0r2.0
  • Untrust: 71.70.69.68 (ethernet0/0)
  • Trust: 192.168.68.0/24 (ethernet0/1)



3、Fortigate 110C VPN 設定

步驟 1. 建立 IPSec Phase1

切換至路徑 【VPN >> IPsec >> Auto Key(IKE) >> Create Phase 1】 建立 IPSec Phase1 資訊:
  • Name: 填入此 IPSec Phase 1 的名稱,此次建置為 To_SSG_Phase1
  • IP Address: 填入 Juniper SSG 140 的 Public IP,此次實作為 71.70.69.68
  • Local Interface: 選擇 WAN1 介面。
  • Pre-shared Key: 填入與 Juniper SSG 140 設定相同的 Key,此次實作為 weithenn1234 (須配合 SSG 設定)。
  • IKE Version: 選擇 1
  • P1 Proposal: 1-Encryption 選擇 3DES、Authentication 選擇 MD5 (須配合 SSG 設定)。
  • DH Group: 選擇 2 (須配合 SSG 設定)。
  • Keylife: 填入 28800 (須配合 SSG 設定)。



步驟 2. 建立 IPSec Phase2

切換至路徑 【VPN >> IPsec >> Auto Key(IKE) >> Create Phase 2】 建立 IPSec Phase2 資訊:
  • Name: 填入此 IPSec Phase 2 的名稱,此次建置為 To_SSG_Phase2
  • Phase1: 選擇剛才建立的 To_SSG_Phase1
  • P2 proposal: 1-Encryption 選擇 3DES、Authentication 選擇 SHA1 (須配合 SSG 設定)。
  • DH Group: 選擇 2 (須配合 SSG 設定)。
  • Keylife: 填入 3600 (須配合 SSG 設定)。



步驟 3. 建立二端 LAN 的 IP 位址資訊

切換至路徑 【Firewall >> Address >> Address >> Create New】 建立 Fortigate 及 Juniper LAN User 的IP 網段資訊,以便屆時簡化 Firewall Rules 設定。

Fortigate 110C
  • Address Name: Fortigate_LAN_User
  • IP Range: 192.168.58.0/255.255.255.0
  • Interface: switch

Juniper SSG 140
  • Address Name: SSG_LAN_User
  • IP Range: 192.168.68.0/255.255.255.0
  • Interface: To_SSG_Phase1



步驟 4. 增加 VPN 資訊至 Firewall Rules

新增 Outgoing / Incoming 的 Site to Site VPN 規則至 Firewall Rules 中,切換至路徑【Firewall >> Policy >> Policy >> Create New >> Policy】進行設定:

Outgoing Firewall Rules 資訊: switch -> To_SSG_Phase1
  • Source Interface: switch
  • Source Address: Fortigate_LAN_User
  • Destination Interface: To_SSG_Phase1
  • Destination Address: SSG_LAN_User

Incoming Firewall Rules 資訊: To_SSG_Phase1 -> switch
  • Source Interface: To_SSG_Phase1
  • Source Address: SSG_LAN_User
  • Destination Interface: switch
  • Destination Address: Fortigate_LAN_User



步驟 5. 新增 Static Route

新增 Static Route 使 Fortigate LAN User 的封包知道往 Juniper LAN User 的封包要往 To_SSG_Phase1 介面送,切換至路徑【Router >> Static >> Static Route >> Create New】進行設定:
  • Destination IP: 192.168.68.0/255.255.255.0
  • Device: To_SSG_Phase1



4、Juniper SSG 140 VPN 設定

步驟 1. 建立 Tunnel Interface

切換至路徑 【Network >> Interfaces >> List >> Tunnel IF >> New】 建立 VPN Tunnel 專用 Interface 資訊:
  • Zone(VR): 選擇 Untrust (trust-vr)
  • Unnumbered: 選擇 WAN 介面,此次實作為 ethernet0/0 (trust-vr)



步驟 2. 建立 IPSec Phase 1

切換至路徑 【VPNs >> AutoKey Advanced >> Gateway >> New】 建立 IPSec Phase1資訊:
  • Gateway Name: 此次建置為 To_Fortigate_Phase1
  • Version: 選擇 IKEv1
  • Remote Gateway: 選擇 Static IP Address 及填入 Fortigate Public IP,此次實作為 61.60.59.58
  • Advanced \ Preshared Key:填入與 Fortigate 110C 設定相同的 Key,此次實作為 weithenn1234 (須配合 Fortigate 設定)。
  • Advanced \ User Defined: 選擇 Custom
  • Advanced \ Phase 1 Proposal: 選擇 pre-g2-3des-md5 (須配合 Fortigate 設定)。
  • Advanced \ Enable NAT-Traversal: 勾選此項目。



步驟 3. 建立 IPSec Phase 2

切換至路徑 【VPNs >> AutoKey IKE >> New】 建立 IPSec Phase2 資訊:
  • VPN Name: 此次建置為 To_Fortigate_Phase2
  • Remote Gateway: 選擇剛才建立的 To_Fortigate_Phase1
  • Outgoing Interface: 選擇 Untrust 介面,此次實作為 ethernet0/0 (trust-vr)
  • Advanced \ User Defined: 選擇 Custom
  • Advanced \ Phase 1 Proposal: 選擇 g2-esp-3des-sha (須配合 Fortigate 設定)。
  • Advanced \ Replay Protection: 勾選此項目。
  • Advanced \ Bind to: 選擇 Tunnel Interface 及先前建立的 tunnel.1
  • Advanced \ VPN Monitor: 勾選此項目。
  • Advanced \ Optimized: 勾選此項目。



步驟 4. 建立二端 LAN 的 IP 位址資訊

切換至路徑 【Policy >> Policy Elements >> Addresses >> Untrust 及 Trust】 建立 Fortigate 及 Juniper LAN User 的IP 網段資訊,以便屆時簡化 Firewall Rules 設定。

Fortigate (Untrust)
  • Address Name: Fortigate_LAN_User
  • IP Range: 192.168.58.0/255.255.255.0
  • Zone: Untrust

Juniper (Trust)
  • Address Name: SSG_LAN_User
  • IP Range: 192.168.68.0/255.255.255.0
  • Zone: Trust



步驟 5. 增加 VPN 資訊至 Firewall Rules

新增 Outgoing / Incoming 的 Site to Site VPN 規則至 Firewall Rules 中,切換至路徑【Policy >> Policies】進行設定:

Outgoing Firewall Rules 資訊: From Trust To Untrust
  • Source Address: SSG_LAN_User
  • Destination Address: Fortigate_LAN_User
  • Action: Permit

Incoming Firewall Rules 資訊: From Untrust To Trust
  • Source Address: Fortigate_LAN_User
  • Destination Address: SSG_LAN_User
  • Action: Permit


步驟 6. 新增 Static Route

新增 Static Route 使 Juniper LAN User 的封包知道往 Fortigate LAN User 的封包要往 tunnel.1 介面送,切換至路徑【Network >> Routing >> Destination >> trust-vr >> New】進行設定:
  • IP Address: 192.168.58.0/24
  • Next Hop: 選擇 Gateway 然後 Interface 選擇 tunnel.1



5、參考




6、Me FAQ

Q1. Juniper VPNs Monitor Satatus 中 SA 狀態為 Active 但 Link 狀態為 Down?

Error Message:
設定完成後 VPN Tunnel 不通,查看 Juniper VPNs Monitor Satatus 中 SA Status 狀態為 Active 但 Link 狀態為 Down。

Ans:
於建立 IPSec Phase 2 時記得勾選在 Advanced 項目中的 Optimized,勾選後 VPN Tunnel 就順利運作了,且 Link 狀態也為 Up,詳細內容請參考 Juniper Networks - How do you enable the Optimized feature of VPN Monitor and what does it do - Knowledge Base