Previously wrote an article 'Sonicwall FortiGate 防火牆建立 Site to Site VPN」的文章,當時常常遇到要跟 FortiGate 的設備做Site to Site VPN,而我手上的是 Sonicwall,實作的結果有時成功有時失敗,後來有次乾脆花了些時間,把兩個品牌的設定方式做個整理,以方便後續參考。當時在測試及整理資訊時,就有發現 FortiGate 韌體稍微不同,設定的方式就會不太一樣,頗為困擾,後來便把可以成功建立連線的兩種方式”Tunnel”和”接口”都記錄下來,以便下次遇到改版時,可以試試不同的方法。
今天又遇到要跟 FortiGate 建立 Site to Site VPN 的需求,型號是 FortiGate 80E,韌體版本為 5.6.4,當聽到是新買的防火牆時,心裡就冒出”不妙”的念頭,等到連線過去看時,果然選項又變了,且這次連介面都變了不少。實際開始設定 VPN 項目時,發現這次似乎已經沒有分”Tunnel”和”接口”,我首先嘗試以先前”Tunnel”的方式去設定,但 VPN 沒建立成功,接著改以”接口”建立,卻出現奇怪的結果,兩邊的Site to Site VPN 已建立成功,Sonicwall 這端可以 ping 到 FortiGate 端的網段,但反之則 timeout。檢查過 policy 的順序及 routing 的設定都沒有問題,重來一次結果也是一樣,讓我傷透腦筋。
之後去查詢官方資料,但官方目前針對 5.6 版的韌體似乎只有提供同為 FortiGate 產品的 Site to Site VPN 精靈模式設定教學,不過我注意到在精靈模式完成的最後一步時,畫面有顯示這次精靈模式共在哪些項目做了幾組異動,其中有個名為 “Blackhole Route” 的項目引起我的注意,因為一般在設定 Site to Site VPN 時,都是設定 “static route”,”Blackhole Route” 這項目倒是第一次看到。於是便到 “Static Routes” 去查看,在 Interface 的下拉選單中,果真有個”黑洞”的選項,試著新增一筆路由,並丟到”黑洞”這個介面,設完後,原本還 ping 的到 FortiGate 網段的 Sonicwall,現在也 ping 不到了,接著我把剛剛新增的這組路由給停用,然後神奇的事就發生了,Sonicwall 與 FortiGate 兩邊的網段都可以互相 ping 的到了,但之後我把 VPN 斷開再重新連線,FortiGate 又再度無法 ping 到 Sonicwall 的網段,Sonicwall 則一樣可以 ping 到 FortiGate 網段。
接著我又一樣的做法再來一次,把”黑洞”路由啟用、再停用,兩邊網段就又可以互通,測試幾次確認結果都一樣後,便開始研究這個”黑洞”路由的設定。在路由的設定參數中,有”优先级”跟”Distance”兩個值會影響先後順序,最後試出只要將”黑洞”路由的”优先级”數值小於 VPN 路由的”优先级”;”Distance”數值大於 VPN 路由的”Distance”,即可讓兩邊網段正常連線,就算重啟 VPN 連線也可以正常互 ping 了。
後來去查了官方關於”黑洞”的信息,只查到舊版韌體可以透過指令去設定此”黑洞”路由,但我仍是不了解為何我這樣的設法能夠解決 FortiGate 網段 ping 不到 Sonicwall 網段的問題,目前先將此成功的設定方式分享出來,後續若有進一步的資訊,再來更新此篇,若各位網友知道為什麼的話,也歡迎在下面留言討論,感谢。
| Sonicwall NSA 4600 | FortiGate 80E |
| 固件:6.2.7.1 | 固件:5.6.4 |
| Lan: 192.168.1.0/24 192.168.2.0/24 Wan: |
Lan: 192.168.100.0/24 Wan: |
【Sonicwall设置】
1.建Object
「Network」->「Address Objects」
姓名: FortiGate_网络
区域分配: VPN
类型: 网络
网络: 192.168.100.0
子网掩码: 255.255.255.0
确定
2.设置VPN隧道
「VPN」
启用 VPN
添加
–常规选项卡
IPSec 密钥模式: 使用预共享密钥的 IKE.
姓名: FortiGate_网络
IPSec 主网关名称或地址: 203.4.5.6
共享密钥: 设置一个密码
本地 IKE ID: IP 地址 (保留为空)
对端 IKE ID: IP 地址 (保留为空)
–网络选项卡
本地网络:LAN 主子网(192.168.1.0/24、192.168.2.0/24)
目标网络:FortiGate_网络(192.168.100.0/24)
–提案选项卡
IKE (第一阶段) 提案
交换: 主模式
DH组: 组 2
加密: 3DES
认证: SHA1
生命周期: 28800
IKE (第二阶段) 提案
协议: ESP
加密: 3DES
认证: SHA1
DH组: 组 2
生命周期: 28800
–高级选项卡
启用Keep Alive.
确定
【FortiGate设置】
1.设置VPN
「VPN」->「IPsec隧道」
「创建新建」
姓名: SonicWall
模板类型: 自定义
–网络
远程网关: 静态IP
IP 地址: 203.1.2.3
模式: 主模式
认证方式: 预共享密钥
预共享密钥: 与上面SonicWall设置的密码相同
–阶段 1 提案
加密: 3DES
认证: SHA1
DH组: 2
密钥寿命: 28800
–阶段 2 选择器
设置第一个网段(192.168.1.0)
姓名: SonicWall-192.168.1.0
本地地址: 192.168.100.0/24
远程地址: 192.168.1.0/24
设置第二个网段(192.168.2.0)
姓名: SonicWall-192.168.2.0
本地地址: 192.168.100.0/24
远程地址: 192.168.2.0/24
–高级
加密: 3DES
认证: SHA1
不勾选启用完美前向保密(PFS)
密钥寿命: 28800
2.建立路由
设置 192.168.1.0 路由
「Network」->「静态路由」
创建新建
目的地: 192.168.1.0/24
接口: SonicWall
管理距离: 10
-高级选项
优先级: 3 (要大于Blackhole默认值 0)
确定
设置 192.168.2.0 路由
「Network」->「静态路由」
创建新建
目的地: 192.168.2.0/24
接口: SonicWall
管理距离: 10
-高级选项
优先级: 3 (要大于Blackhole默认值 0)
确定
设置 192.168.1.0 黑洞
「Network」->「静态路由」
创建新建
目的地: 192.168.1.0/24
接口: 黑洞
管理距离: 12 (必须大于一般路由默认值 10)
确定
设置 192.168.2.0 黑洞
「Network」->「静态路由」
创建新建
目的地: 192.168.2.0/24
接口: 黑洞
管理距离: 12 (必须大于一般路由默认值 10)
确定
3.设置防火墙规则
策略 & 对象>IPv4策略
创建新建
姓名: Forti到Sonicwall
源接口: 端口 1(192.168.100.0 所在端口)
出接口: SonicWall
源: FortiGate_网络
目的地: SonicWall_network
计划: 总是
服务: 所有
操作: 接受
确定
创建新建
姓名: Sonicwall到Forti
源接口: SonicWall
出接口: 端口 1(192.168.100.0 所在端口)
源: SonicWall_network
目的地: FortiGate_网络
计划: 总是
服务: 所有
操作: 接受
确定
【参考链接】
- 老森常谭 » Sonicwall FortiGate 防火墙建立站点到站点 VPN
- (20) 03 Fortigate防火墙, Fortinet: 防火墙策略. – YouTube
- 具有重叠子网的站点到站点IPsec VPN – Fortinet手册








留下回复