O abaixo usará o WMI / CIM.
get-ciminstance -Namespace root/StandardCimv2 -ClassName MSFT_NetConnectionProfile -Filter "interfacealias='Ethernet 2'" | set-ciminstance -property @{NetworkCategory="1"}
Eu tenho um domínio associado à caixa do Windows Server 2012 R2 que possui o software cliente OpenVPN 2.3.13 instalado nele. Quando a conexão VPN está ativa, a conexão "Ethernet 2" (interface TAP) é colocada na categoria Rede de Domínio, juntamente com a NIC LAN principal, pela NLA. Idealmente, quero poder atribuir a interface VPN à categoria Pública. Eu tentei via PowerShell, mas recebo este erro constantemente:
Unable to set the NetworkCategory due to one of the following possible reasons: not running PowerShell elevated; the NetworkCategory cannot be changed from 'DomainAuthenticated'; user initiated changes to NetworkCategory are being prevented due to the Group Policy setting 'Network List Manager Policies'. At line:1 char: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 é o número da interface de "Ethernet 2"
Vale a pena observar que estou executando este comando em uma sessão elevada do PowerShell e tentei todas as políticas de GPO disponíveis, mas o erro é constantemente gerado. A maioria das informações sobre o NLA sugere que a alternância entre Privado e Público funcione, mas o DomainAuthenicated parece um pouco diferente.
O método de registro não tem um perfil real para a Ethernet 2, então não pode ser alterado dessa forma também.
Existe alguma maneira de forçar o adaptador TAP a ser Público? A conexão OpenVPN em si não substitui o gateway padrão da NIC principal e usa a sub-rede 10.0.0.0/8. O fato de eu usar route-nopull
e substituir as rotas pode ser parte do problema com a maneira como o NLA detecta as redes.
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 . . . . . . . . . :
O motivo principal para precisar atribuir o perfil Público é para regras de firewall, estou tendo problemas para impedir que determinados aplicativos usem apenas a interface VPN, poder escrever regras de firewall baseadas em perfis de rede parece funcionar melhor nesse caso, Já tentei escrever regras com base no endereço IP local, mas isso não funcionou.
O abaixo usará o WMI / CIM.
get-ciminstance -Namespace root/StandardCimv2 -ClassName MSFT_NetConnectionProfile -Filter "interfacealias='Ethernet 2'" | set-ciminstance -property @{NetworkCategory="1"}
Analise a terceira opção "Como usar o firewall" nesta página: link
Você pode impedir o perfil de rede DomainAuthenticated usando o Firewall do Windows para criar uma regra de saída para bloquear o serviço do Windows "Network Location Awareness". Certifique-se de especificar o IP Local do adaptador VPN na regra para que não afete outros adaptadores. O adaptador VPN agora deve ser classificado como perfil de rede "Público".
Remover os endereços do adaptador 'público' da lista de endereços de escuta do seu servidor DNS é suficiente.