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、參考
- 概念與範例 ScreenOS 參考指南 第5 卷: 虛擬私人網路
- FortiGate Version 4.0 MR2 Administration Guide
- Juniper Networks - How to Troubleshoot a VPN Tunnel that won't come up - Knowledge Base
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。