技術文章 · 網路與網通建置

雙線備援 failover 怎麼設:讓網路斷一條,生意還能繼續撐

只靠單一條對外線路,一斷全公司停擺。雙 WAN 備援能在主線異常時自動切到備援線。本文深入拆解 failover 與負載平衡的差別、線路「斷」的兩種型態、健康偵測的偵測目標與參數怎麼調、切換瞬間為何有些連線一定會斷(NAT 與公網 IP 的關係)、主備線如何搭配才不會一起死,並用停機成本教你判斷實際該不該做。

作者 Steve Chen · 發布  · 更新  · 約 8 分鐘閱讀

網路與網通建置 — 廷皓技術專欄插圖

先說一個真實的場景。去年週末,高雄一家餐飲門市正逢尖峰,外送單、內用刷卡、線上點餐同時湧進,結果對外那條唯一的光纖突然沒反應:不是店裡的路由器壞了,是電信端的匯集設備出狀況。刷卡機刷不過、雲端 POS 叫不出菜單、後台進銷存整個動不了,店長只能拿計算機手寫單,客人排到門口開始罵。前後將近一個小時,那一小時掉的營業額,比整整一年的備援線月租還多。

這就是「單一對外線路」最要命的地方:它是整間公司的單點故障(single point of failure)。電信機房維修、巷口施工挖斷管線、社區總機箱被人動到、甚至只是數據機自己過熱重開,你都只能乾等別人修,期間生意全停。國外一份 2026 年的調查就指出,網路中斷已經是企業 IT 事故裡最大宗的一類,大約占三成;而對二十到一百人規模的中小企業來說,停機一小時的損失動輒上萬美元起跳。雙線備援(failover),講白了就是替這種「不能斷」的情況,買一份會自動生效的保險。

先分清楚:線路「斷」其實有兩種

很多人以為斷線就是「網路燈不亮」,其實工程上要拆成兩種來看,因為它們難處理的程度差很多。

第一種是硬斷(hard down):光纖被挖斷、數據機斷電、網路孔完全沒訊號。這種其實好處理,因為路由器的實體介面直接就偵測得到「載波消失」,判斷很乾脆,該切就切。

第二種才麻煩,叫軟斷或劣化(brownout):線還在、燈還亮、實體介面顯示「已連線」,但封包就是出不去:可能是電信端上游塞車、路由繞錯、封包大量遺失、延遲從幾十毫秒飆到好幾秒。這種情況下,如果你的路由器只會看「網路孔有沒有訊號」,它會一直以為主線好好的,死抱著一條爛線不放,使用者卻早就連不出去了。

這帶出一個很關鍵的觀念:「實體連上」不等於「連得出去」。真正可靠的備援,不能只看實體介面亮不亮,一定要靠主動去「試連外面」才算數:這就是接下來要講的健康偵測,也是整套備援最容易被做壞的地方。

Failover 與負載平衡,是兩回事

雙 WAN(兩條對外線)有兩種玩法,目的完全不同,卻常被混為一談:

  • Failover(備援切換):平常只走主線,主線一出事,路由器自動把流量整批切到備援線。重點是「不中斷營業」,備援線平時幾乎閒置,就是拿來買保險的。
  • Load balancing(負載平衡):兩條線同時上,把不同連線分攤到兩條上跑。重點是「總頻寬變大、同時上線人多也不卡」。

這裡有個常被誤會的細節:負載平衡多半是「以連線為單位」分流(per-flow):它把每一條連線用雜湊演算法分到某一條線上,而不是把單一個檔案拆成兩半、同時走兩條線下載。所以你單獨測一條大檔傳輸的速度,不會是兩條頻寬相加,是這條連線被分到哪條線、就跑那條線的速度。更重要的是,負載平衡本身並不等於備援:如果沒有另外把健康偵測設好,某條線劣化時,被分到那條線上的連線照樣會卡死。

中小企業最常需要的其實是 failover。如果上網人多、視訊會議和雲端服務又同時吃頻寬,可以兩者並用:平時負載平衡分攤流量,任何一條斷了,另一條自動扛下全部。搭配的前提,是兩條線都要有各自可靠的健康偵測。

健康偵測:整套備援的心臟

路由器該怎麼知道主線該切了?靠的就是健康偵測(health check):它會持續主動去「敲」外面一個穩定的目標,敲得到就當主線健康,連續敲不到就判定異常、切到備援。這套機制怎麼設,直接決定了整個備援好不好用、會不會幫倒忙。

用什麼方式敲、敲誰

常見的偵測方式有 ICMP ping(最普遍)、TCP 連線測試、HTTP/HTTPS 抓網頁、DNS 查詢等等。進階一點的平台還會一併看封包遺失率和延遲,而不只是「通或不通」,這樣才抓得到前面說的那種軟性劣化。偵測目標則建議設兩三個不同的穩定位址(例如公用 DNS 這類幾乎不會下線的服務),避免單一目標剛好在維護,就被誤判成自己家線路斷了。

兩個最容易設錯的地方

第一,備援線的偵測,一定要從備援線自己出去測。很多人兩條線的健康偵測都是從主線繞出去,結果備援線其實早就不通、平常根本沒在被檢查,真的要切過去那一刻才發現備援也是死的:這種「假備援」比沒有還糟,因為你一直以為有保險。

