我在 Windows 10 上使用 OpenConnect 8.03 連接到 VPN。所有其他 IPv4 流量仍然透過我的正常連接進行路由。我的家庭設定是 IPv4 和 IPv6 雙重堆疊。
如果我沒有連接到 VPN,則 IPv6 應該優先於 IPv4。然而,一旦我連接到 VPN,IPv4 就會優先於 IPv6,即使對於 VPN 外部的流量也是如此。route print
連接到隧道後,IPv4 或 IPv6 的指標沒有顯示任何差異,當然,它為 VPN 的單一 /16 IPv4 子網路添加了較低的指標。也netsh interface ipv6 show prefixpolicies
顯示沒有差異。一般來說,IPv6 仍然有效(透過連接到僅 IPv6 的主機或強制使用 IPv6 來確認)。
當我在 Linux(而不是 Windows 10)上使用 OpenConnect 連接到 VPN 時,IPv6 正確地優先於 IPv4。
答案1
顯然,當連接到純 IPv4 VPN 時,DNS 查找是透過純 IPv4 連線完成的。在預設設定中,Windows 將僅查詢 A 記錄,無論其他介面是否提供 IPv6 連線。
也可以強制 Windows 在純 IPv4 連線上查詢 AAAA 記錄。為此,需要新增以下註冊表項:
HKLM\System\CurrentControlSet\Services\Dnscache\Parameters\
DWORD "AddrConfigControl" = "0"
如果該值不存在,則需要建立它。無需重新啟動。該設定或多或少會立即生效。