다음을 통해 공유


Windows Server Essentials에서 DirectAccess 구성

적용 대상: Windows Server 2016 Essentials, Windows Server 2012 R2 Essentials, Windows Server 2012 Essentials

이 항목에서는 VPN(가상 사설망) 연결을 설정하지 않고도 모바일 인력이 인터넷에 장착된 원격 위치에서 조직의 네트워크에 원활하게 연결할 수 있도록 Windows Server Essentialss에서 DirectAccess를 구성하기 위한 단계별 지침을 제공합니다. DirectAccess는 모바일 작업자에게 Windows 8.1, Windows 8 및 Windows 7 컴퓨터에서 사무실 내부 및 외부에서 동일한 연결 환경을 제공할 수 있습니다.

Windows Server Essentials에서 do기본에 둘 이상의 Windows Server Essentials 서버가 포함된 경우 do기본 컨트롤러에서 DirectAccess를 구성해야 합니다.

참고 항목

이 항목에서는 Windows Server Essentials 서버가 do기본 컨트롤러인 경우 DirectAccess를 구성하는 지침을 제공합니다. Windows Server Essentials 서버가 do기본 멤버인 경우 지침에 따라 DirectAccess를 VPN(기존 원격 액세스) 배포에 추가에서 do기본 멤버에서 DirectAccess를 구성합니다.

프로세스 개요

Windows Server Essentials에서 DirectAccess를 구성하려면 다음 단계를 완료합니다.

Important

이 가이드의 절차를 사용하여 Windows Server Essentials에서 DirectAccess를 구성하려면 먼저 서버에서 VPN을 사용하도록 설정해야 합니다. 자세한 내용은 VPN 관리를 참조하세요.

참고 항목

부록: Windows PowerShell을 사용하여 DirectAccess 설정 에서는 DirectAccess 설정을 수행하는 데 사용할 수 있는 Windows PowerShell 스크립트를 제공합니다.

1단계: 서버에 원격 액세스 관리 도구 추가

원격 Acc®ss 관리 도구를 ® 추가하려면

  1. 서버에서 시작 페이지 왼쪽 아래에 있는 서버 관리자 아이콘을 클릭합니다.

    Windows Server Essentials에서 서버 관리자 검색하여 열어야 합니다. 시작 페이지에서 Server Manager를 입력하고 검색 결과에서 서버 관리자 를 클릭합니다. 서버 관리자를 시작 페이지에 고정하려면 검색 결과에서 서버 관리자를 마우스 오른쪽 단추로 클릭하고 시작 화면에 고정을 클릭합니다.

  2. 사용자 계정 컨트롤 경고 메시지가 표시되는 경우 를 클릭합니다.

  3. 서버 관리자 대시보드에서 관리, 역할 및 기능 추가를 차례로 클릭합니다.

  4. 역할 및 기능 추가 마법사에서 다음을 수행합니다.

    1. 설치 유형 페이지에서 역할 기반 또는 기능 기반 설치를 클릭합니다.

    2. 서버 선택 페이지(또는 Windows Server Essentials의 대상 서버 선택 페이지)에서 서버 풀에서 서버 선택을 클릭합니다.

    3. 기능 페이지에서 원격 서버 관리 도구(설치됨), 원격 액세스 관리 도구(설치됨), 역할 관리 도구(설치됨), 원격 액세스 관리 도구를 차례로 확장한 다음 원격 액세스 GUI 및 명령줄 도구를 선택합니다.

    4. 지시에 따라 마법사를 완료합니다.

2단계: 서버의 네트워크 어댑터 주소를 고정 IP 주소로 변경

DirectAccess에는 고정 IP 주소를 사용하는 어댑터가 필요합니다. 서버에서 로컬 네트워크 어댑터의 IP 주소를 변경해야 합니다.

