Windows VPN Client 成功建立隧道後,路由表出現兩條預設路由:
0.0.0.0/0 → 本地閘道 (Metric 較大)0.0.0.0/0 → VPN 虛擬介面閘道 169.254.x.x (Metric 較小/優先)結果:所有流量(含網際網路)被強制塞進 VPN 隧道 → 經企業出口上網 → 受限於企業頻寬、防火牆政策,甚至企業無對外出口導致完全斷網。
管理員權限 PowerShell/CMD:
# 假設企業內網網段為 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16
# VPN 介面介面索引 (IF) 可用 `route print` 查詢,假設為 42
route -p add 10.0.0.0 mask 255.0.0.0 169.254.x.x metric 1 if 42
route -p add 172.16.0.0 mask 255.240.0.0 169.254.x.x metric 1 if 42
route -p add 192.168.0.0 mask 255.255.0.0 169.254.x.x metric 1 if 42
-p:持久化(重開機保留)。169.254.x.x 為 VPN 介面取得的 IP(連線後用 ipconfig 確認)。if 42:指定 VPN 介面索引,避免多介面混淆。$vpnIf = (Get-NetIPConfiguration -InterfaceAlias "*VPN*" | Select-Object -First 1).InterfaceIndex
$vpnGw = (Get-NetRoute -InterfaceIndex $vpnIf -DestinationPrefix "0.0.0.0/0").NextHop
$corpNets = @("10.0.0.0/8","172.16.0.0/12","192.168.0.0/16")
foreach ($net in $corpNets) {
$ip,$mask = $net -split "/"
$mask = ("255.0.0.0","255.240.0.0","255.255.0.0")[[array]::IndexOf(@("8","12","16"),$mask)]
New-NetRoute -DestinationPrefix $ip -InterfaceIndex $vpnIf -NextHop $vpnGw -RouteMetric 1 -PolicyStore ActiveStore
}
route print 0.0.0.0 確認僅剩實體介面預設路由。ping 8.8.8.8 → 走本地出口,速度正常。ping 內網伺服器 IP → 走 VPN 隧道,成功通達。tracert 內網伺服器 → 第 1 跳為 VPN 閘道,後續進入企業核心。