您的位置:首页 >科技 >

全球时讯:Windows下实现VPN掉线自动断网

2022-12-21 16:04:21    来源:互联网

1.掉线问题

在渗透测试过程中,一般VPN代理来进行渗透,但是如果VPN突然掉线了,那么就很可能使用我们的真实IP就暴露了。如何保证一旦VPN掉线就自动断网?

2.Windows自带VPN与第三方VPN区别


(相关资料图)

阅读了前辈的若干文章如:https://fstraw.cn/posts/f6240f8d

2.1核心思路

核心思路是通过Windows防火墙的出站规则限制上网

bash

netsh advfirewall set allprofiles firewallpolicy allowinbound,blockoutbound

netsh advfirewall firewall add rule name="allowvpn1" dir=out action=allow enable=yes remoteip="8.8.8.8"netsh advfirewall firewall add rule name="allowvpnremote1" dir=out action=allow enable=yes interfacetype=ras

① 设置防火墙默认允许所有入站,阻止所有出站

② 添加出站规则,允许8.8.8.8,也就是允许出站VPN服务器

③ 添加出站规则,允许接口类型为远程访问,也就是允许通过VPN接口出站

2.2第三方VPN客户端的问题

经测试其能解决使用Windows自带VPN连接后的掉线,但第三方VPN客户端的情况,会导致不管连接不连接VPN都断网。

重点就是第三条,Windows防火墙对远程访问的接口类型解释为:

远程访问: 此规则只适用于通过已在计算机上配置的远程访问 [例如虚拟专用网络 (VPN) 连接或拨号连接] 发送的通信。

而第三方VPN客户端一般都是安装一个虚拟网卡,我猜测就是因为虚拟网卡的接口类型并非远程访问类型,导致彻底断网。

3.解决办法

假设VPN服务器地址为8.8.8.8,连接后分配地址为192.168.30.0/24

使用以下命令即可实现VPN掉线自动断网,区别只有最后一行。

由于无法通过接口类型判断,所以通过VPN网卡的本地地址判断是否能出网。

bash

netsh advfirewall set allprofiles firewallpolicy allowinbound,blockoutbound

netsh advfirewall firewall add rule name="allowvpn1" dir=out action=allow enable=yes remoteip="8.8.8.8"netsh advfirewall firewall add rule name="allowvpnremote1" dir=out action=allow enable=yes localip="192.168.30.0/24"

恢复使用如下命令

bash

netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound

netsh advfirewall firewall delete rule name="allowvpn1"netsh advfirewall firewall delete rule name="allowvpnremote1"

标签: 远程访问 虚拟网卡 服务器地址

相关阅读