고정 IP 주소를 추가하려면

  1. 시작 페이지에서 제어판을 엽니다.

  2. 네트워크 및 인터넷을 클릭한 다음 네트워크 상태 및 작업 보기를 클릭합니다.

  3. 네트워크 및 공유 센터의 작업창에서 어댑터 설정 변경을 클릭합니다.

  4. 로컬 네트워크 어댑터를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  5. 네트워킹 탭에서 TCP/IPv4(인터넷 프로토콜 버전 4)를 클릭한 다음 속성을 클릭합니다.

  6. 일반 탭에서 다음 IP 주소 사용을 클릭한 다음 사용할 IP 주소를 입력합니다.

    서브넷 마스크의 기본값이 서브넷 마스크 상자에 자동으로 표시됩니다. 기본값을 그대로 사용하거나 사용할 서브넷 마스크 값을 입력합니다.

  7. 기본 게이트웨이 상자에 기본 게이트웨이의 IP 주소를 입력합니다.

  8. 기본 설정 DNS 서버 상자에 DNS 서버의 IP 주소를 입력합니다.

    참고 항목

    루프백 네트워크(예: 127.0.0.1) 대신 DHCP(예, 192.168.X.X)에 의해 네트워크 어댑터에 할당된 IP 주소를 사용합니다. 할당된 IP 주소를 찾으려면 명령 프롬프트에서 ipconfig 를 실행합니다.

  9. 대체 DNS 서버 상자에 대체 DNS 서버(있는 경우)의 IP 주소를 입력합니다.

  10. 확인을 클릭한 다음 닫기를 클릭합니다.

Important

서버의 새 고정 IP 주소로 포트 80 및 443을 전달하도록 라우터를 구성해야 합니다.

3단계: 네트워크 위치 서버에 대한 인증서 및 DNS 레코드 준비

네트워크 위치 서버에 대한 인증서 및 DNS 레코드를 준비하려면 다음 작업을 수행합니다.

3a단계: 웹 서버의 인증서 템플릿에 대해 인증된 사용자에게 전체 권한 부여

첫 번째 작업은 인증 기관에서 웹 서버의 인증서 템플릿에 대한 사용자를 인증할 수 있는 모든 권한을 부여하는 것입니다.

웹 서버의 인증서 템플릿에 대해 인증된 사용자에게 전체 권한을 부여하려면

  1. 시작 페이지에서 인증 기관을 엽니다.

  2. 콘솔 트리의 인증 기관(로컬)에서 servername-CA를> 확장하고 <인증서 템플릿을 마우스 오른쪽 단추로 클릭한 다음 관리를 클릭합니다.

  3. 인증 기관(로컬)에서 웹 서버를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  4. 웹 서버 속성의 보안 탭에서 인증된 사용자를 클릭하고 모든 권한을 선택한 다음 확인을 클릭합니다.

  5. Active Directory 인증서 서비스를 다시 시작합니다. 제어판에서 로컬 서비스 보기를 엽니다. 서비스 목록에서 Active Directory 인증서 서비스를 마우스 오른쪽 단추로 클릭하고 다시 시작을 클릭합니다.

3b단계: 외부 네트워크에서 확인할 수 없는 일반 이름의 네트워크 위치 서버에 대한 인증서 등록

다음으로 외부 네트워크에서 확인할 수 없는 일반 이름의 네트워크 위치 서버에 대한 인증서를 등록합니다.

네트워크 위치 서버에 대한 인증서를 등록하려면

  1. 시작 페이지에서 mmc (Microsoft Management Console)를 엽니다.

  2. 사용자 계정 컨트롤 경고 메시지가 표시되는 경우 를 클릭합니다.

    MMC(Microsoft Management Console)가 열립니다.

  3. 파일 메뉴에서 스냅인 추가/제거를 클릭합니다.

  4. 스냅인 추가/제거 상자에서 인증서, 추가를 차례로 클릭합니다.

  5. 인증서 스냅인 페이지에서 컴퓨터 계정을 클릭하고 다음을 클릭합니다.

  6. 컴퓨터 선택 페이지에서 로컬 컴퓨터를 클릭하고 마침을 클릭한 다음 확인을 클릭합니다.

  7. 콘솔 트리에서 인증서(로컬 컴퓨터), 개인을 차례로 확장하고 인증서를 마우스 오른쪽 단추로 클릭한 다음 모든 작업에서 새 인증서 요청을 클릭합니다.

  8. 인증서 등록 마법사가 나타나면 다음을 클릭합니다.

  9. 인증서 등록 정책 선택 페이지에서 다음을 클릭합니다.

  10. 인증서 요청 페이지에서 웹 서버 확인란을 선택하고 이 인증서를 등록하려면 추가 정보가 필요합니다.를 클릭합니다.

  11. 인증서 속성 상자에 주체 이름에 대한 다음 설정을 입력합니다.

    1. 유형에 대해 일반 이름을 선택합니다.

    2. 에 네트워크 위치 서버의 이름(예: DirectAccess-NLS.contoso.local)을 입력하고 추가를 클릭합니다.

    3. 확인, 등록을 차례로 클릭합니다.

  12. 인증서 등록이 완료되면 마침을 클릭합니다.

