Windows

Add-VpnConnectionRoute 將其資訊儲存在哪裡

  • July 7, 2021

考慮以下 PowerShell 命令:

Add-VpnConnectionRoute -ConnectionName "SomeConnection" -DestinationPrefix 10.0.0.0/16 -AllUserConnection

執行此命令後,每當 VPNSomeConnection連接上時,Windows 會自動為 增加一條 IP 路由10.0.0.0/16,並在斷開連接時自動刪除該路由。

我正在尋求一些關於它是如何工作的洞察力,並且我想找出這些資訊在 Windows 中的保存位置。換句話說,Windows在哪裡儲存“連接VPNSomeConnection時,為”添加路由的指令10.0.0.0/16

在記事本中打開系統電話簿 ( C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk) 我看到很多設置,但沒有文字10.0.0.0。所以它似乎沒有與其他設置一起儲存在那裡。這意味著它要麼在某個其他系統文件中,要麼在系統資料庫中的某個位置。

有誰知道那可能在哪裡?

它們在 pbk 文件中。

NumRoutes儲存路線的數量,並Routes表示路線數據,但是據我所知,這沒有記錄,因此它可以隨時更改。

從 pbk 文件:

[...]
NumRoutes=1
Routes=0A00000002000000180000000A0006000000000000000000000000000000000000000000
[...]

之前使用 powershell 命令“Add-VpnConnectionRoute”進行了一些處理,並查看了對 rasphone.pbk 文件的更改。我設法發現每個路由條目的長度都是 72 個十六進製字元,無論是 IPv4 還是 IPv6。每行不超過 136 個字元(包括“Route=”)並且它們被包裹在一起:

172.16.0.0/12
NumRoutes=1
Routes=01000000020000000C000000AC1000000000000000000000000000000000000000000000

172.16.0.0/12 & 192.168.0.0/16
NumRoutes=2
Routes=01000000020000000C000000AC1000000000000000000000000000000000000000000000010000000200000010000000C0A80000000000000000000000000000
Routes=0000000000000000

172.16.0.0/12, 192.168.0.0/16 & 10.0.0.0/8
NumRoutes=3
Routes=01000000020000000C000000AC1000000000000000000000000000000000000000000000010000000200000010000000C0A80000000000000000000000000000
Routes=00000000000000000100000002000000080000000A0000000000000000000000000000000000000000000000


2001:2001:2001:2001::/64
NumRoutes=1
Routes=010000001700000040000000200120012001200100000000000000000000000000000000


 Ver?     IPv4   prefix ln address
01000000 02000000 0C000000 AC100000 0000000000000000000000000000000000000000 = 172.16.0.0/12
01000000 02000000 10000000 C0A80000 0000000000000000000000000000000000000000 = 192.168.0.0/16
01000000 02000000 08000000 0A000000 0000000000000000000000000000000000000000 = 10.0.0.0/8

 Ver?     IPv6   prefix ln address
01000000 17000000 40000000 20012001200120010000000000000000 0000000000000000 = 2001:2001:2001:2001::/64

我通過 GPO 首選項以及 .ini 文件更新推出 VPN 設置,以在 rasphone.pbk 文件中設置“DisableIKENameEkuCheck”、“IpNBTFlags”和(目前)“IpPrioritizeRemote”。我想禁用“在遠端網路上使用預設網關”並為拆分隧道添加靜態路由。

引用自:https://serverfault.com/questions/1051424