Establezca las conexiones de red futuras en una ubicación privada en lugar de establecerla como pública de forma predeterminada

Establezca las conexiones de red futuras en una ubicación privada en lugar de establecerla como pública de forma predeterminada

En Windows Server 2012 y 2012R2, ¿es posible configurar conexiones de red futuras para que utilicen el perfil de firewall privado en lugar del perfil público predeterminado?

Intenté configurar todos los elementos de la red en Privado en secpol.msc-> Configuración de seguridad -> Políticas del Administrador de listas de redes, pero cada vez que conecto una nueva red, el valor predeterminado siempre es Público.

Alternativamente, ¿hay alguna manera de volver a habilitar el cuadro de diálogo "Establecer ubicación de red" que se presenta en versiones de Windows que no son de servidor? Esto al menos ayudaría a aliviar el problema.

Respuesta1

Esta "característica" de seguridad está diseñada. Los servidores en una red "nueva" o "no reconocida" tendrán de forma predeterminada el perfil público. Debido a que no está en un perfil de dominio, no es un DC y las búsquedas de DNS (para identificar la red) están fallando, define la red en la que se encuentra como una red "desconocida" y, por lo tanto, de forma predeterminada utiliza el perfil "público".

Puede solucionar este problema uniendo el servidor a un dominio y, al hacerlo, establecería la ubicación de la red en "Red de dominio". Aunque esta solución puede no ser ideal o incluso posible para usted si se conecta constantemente a redes "nuevas".

Si está en una red confiable y esto sucede o este servidor es un DC, configurar el servicio "Conocimiento de ubicación de red" en inicio retrasado resolverá este problema.

Si su servidor está "viajando" a diferentes redes o no hay un DC presente, puede ejecutar el siguiente script de PowerShell (desde elblog del equipo de windows powershell) para configurar todos los perfiles de red como "privados":

# Skip network location setting for pre-Vista operating systems
if([environment]::OSVersion.version.Major -lt 6) { return }

# Skip network location setting if local machine is joined to a domain.
if(1,3,4,5 -contains (Get-WmiObject win32_computersystem).DomainRole) { return }

# Get network connections
$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))
$connections = $networkListManager.GetNetworkConnections()

# Set network location to Private for all networks
$connections | % {$_.GetNetwork().SetCategory(1)}

Si desea crear una tarea programada para ejecutar este script en el arranque, aquí tiene un excelente tutorial:"Utilice el Programador de tareas de Windows para ejecutar un script de Windows PowerShell".

información relacionada