3c단계: DNS 서버에 새 호스트를 추가하여 Windows Server Essentials 서버 주소에 매핑

DNS 구성을 완료하려면 DNS 서버에 새 호스트를 추가하고 Windows Server Essentials 서버 주소에 매핑합니다.

Windows Server Essentials 서버 주소에 새 호스트를 매핑하려면

  1. 시작 페이지에서 DNS 관리자를 엽니다. DNS 관리자를 열려면 dnsmgmt.msc를 검색하고 결과에서 dnsmgmt.msc 를 클릭합니다.

  2. DNS 관리자 콘솔 트리에서 로컬 서버를 확장하고, 정방향 조회 영역을 확장하고, 서버의 do기본 접미사가 있는 영역을 마우스 오른쪽 단추로 클릭한 다음 새 호스트(A 또는 AAAA)를 클릭합니다.

  3. 서버의 이름과 IP 주소(예: DirectAccess-NLS.contoso.local) 및 해당 서버 주소(예: 192.168.x.x)를 입력합니다.

  4. 호스트 추가, 확인, 완료를 차례로 클릭합니다.

4단계: DirectAccess 클라이언트 컴퓨터에 대한 보안 그룹 만들기

다음으로 DirectAccess 클라이언트 컴퓨터에 사용할 보안 그룹을 만들고 그룹에 컴퓨터 계정을 추가합니다.

DirectAccess를 사용하는 클라이언트 컴퓨터에 대한 보안 그룹을 추가하려면

  1. 서버 관리자 대시보드에서 도구, Active Directory 사용자 및 컴퓨터를 차례로 클릭합니다.

    참고 항목

    도구 메뉴에 Active Directory 사용자 및 컴퓨터가 표시되지 않으면 기능을 설치해야 합니다. Active Directory 사용자 및 그룹을 설치하려면 관리자 권한으로 다음 Windows PowerShell cmdlet을 실행합니다. Install-WindowsFeature RSAT-ADDS-Tools 자세한 내용은 원격 서버 관리 도구 팩 설치 또는 제거를 참조하세요.

  2. 콘솔 트리에서 서버를 확장하고 사용자를 마우스 오른쪽 단추로 클릭한 다음 새로 만들기, 그룹을 차례로 클릭합니다.

  3. 그룹 이름, 그룹 범위 및 그룹 유형을 입력하고(보안 그룹 만들기) 확인을 클릭합니다.

    새 보안 그룹이 사용자 폴더에 추가됩니다.

보안 그룹에 컴퓨터 계정을 추가하려면

  1. 서버 관리자 대시보드에서 도구, Active Directory 사용자 및 컴퓨터를 차례로 클릭합니다.

  2. 콘솔 트리에서 서버를 확장하고 사용자를 클릭합니다.

  3. 서버의 사용자 계정 및 보안 그룹 목록에서 DirectAccess에 대해 만든 보안 그룹을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  4. 구성원 탭에서 추가를 클릭합니다.

  5. 대화 상자에서 그룹에 추가할 컴퓨터 계정 이름을 세미콜론 (;)으로 구분하여 입력합니다. 그런 다음 이름 확인을 클릭합니다.

  6. 컴퓨터 계정의 유효성이 검사되고 나면 확인을 클릭합니다. 그런 다음 확인 을 다시 클릭합니다.

참고 항목

컴퓨터 계정 속성에서 소속 그룹 탭을 사용하여 보안 그룹에 계정을 추가할 수도 있습니다.

5단계: DirectAccess 설정 및 구성

Windows Server Essentials에서 DirectAccess를 사용하도록 설정하고 구성하려면 다음 단계를 완료해야 합니다.

5a단계: 원격 액세스 관리 콘솔을 사용하여 DirectAccess 설정

