將 BovpnVif 路由添加到 0.0.0.0/0 後,WatchGuard Firebox 自身的 Internet 連接失敗
**環境:**公司網路在總部有一個帶有 Total Security Suite 的 Firebox M 系列設備。每個分支機構都有一個較小的 T 系列 Firebox,沒有訂閱服務。因此,來自分支機構的所有流量都通過總部的 M 系列設備進行路由。一些分支機構 Firebox 具有靜態 IP,一些通過 DHCP 獲得。
有時隧道可能會出現一些問題(例如,如果 HQ 網路出現故障)。因此,分支機構 Firebox 需要能夠放棄
0.0.0.0/0
通過隧道的路由並獨立工作一段時間,因為 BO 網際網路連接對業務至關重要。這適用於 BO 虛擬介面,但不適用於0.0.0.0/0
BO GW & Tunnel。簡化(只有一個 External 和 Trusted if)相關配置,一個帶有 DHCP 的分支機構。
- Firebox-HQ (
10.9.0.1
) - M670$$ Fireware OS v12.2.1.B572649 $$
介面(路由模式)
eth0
:ISP1$$ External $$-198.51.100.123/24
(靜態)eth1
: 值得信賴$$ Trusted $$-10.9.0.1/24
VPN介面(
bvpn20
):BovpnVif.BO20$$ IKEv1 $$
- 路線到
10.9.20.0/24
- 火箱-BO20 (
10.9.20.1
) - T55$$ Fireware OS v12.2.1.B572649 $$
介面(路由模式)
- DNS 伺服器:
192.0.2.10
&192.0.2.20
(ISP2 的 DNS 伺服器)eth0
: ISP2$$ External $$-203.0.113.33/24
(DHCP)eth1
: 值得信賴$$ Trusted $$-10.9.20.1/24
VPN 介面 (
bvpn1
): BovpnVif.HQ$$ IKEv1 $$
- 路線到
0.0.0.0/0
- VPN 設置:$$ x $$當 BOVPN vif 的隧道關閉時刪除 VPN 路由。
當隧道關閉時,一切都按預期工作。Firebox-BO20 可以用作其
eth1
網路的 DNS 解析器。10.9.20.0/24
和 Firebox 本身都可以訪問 Internet 。**問題:**當隧道開通並添加
0.0.0.0/0
路由時bvpn1
,客戶端eth1
可以通過VPN和總部的所有資源(包括DNS伺服器)訪問Internet。IPv4 Routes ------------ Destination Gateway Genmask Flags Metric Interface 0.0.0.0 0.0.0.0 0.0.0.0 U 1 bvpn1 0.0.0.0 203.0.113.1 0.0.0.0 UG 5 eth0 10.9.20.0 0.0.0.0 255.255.255.0 U 0 eth1 203.0.113.0 0.0.0.0 255.255.255.0 U 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 lo
但是,Firebox 停止作為 DNS 解析器工作,並失去自己的 Internet 連接。這是因為 Firebox 自己的連接也開始使用該路由。
- ISP2 的 DNS 伺服器無法從 ISP1 訪問
192.0.2.10
。192.0.2.20
- 網路上的設備
10.9.20.0/24
可以通過bvpn1
.- Firebox 不
10.9.20.1
通過隧道使用其內部 IP,但203.0.113.33
.- 防火牆規則
Any From Firebox-00
是硬編碼的,不會顯示在策略管理器中。否則很容易強迫它eth0
與<policy-routing>
.有防火牆策略允許兩個設備上的所有必要流量;因此,問題僅限於路由。
對於ISP2 的 DNS 伺服器,您需要將靜態路由添加到 Firebox-BO20。
從 Fireware Polixy Manager > Network > Routes…
- 添加…靜態路由,主機 IPv4,到
192.0.2.10
,網關203.0.113.1
指標0
。- 添加…靜態路由,主機 IPv4,到
192.0.2.20
,網關203.0.113.1
指標0
。將設置保存到 Firebox 後,連接隧道的路由表如下所示:
IPv4 Routes ------------ Destination Gateway Genmask Flags Metric Interface 0.0.0.0 0.0.0.0 0.0.0.0 U 1 bvpn1 0.0.0.0 203.0.113.1 0.0.0.0 UG 5 eth0 10.9.20.0 0.0.0.0 255.255.255.0 U 0 eth1 192.0.2.10 203.0.113.1 255.255.255.255 UGH 0 eth0 192.0.2.20 203.0.113.1 255.255.255.255 UGH 0 eth0 203.0.113.0 0.0.0.0 255.255.255.0 U 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 lo
另一種選擇是使用可在兩個 ISP 上執行的公共 DNS 伺服器(如 Cloudflare 的
1.1.1.1
/1.0.0.1
或 Google 的8.8.8.8
/ )。8.8.4.4
這樣您就不需要在 Firebox-BO20 上添加路由,但是下面的解決方案對於這兩種方法都是強制性的。對於連接隧道時**Firebox-BO20 的 Internet 連接,**事情有點複雜,因為 Firebox 在通過隧道發送數據包時使用其外部 IP。如果您有與登錄匹配的規則,例如 HTTPS 代理,您將從日誌中看到這一點,例如:
Allow 203.0.113.33 23.99.53.216 https/tcp 46452 443 BovpnVif.BO20-bvpn20 ISP1 HTTPS Request (HTTPS-proxy-00) HTTPS-Client.Standard proc_id="https-proxy" ... sni="services.watchguard.com" cn="services.watchguard.com"
這
0.0.0.0/0
在 Firebox-BO20 上有一條路由,但在 Firebox-HQ 隧道上沒有路由bvpn20
。
- 您需要編輯 BOVPN 虛擬介面 BovpnVif.BO20 並添加到 Firebox-BO20 的外部 IP 的路由。如果 IP 是靜態的,那將是單個
203.0.113.33/32
.在這種情況下,Firebox-BO20 的外部介面在 DHCP 上,您需要一個覆蓋它可以獲得的所有可能 IP 的路由,例如整個 DHCP 池
203.0.113.0/24
。當然,這意味著 Firebox-HQ 也會將此路由用於該範圍內的其他地址。這可能會導致某些案例出現問題——如果確實如此,您需要獲取靜態 IP。
- 預設情況下,Firebox 會為專用網路添加動態 NAT
192.168.0.0/16
,172.16.0.0/12
並且10.0.0.0/8
. 由於外部 IP203.0.113.33
不在這些網路中,您需要將 (Network > NAT…) Dynamic NAT 從 BovpnVif.BO20 添加到 Any-External。幸運的是,這可以使用 BOVPN 虛擬介面的現有內置別名來完成。