我有一个已加入域的 Windows Server 2012 R2 机箱,上面安装了 OpenVPN 2.3.13 客户端软件。当 VPN 连接处于活动状态时,NLA 将“以太网 2”(TAP 接口)连接与主 LAN NIC 一起放入域网络类别中。理想情况下,我希望能够将 VPN 接口分配给公共类别。我尝试过通过 PowerShell 进行操作,但不断出现此错误:
由于以下可能原因之一,无法设置 NetworkCategory:未运行提升的 PowerShell;无法将 NetworkCategory 从“DomainAuthenticated”更改为“NetworkCategory”;由于组策略设置“网络列表管理器策略”,用户发起的对 NetworkCategory 的更改被阻止。第 1 行字符:1 + Set-NetConnectionProfile -InterfaceIndex 15 -NetworkCategory Public + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:PermissionDenied:(MSFT_NetConnect...72AADA665483}"):root/StandardCi...nnectionProfile) [Set-NetConnectionProfile],CimException + FullyQualifiedErrorId:MI RESULT 2,Set-NetConnectionProfile
15 是“以太网 2”的接口编号
值得注意的是,我在提升的 PowerShell 会话中运行此命令,并且尝试了所有可用的 GPO 策略,但错误不断出现。有关 NLA 的大多数信息表明在私有和公共之间切换应该可行,但 DomainAuthenicated 似乎有点不同。
注册方法没有以太网 2 的实际配置文件,因此也无法通过这种方式进行更改。
有没有办法强制 TAP 适配器为公共?OpenVPN 连接本身不会覆盖主 NIC 的默认网关,并使用 10.0.0.0/8 子网。我使用route-nopull
和覆盖路由的事实可能是 NLA 检测网络的方式存在问题的一部分。
Ethernet adapter Ethernet 2:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::xxxx:xxxx:xxxx:xxxx%xx
IPv4 Address. . . . . . . . . . . : 10.xx.xx.xx
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . :
需要分配公共配置文件的主要原因是为了防火墙规则,我无法阻止某些应用程序仅使用 VPN 接口,在这种情况下,能够编写基于网络配置文件的防火墙规则似乎效果最好,我尝试根据本地 IP 地址编写规则,但这不起作用。
答案1
下面将使用 WMI/CIM。
get-ciminstance -Namespace root/StandardCimv2 -ClassName MSFT_NetConnectionProfile -Filter "interfacealias='Ethernet 2'" | set-ciminstance -property @{NetworkCategory="1"}
答案2
从 DNS 服务器的监听地址列表中删除“公共”适配器的地址即可。
答案3
查看此页面上的第三个选项“使用防火墙”:https://evansblog.thebarrs.info/2013/02/windows-server-force-your-network.html
您可以使用 Windows 防火墙创建出站规则来阻止 Windows 服务“网络位置感知”,从而阻止 DomainAuthenticated 网络配置文件。请确保在规则中指定 VPN 适配器的本地 IP,这样它就不会影响其他适配器。VPN 适配器现在应归类为“公共”网络配置文件。