이 섹션에서는 Windows Server Essentials에서 DirectAccess를 사용하도록 설정하는 단계별 지침을 제공합니다. 서버에서 아직 VPN을 구성하지 않았으면 이 절차를 시작하기 전에 VPN을 구성해야 합니다. 자세한 내용은 VPN 관리를 참조하세요.

원격 액세스 관리 콘솔을 사용하여 DirectAccess를 사용하도록 설정하려면
  1. 시작 페이지에서 원격 액세스 관리를 엽니다.

  2. DirectAccess 사용 마법사에서 다음을 수행합니다.

    1. DirectAccess 필수 구성 요소를 검토하고 다음을 클릭합니다.

    2. 그룹 선택 탭에서 DirectAccess 클라이언트에 대해 이전에 만든 보안 그룹을 추가합니다. (보안 그룹을 만들지 않은 경우 다음을 참조하세요 .4단계: 지침에 대한 DirectAccess 클라이언트 컴퓨터에 대한 보안 그룹을 만듭니다.)

    3. 그룹 선택 탭에서 DirectAccess를 사용하여 서버에 원격으로 액세스하려는 경우 이동 컴퓨터에만 DirectAccess 사용 을 클릭하고 다음을 클릭합니다.

    4. 네트워크 토폴로지에서 서버의 토폴로지를 선택하고 다음을 클릭 합니다.

    5. DNS 접미사 검색 목록에서 필요한 경우 클라이언트 컴퓨터의 추가 DNS 접미사를 추가하고 다음을 클릭 합니다.

      참고 항목

      기본적으로 DirectAccess 사용 마법사에서 이미 현재 도메인의 DNS 접미사를 추가합니다. 그러나 필요한 경우 DNS 접미사를 더 추가할 수 있습니다.

    6. 적용되는 GPO(그룹 정책 개체)를 검토하고 필요한 경우 수정합니다.

    7. 다음을 클릭하고 마침을 클릭합니다.

    8. 관리자 모드에서 다음 Windows PowerShell 명령을 실행하여 원격 액세스 관리 서비스를 다시 시작합니다.

      Restart-Service RaMgmtSvc
      

5b단계: RRAS GPO에서 잘못된 IPv6Prefix 제거(Windows Server Essentials에만 해당)

이 섹션은 Windows Server Essentials를 실행하는 서버에 적용됩니다.

관리자 권한으로 Windows PowerShell을 열고 다음 명령을 실행합니다.

gpupdate
$key = Get-ChildItem -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\RemoteAccess\config\MachineSIDs | Where-Object{$_.GetValue("IPv6RrasPrefix") -ne $null}
Remove-GPRegistryValue -Name "DirectAccess Server Settings" -Key $key.Name -ValueName IPv6RrasPrefix
gpupdate

5c단계: Windows 7 Enterprise를 실행하는 클라이언트 컴퓨터에서 DirectAccess를 사용하도록 설정

Windows 7 Enterprise를 실행하는 클라이언트 컴퓨터가 있는 경우 다음 절차를 완료하여 해당 컴퓨터에서 DirectAccess를 사용하도록 설정합니다.

Windows 7 Enterprise 컴퓨터에서 DirectAccess를 사용하도록 설정하려면
  1. 서버의 시작 페이지에서 원격 액세스 관리를 엽니다.

  2. 원격 액세스 관리 콘솔에서 구성을 클릭합니다. 그런 다음 설정 세부 정보 창의 2단계에서 편집을 클릭합니다.

    원격 액세스 서버 설정 마법사가 열립니다.

  3. 인증 탭에서 신뢰할 수 있는 루트 인증서가 될 CA(인증 기관) 인증서를 선택합니다(Windows Server Essentials 서버의 CA 인증서를 선택할 수 있습니다). Windows 7 클라이언트 컴퓨터에서 DirectAccess를 통한 연결 사용, 다음을 차례로 클릭합니다.

  4. 지시에 따라 마법사를 완료합니다.

Important

