향후 네트워크 연결을 기본 위치인 공개 위치 대신 비공개 위치로 설정하세요.

향후 네트워크 연결을 기본 위치인 공개 위치 대신 비공개 위치로 설정하세요.

Windows Server 2012 및 2012R2에서는 공용 방화벽 프로필을 기본값으로 설정하는 대신 개인 방화벽 프로필을 사용하도록 향후 네트워크 연결을 설정할 수 있습니까?

-> 보안 설정 -> 네트워크 목록 관리자 정책 에서 모든 네트워크 항목을 비공개로 설정하려고 시도했지만 secpol.msc새 네트워크에 연결할 때마다 항상 기본값은 공개로 설정됩니다.

또는 서버 버전이 아닌 Windows에 표시되는 "네트워크 위치 설정" 대화 상자를 다시 활성화하는 방법이 있습니까? 이는 적어도 문제를 완화하는 데 도움이 될 것입니다.

답변1

이 보안 "기능"은 의도적으로 설계된 것입니다. "새" 또는 "인식할 수 없는" 네트워크의 서버는 기본적으로 공개 프로필로 설정됩니다. 도메인 프로필에 없고 DC가 아니며 DNS 조회(네트워크 식별)가 실패하기 때문에 현재 있는 네트워크를 "알 수 없는" 네트워크로 정의하므로 기본적으로 "공용" 프로필이 사용됩니다.

서버를 도메인에 가입시키면 이 문제를 해결할 수 있으며, 그렇게 하면 네트워크 위치가 "도메인 네트워크"로 설정됩니다. "새로운" 네트워크에 지속적으로 연결하는 경우 이 솔루션은 이상적이지 않거나 가능하지 않을 수도 있습니다.

신뢰할 수 있는 네트워크에 있고 이런 일이 발생하거나 이 서버가 DC인 경우 "네트워크 위치 인식" 서비스를 지연된 시작으로 설정하면 이 문제가 해결됩니다.

서버가 다른 네트워크로 "이동 중"이거나 DC가 없는 경우 다음 powershell 스크립트를 실행할 수 있습니다(Windows Powershell 팀 블로그) 모든 네트워크 프로필을 "비공개"로 설정하려면 다음을 수행하세요.

# 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)}

부팅 시 이 스크립트를 실행하기 위해 예약된 작업을 생성하려면 다음 튜토리얼을 참조하세요."Windows 작업 스케줄러를 사용하여 Windows PowerShell 스크립트 실행".

관련 정보