当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 连接VPN后自动添加静态路由

作者:精品下载站 日期:2024-12-14 23:08:46 浏览:14 分类:玩电脑

连接VPN后自动添加静态路由


在最新的 Windows 10 版本中,您可以在建立 VPN 连接时自动添加静态路由。当 VPN 连接终止时,该路由会自动从 Windows 路由表中删除。要为 VPN 连接添加 IPv4 或 IPv6 路由,请使用 Add-VpnConnectionRoute PowerShell cmdlet。

当然,您可以通过命令提示符为您的VPN连接手动添加路由,但在与VPN断开连接后它们将被清除。因此,下次连接 VPN 时,您必须再次手动添加路由。

假设您只需要两个子网的流量(

192.168.11.0/24

10.1.0.0/16

)通过您的 VPN 连接进行路由,其他流量则通过您的提供商 (ISP)。

打开 PowerShell 控制台并显示 Windows 中已配置的 VPN 连接列表:

Get-VpnConnection

[玩转系统] 连接VPN后自动添加静态路由

首先,取消选中在远程网络中使用默认网关选项。您可以在控制面板的 VPN 连接属性中或使用 PowerShell 命令 Set-VpnConnection 来执行此操作:

Set-VpnConnection -Name workVPN -SplitTunneling $True

在连接到 VPN 后无 Internet 连接一文中了解有关 SplitTunneling 的更多信息。

[玩转系统] 连接VPN后自动添加静态路由

让我们为 VPN 连接添加两条静态路由:

Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.11.0/24 -PassThru
Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 10.1.0.0/16 -PassThru

DestinationPrefix 选项中,指定要通过 VPN 将流量路由到的子网或主机 IP 地址。要通过 IP 地址添加单个主机,请使用以下格式:

10.1.1.26/32

[玩转系统] 连接VPN后自动添加静态路由

DestinationPrefix : 192.168.11.0/24
InterfaceIndex :
InterfaceAlias : workVPN
AddressFamily : IPv4
NextHop : 0.0.0.0
Publish : 0
RouteMetric : 1

如果您的 VPN 连接处于活动状态,您将需要重新连接,以便将新路由添加到路由表中。

[玩转系统] 连接VPN后自动添加静态路由

新路由绑定到 VPN 连接,并且仅在建立连接时添加。当您与 VPN 服务器断开连接时,路由将自动删除。

断开与 VPN 的连接并检查路由表。到您的远程网络的路由已自动删除,并且

Get-NetRoute

返回未找到路由:

Get-NetRoute : No MSFT_NetRoute objects found with property 'DestinationPrefix' equal to '192.168.11.0/24'. Verify the value of the property and retry. CmdletizationQuery_NotFound_DestinationPrefix,Get-NetRoute

[玩转系统] 连接VPN后自动添加静态路由

要完全删除 VPN 连接的静态路由,请使用以下命令:

Remove-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.111.0/24 -PassThru

如果您想更改活动 VPN 连接的 DNS 名称解析顺序,请阅读本文。

在以前的 Windows 版本(Windows 7/ Windows Server 2008R2)中,要在建立 VPN 连接后动态添加路由,您必须使用 CMAK 和带有添加路由命令的各种脚本。

例如,您可以创建一个批处理文件vpn_route.netsh来添加一些静态路由。

interface ipv4
add route prefix=192.168.11.24 interface="workVPN" store=active
add route prefix=10.1.0.0/16 interface="workVPN" store=active
exit

您可以使用在建立 VPN 连接后触发的任务计划程序(事件查看器中的 RasMan 20225 事件)运行此文件。

schtasks /create /F /TN "Add VPN routes" /TR "netsh -f C:\PS\vpn_route.netsh" /SC ONEVENT /EC Application /RL HIGHEST /MO "*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data='My VPN']]"

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