Windows Server Essentials 서버에 UR1이 미리 설치되어 있지 않은 경우 DirectAccess를 통해 연결하는 Windows 7 Enterprise 컴퓨터의 알려진 문제가 있습니다. 해당 환경에서 DirectAccess 연결을 사용하도록 설정하려면 다음 추가 단계를 수행해야 합니다.

  1. Windows Server Essentials 서버에 2796394 Microsoft KB(기술 자료) 문서에 설명된 핫픽스를 설치합니다. 그런 다음 서버를 다시 시작합니다. 2. 그런 다음 각 Windows 7 컴퓨터에 2615847 Microsoft KB(기술 자료) 문서에 설명된 핫픽스를 설치합니다.

    이 문제는 Windows Server Essentials에서 해결되었습니다.

5d단계: 네트워크 위치 서버 구성

이 섹션에서는 네트워크 위치 서버 설정을 구성하는 단계별 지침을 제공합니다.

참고 항목

시작하기 전에 SystemDrive>\inetpub\wwwroot 폴더<의 <내용을 SystemDrive>\Program Files\Windows Server\Bin\WebApps\Site\insideoutside 폴더에 복사합니다. 또한 SystemDrive>\Program Files\Windows Server\Bin\WebApps\Site 폴더<의 <default.aspx 파일을 SystemDrive>\Program Files\Windows Server\Bin\WebApps\Site\insideoutside 폴더로 복사합니다.

네트워크 위치 서버를 구성하려면
  1. 시작 페이지에서 원격 액세스 관리를 엽니다.

  2. 원격 액세스 관리 콘솔에서 구성을 클릭하고 원격 액세스 설정 세부 정보 창의 3단계에서 편집을 클릭합니다.

  3. 원격 액세스 서버 설정 마법사의 네트워크 위치 서버 탭에서 원격 액세스 서버에 네트워크 위치 서버 배포를 선택하고 이전에 Step 3: Prepare a certificate and DNS record for the network location server에서 발급한 인증서를 선택합니다.

  4. 지시에 따라 마법사를 완료하고 마침을 클릭합니다.

5e단계: IPsec 채널을 설정한 경우 CA 인증을 무시하는 레지스트리 키 추가

다음 단계에서는 IPsec 채널이 설정될 때 CA 인증을 무시하도록 서버를 구성합니다.

CA 인증을 무시하는 레지스트리 키를 추가하려면
  1. 시작 페이지에서 regedit (레지스트리 편집기)를 엽니다.

  2. 레지스트리 편집기에서 HKEY_LOCAL_MACHINE, System, CurrentControlSet, Services, IKEEXT를 차례로 확장합니다.

  3. IKEEXT에서 Parameters를 마우스 오른쪽 단추로 클릭하고 새로 만들기, DWORD(32비트) 값을 차례로 클릭합니다.

  4. 새로 추가된 값의 이름을 ikeflags로 바꿉니다.

  5. ikeflags를 두 번 클릭하고 단위16진수로 설정한 다음 값을 8000으로 설정하고 확인을 클릭합니다.

참고 항목

관리자 모드에서 다음 Windows PowerShell 명령을 사용하여 이 레지스트리 키를 추가할 수 있습니다.

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\IKEEXT\Parameters -Name ikeflags -Type DWORD -Value 0x8000

6단계: DirectAccess 서버에 대한 이름 확인 정책 테이블 설정 구성

이 섹션에서는 DirectAccess 클라이언트 GPO의 내부 주소(예: contoso.local 접미사가 있는 항목)에 대한 NPRT(이름 확인 정책 테이블) 항목을 편집한 다음 IPHTTPS 인터페이스 주소를 설정하는 방법에 대한 지침을 제공합니다.

이름 확인 정책 테이블 항목을 구성하려면

  1. 시작 페이지에서 그룹 정책 관리를 엽니다.

  2. 그룹 정책 관리 콘솔에서 기본 포리스트 및 도메인을 클릭하고 DirectAccess 클라이언트 설정을 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.

  3. 컴퓨터 구성, 정책, Windows 설정, 이름 확인 정책을 차례로 클릭합니다. 네임스페이스가 DNS 접미사와 동일한 항목을 선택하고 규칙 편집을 클릭합니다.

  4. DirectAccess에 대한 DNS 설정 탭을 클릭하고 이 규칙에서 DirectAccess에 대한 DNS 설정 사용을 선택합니다. DNS 서버 목록에 IP-HTTPS 인터페이스의 IPv6 주소를 추가합니다.

    참고 항목

    다음 Windows PowerShell 명령을 사용하여 IPv6 주소를 가져올 수 있습니다.

    (Get-NetIPInterface -InterfaceAlias IPHTTPSInterface | Get-NetIPAddress -PrefixLength 128)[1].IPAddress