第二,偵測參數要拿捏。偵測間隔乘上連續失敗次數,大約就是你的「切換反應時間」。設太敏感(網路稍微抖一下、掉個一兩包就切),會來回亂跳(業界俗稱 flapping),連線反而更不穩;設太鈍,真的斷了卻要拖很久才切。這裡要特別提醒:不少企業級路由器出廠預設值偏保守,有些平台碰到軟性故障,要連續失敗累積到將近五分鐘才肯切:五分鐘對一間門市已經是災難。實務上常見會調成每隔數秒偵測一次、連續失敗三到五次就切換,另外再加一道回切緩衝(hold-down/抖動抑制):主線恢復後要「穩定一段時間」才切回去,免得主線時好時壞,害你整個網路跟著它一起抽搐。

為什麼切過去的那一瞬間,有些連線一定會斷

這件事要先跟老闆和同事講白:failover 並不是完全無感。切換的那一瞬間,你對外的公網 IP 會從主線的那個換成備援線的那個,而這一換,牽動的是路由器裡的一張表:NAT 位址轉換表

原理是這樣:你所有連出去的連線,本來都被轉換成「主線那個公網 IP」對外溝通,遠端的伺服器也記著要跟那個 IP 對話。IP 一換,遠端伺服器突然收到「來源 IP 很陌生、而且比對不到任何一筆已知連線紀錄」的封包,它會直接把這條連線丟掉。所以會出現以下狀況:

  • 長連線幾乎一定會斷一下:VPN 通道、雲端 ERP 的長連線、進行中的大檔上傳下載、視訊會議、VoIP 通話,通常會斷掉、需要重新建立。
  • 靠固定對外 IP 的服務會失效:自架郵件伺服器、遠端桌面、對外開放的監控畫面:外面的人原本連的是主線那個 IP,切到備援後,那個 IP 就沒反應了。
  • 一般網頁瀏覽和多數雲端服務影響很小:因為它們本來就會自動重連,使用者頂多覺得「卡了一兩秒」。

那要讓「對外服務」也撐得住,工程上有幾種做法。最常見、最省成本的是動態 DNS(DDNS):切換後,路由器自動把你的網域名稱重新指向備援線的新 IP,外面的人靠名稱還是找得到你(缺點是有 DNS 快取的生效時間,通常要等幾分鐘才會全面更新)。要求更高、預算也更足的公司,才會走「向兩家電信各要一段固定 IP、再用進階路由讓對外服務不受切換影響」這類做法,成本和維運複雜度都明顯拉高,多數中小企業其實用不到。真正的重點是:這些一定要在規劃階段就盤點清楚:哪些服務絕對不能斷、斷了影響多大,一起納進設計裡,而不是裝完才發現 VPN 每次切換都掉線。

主備兩條線怎麼搭:別讓它們一起死

備援線最忌諱一件事:跟主線同生共死。如果你兩條線都跟同一家電信、走同一個社區機房、甚至同一束進線管路,那巷口一挖、機房一停電,兩條一起躺平,備援等於白買。真正有意義的備援,要盡量做到「來源不同、路徑不同、媒介不同」:

  • 不同電信業者:避開單一業者上游或機房故障,把兩條線一起帶走的風險。
  • 不同進線媒介:例如一條走光纖,另一條走 Cable 或行動網路(4G/5G),連物理路徑都岔開。

用行動網路(4G/5G)當備援很常見、佈建也快,但有幾顆地雷要先知道:一是流量常常有上限或會被降速,真的切過去長時間跑,帳單和速度都要先想清楚;二是行動網路特別容易出現「介面顯示連線正常,實際延遲和抖動卻很糟」的劣化,剛好又是純看實體介面偵測不到的那一種:這也再次印證,健康偵測一定要看得到品質,不能只看通不通。

如果公司對「切換要幾乎無感」要求很高,市場上還有更進一步的 SD-WAN 方案:它會持續替每一條線路的品質打分數,用一層疊加通道(overlay)讓連線在底層線路切換時盡量不中斷,還能依應用類型分流(例如把視訊會議優先安排走品質好的那條線)。代價是設備和維運成本較高,比較適合分點多、對連續性要求特別高的公司。

實際該不該做?用停機成本算給你聽

判斷其實不玄,一條算式就夠:把「網路斷一小時的損失」乘上「一年大概會斷幾次、每次大概多久」,再跟備援線一年的月租總和比一比。

國外調查抓到的平均值可以拿來當參考:一般小型企業一年累計大約會遇到十幾個小時的網路停機,而多數中小企業評估「停機一小時的損失」都落在數千到上萬美元之間:門市、餐飲、接單型、有即時金流的公司尤其高,因為斷線就是直接掉訂單、掉客人、掉信任。你只要把這個數字換算成新台幣,再對比一條備援線一個月不過幾百到一兩千元的月租,通常一算就很清楚:只要一年斷一次、斷超過一小時,備援線大概就回本了。

反過來說,如果你的公司只是偶爾上網查查資料、沒有即時交易、斷一下也不太痛,那單線也許就夠,不必硬上。備援是拿來保護「不能斷的業務」,不是每一家都非做不可:這也是我們評估時,一定會先幫你問清楚的第一件事。

對照指令

聯絡廷皓討論 看更多文章