萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

Windows 多網關智能路由配置指南:route.bat 開機自動加載、雙網卡同時上內外網

筆記本同時接內網 (有線/無線) 與外網 (4G/5G/寬帶)、伺服器多網卡連不同業務網段、虛擬機多網卡隔離流量 —— 這些場景都需要「多網關共存、按目標網段自動選路」。Windows GUI 僅支持單一默認網關,實現多網關關鍵在於 持久靜態路由 (persistent static routes) 配合開機自動加載。本文提供標準化部署方案。

核心原理

  • Windows 路由表優先級:最長前綴匹配 (LPM) > 接口度量值 > 預設網關 (0.0.0.0/0)。
  • 為特定目標網段 (如 10.0.0.0/8、172.16.0.0/12、192.168.100.0/24) 顯式添加路由指向對應網關,比默認網關優先級高。
  • 使用 route -p add ... (持久路由) 寫入註冊表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes,重啟自動生效,無需啟動腳本。

方案一:route -p 持久路由 (原生、免腳本、推薦)

管理員 PowerShell/CMD 執行

# 內網網段走有線網卡網關 (假設有線網關 192.168.10.1, 介面索引 12)
route -p add 10.0.0.0 mask 255.0.0.0 192.168.10.1 metric 10 if 12
route -p add 172.16.0.0 mask 255.240.0.0 192.168.10.1 metric 10 if 12
route -p add 192.168.100.0 mask 255.255.255.0 192.168.10.1 metric 10 if 12

# 外網預設走無線/4G 網卡 (假設無線網關 192.168.43.1, 介面索引 18)
route -p add 0.0.0.0 mask 0.0.0.0 192.168.43.1 metric 20 if 18
  • -p : 持久化 (寫註冊表,重啟保留)。
  • metric : 路由度量值,越小優先級越高。內網具體路由 metric 10 < 默認路由 metric 20。
  • if 介面索引 : 綁定具體出接口 (用 route print 或 Get-NetAdapter 確認 idx),防止多網卡時出錯介面。

查看/刪除/修改

route print -4          # 顯示 IPv4 路由表 (含持久路由 Persistent Routes 區塊)
route -p delete 10.0.0.0        # 刪除持久路由
route -p change 10.0.0.0 mask 255.0.0.0 192.168.10.254  # 修改網關

方案二:route.bat + 啟動資料夾 (兼容舊版/教學演示/需動態判斷)

1. 編寫 route.bat (存放於 C:\Windows\ 或專用腳本目錄)

@echo off
REM === 多網關靜態路由配置 ===
REM 內網網段 → 有線網關
route add 10.0.0.0 mask 255.0.0.0 192.168.10.1
route add 172.16.0.0 mask 255.240.0.0 192.168.10.1
route add 192.168.100.0 mask 255.255.255.0 192.168.10.1

REM 外網默認 → 無線/4G 網關
route add 0.0.0.0 mask 0.0.0.0 192.168.43.1

REM 可選:根據介面別名動態獲取索引 (需 Win8+/Server 2012+)
REM for /f "tokens=11" %%i in ('netsh interface ipv4 show interface "以太網" ^| findstr "Idx"') do set IDX=%%i
REM route add 10.0.0.0 mask 255.0.0.0 192.168.10.1 if %IDX%

2. 加入啟動資料夾 (Win8/10/11)

  1. Win+R → shell:startup (當前用戶) 或 shell:common startup (所有用戶)。
  2. 在資料夾中右鍵 → 新建 → 快捷方式 → 位置輸入 C:\Windows\route.bat → 下一步 → 命名「多網關路由加載」 → 完成。
  3. 右鍵快捷方式 → 內容 → 運行方式:最小化 → 確定 (避免黑框閃現)。

3. 任務計劃程序 (更可靠、系統啟動早期、最高權限)

  1. 打開「任務計劃程序」 → 建立基本任務 → 名稱「持久路由加載」 → 觸發器:「啟動時」。
  2. 操作:啟動程序 cmd.exe,參數 /c C:\Windows\route.bat。
  3. 勾選「使用最高權限執行」 → 完成。

進階場景與避坑

場景處理策略
DHCP 獲取的網關 IP 會變用腳本動態解析:for /f "tokens=3" %a in ('route print 0.0.0.0 ^| findstr "0.0.0.0"') do set GW=%a 然後 route -p add 10.0.0.0 mask 255.0.0.0 %GW%。或配置 DHCP 保留/靜態租約固定網關。
VPN 接入 (公司/雲上)VPN 客戶端通常自動推送路由 (Class 1/2/3),若衝突手動調整 metric 或用 route -p add 固化關鍵內網段優先走物理內網卡。
Hyper-V/WSL2/虛擬機網卡干擾vEthernet (Default Switch) 等虛擬介面可能搶佔介面索引。用 if 指定索引 明確綁定物理網卡。
IPv6 多網關同理用 route -p -6 add ...,前綴如 2001:db8:1::/64、默認 ::/0。
策略路由 (PBR) 需求Windows 原生不支持基於源 IP/應用/標記的策略路由。需:Linux 虛擬機做網關、RRAS (Windows Server)、第三方軟路由 (OpenWrt/OPNsense/pfSense) 虛擬機、或應用層代理 (Proxifier/Clash/V2Ray/Netch) 走 TUN/TAP 介面。

驗證清單

  1. route print -4 確認 Persistent Routes 區塊包含預期條目,Active Routes 顯示正確介面/度量值。
  2. tracert 內網服務器IP 首跳為內網網關;tracert 8.8.8.8 首跳為外網網關。
  3. ping 內網服務器 / ping 8.8.8.8 均通。
  4. 斷開外網卡,內網仍通;斷開內網卡,外網仍通 (若邏輯允許)。
  5. 重啟電腦,無需手動操作,路由自動生效。

掌握 route -p 持久路由 + 介面索引綁定 + metric 優先級設計,是 Windows 多網卡、多網關、內外網隔離、VPN 共存場景的標準解法。拋棄脆弱的啟動腳本,擁抱原生註冊表持久化,讓路由配置隨系統生命週期自動管理。

copyright © 萬盛學電腦網 all rights reserved