7단계: DirectAccess 서버 GPO에 대한 TCP 및 UDP 방화벽 규칙 구성

이 섹션에서는 DirectAccess 서버 GPO에 대한 TCP 및 UDP 방화벽 규칙을 구성하는 단계별 지침을 제공합니다.

방화벽 규칙을 구성하려면

  1. 시작 페이지에서 그룹 정책 관리를 엽니다.

  2. 그룹 정책 관리 콘솔에서 기본 포리스트 및 도메인을 클릭하고 DirectAccess 서버 설정을 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.

  3. 컴퓨터 구성, 정책, Windows 설정, 보안 설정, 고급 보안이 포함된 Windows 방화벽을 차례로 클릭하고 다음 수준 고급 보안이 포함된 Windows 방화벽, 인바운드 규칙을 차례로 클릭합니다. 도메인 이름 서버(TCP-In)를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  4. 범위 탭을 클릭하고 로컬 IP 주소 목록에서 IP-HTTPS 인터페이스의 IPv6 주소를 추가합니다.

  5. 도메인 이름 서버(UDP-In)에 대해 동일한 절차를 반복합니다.

8단계: IP-HTTPS 인터페이스를 수신 대기하도록 DNS64 구성 변경

다음 Windows PowerShell 명령을 사용하여 IP-HTTPS 인터페이스를 수신 대기하도록 DNS64 구성을 변경해야 합니다.

Set-NetDnsTransitionConfiguration -AcceptInterface IPHTTPSInterface

9단계: WinNat 서비스용 포트 예약

다음 Windows PowerShell 명령을 사용하여 WinNat 서비스용 포트를 예약합니다. "192.168.1.100"을 Windows Server Essentials 서버의 실제 IPv4 주소로 바꿉니다.

Set-NetNatTransitionConfiguration -IPv4AddressPortPool @("192.168.1.100, 10000-47000")

Important

애플리케이션과의 포트 충돌을 방지하도록 WinNat 서비스용으로 예약하는 포트 범위에는 포트 6602가 포함됩니다.

10단계: WinNat 서비스 다시 시작

다음 Windows PowerShell 명령을 실행하여 Windows NAT 드라이버(WinNat) 서비스를 다시 시작합니다.

Restart-Service winnat

부록: Windows PowerShell을 사용하여 DirectAccess 설정

이 섹션에서는 Windows PowerShell을 사용하여 DirectAccess를 설정 및 구성하는 방법에 대해 설명합니다.

준비

DirectAccess에 대해 서버를 구성하기 전에 다음을 완료해야 합니다.

  1. 3단계의 절차에 따라 네트워크 위치 서버에 대한 인증서 및 DNS 레코드를 준비하여 DirectAccess-NLS.contoso.com(contoso.com 실제 내부 do기본 이름으로 대체됨)이라는 인증서를 등록하고 NLS(네트워크 위치 서버)에 대한 DNS 레코드를 추가합니다.

  2. Active Directory에 DirectAccessClients 라는 보안 그룹을 추가한 다음 DirectAccess 기능을 제공할 클라이언트 컴퓨터를 추가합니다. 자세한 내용은 4단계: DirectAccess 클라이언트 컴퓨터에 대한 보안 그룹 만들기를 참조 하세요.

명령

Important

Windows Server Essentials에서는 불필요한 IPv6 접두사 GPO를 제거할 필요가 없습니다. 다음 레이블이 있는 코드 섹션을 삭제합니다. # [WINDOWS SERVER 2012 ESSENTIALS ONLY] Remove the unnecessary IPv6 prefix GPO.

# Add Remote Access role if not installed yet
$ra = Get-WindowsFeature RemoteAccess
If ($ra.Installed -eq $FALSE) { Add-WindowsFeature RemoteAccess }

# Server may need to restart if you installed RemoteAccess role in the above step

# Set the internet domain name to access server, replace contoso.com below with your own domain name
$InternetDomain = "www.contoso.com"
#Set the SG name which you create for DA clients
$DaSecurityGroup = "DirectAccessClients"
#Set the internal domain name
$InternalDomain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().Name

# Set static IP and DNS settings
$NetConfig = Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true"
$CurrentIP = $NetConfig.IPAddress[0]
$SubnetMask = $NetConfig.IPSubnet | Where-Object{$_ -like "*.*.*.*"}
$NetConfig.EnableStatic($CurrentIP, $SubnetMask)
$NetConfig.SetGateways($NetConfig.DefaultIPGateway)
$NetConfig.SetDNSServerSearchOrder($CurrentIP)

# Get physical adapter name and the certificate for NLS server
$Adapter = (Get-WmiObject -Class Win32_NetworkAdapter -Filter "NetEnabled=$true").NetConnectionId
$Certs = dir cert:\LocalMachine\My
$nlscert = $certs | Where-Object{$_.Subject -like "*CN=DirectAccess-NLS*"}

# Add regkey to bypass CA cert for IPsec authentication
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\IKEEXT\Parameters -Name ikeflags -Type DWORD -Value 0x8000

# Install DirectAccess.
Install-RemoteAccess -NoPrerequisite -DAInstallType FullInstall -InternetInterface $Adapter -InternalInterface $Adapter -ConnectToAddress $InternetDomain -nlscertificate $nlscert -force

#Restart Remote Access Management service
Restart-Service RaMgmtSvc

# [WINDOWS SERVER 2012 ESSENTIALS ONLY] Remove the unnecessary IPv6 prefix GPO

gpupdate
$key = Get-ChildItem -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\RemoteAccess\config\MachineSIDs | Where-Object{$_.GetValue("IPv6RrasPrefix") -ne $null}
Remove-GPRegistryValue -Name "DirectAccess Server Settings" -Key $key.Name -ValueName IPv6RrasPrefix
gpupdate

# Enable client computers running Windows 7 to use DirectAccess
$allcertsinroot = dir cert:\LocalMachine\root
$rootcert = $allcertsinroot | Where-Object{$_.Subject -like "*-CAA*"}
Set-DAServer -IPSecRootCertificate $rootcert[0]
Set -DAClient -OnlyRemoteComputers Disabled -Downlevel Enabled

#Set the appropriate security group used for DA client computers. Replace the group name below with the one you created for DA clients
Add-DAClient -SecurityGroupNameList $DaSecurityGroup
Remove-DAClient -SecurityGroupNameList "Domain Computers"

# Gather DNS64 IP address information
$Remoteaccess = get-remoteaccess
$IPinterface = get-netipinterface -InterfaceAlias IPHTTPSInterface | get-netipaddress -PrefixLength 128
$DNS64IP=$IPInterface[1].IPaddress
$Natconfig = Get-NetNatTransitionConfiguration

# Configure TCP and UDP firewall rules for the DirectAccess server GPO
$GpoName = 'GPO:'+$InternalDomain+'\DirectAccess Server Settings'
Get-NetFirewallRule -PolicyStore $GpoName -Displayname "Domain Name Server (TCP-IN)"|Get-NetFirewallAddressFilter | Set-NetFirewallAddressFilter -LocalAddress $DNS64IP
Get-NetFirewallrule -PolicyStore $GpoName -Displayname "Domain Name Server (UDP-IN)"|Get-NetFirewallAddressFilter | Set-NetFirewallAddressFilter -LocalAddress $DNS64IP

# Configure the name resolution policy settings for the DirectAccess server, replace the DNS suffix below with the one in your domain
$Suffix = '.' + $InternalDomain
set-daclientdnsconfiguration -DNSsuffix $Suffix -DNSIPAddress $DNS64IP

# Change the DNS64 configuration to listen to IP-HTTPS interface
Set-NetDnsTransitionConfiguration -AcceptInterface IPHTTPSInterface

# Copy the necessary files to NLS site folder
XCOPY 'C:\inetpub\wwwroot' 'C:\Program Files\Windows Server\Bin\WebApps\Site\insideoutside' /E /Y
XCOPY 'C:\Program Files\Windows Server\Bin\WebApps\Site\Default.aspx' 'C:\Program Files\Windows Server\Bin\WebApps\Site\insideoutside' /Y

# Reserve ports for the WinNat service
Set-NetNatTransitionConfiguration -IPv4AddressPortPool @("192.168.1.100, 10000-47000")

# Restart the WinNat service
Restart-Service winnat

추가 참조