Azure NetApp Files의 도메인 이름 시스템 이해

DNS(Domain Name System) 서비스는 인증을 위해 Kerberos를 사용하는 파일 프로토콜(SMB 및 NFSv4.1 포함)을 사용하는 경우 Azure NetApp Files에서 데이터 액세스의 중요한 구성 요소입니다. 호스트 이름은 볼륨에 대한 액세스를 간소화하고 IP 주소가 변경되는 시나리오로부터 보호합니다. 사용자에게 새 IP 주소를 알리는 대신 호스트 이름을 계속 사용할 수 있습니다.

기본적으로 Kerberos 인증은 이름-IP 주소 확인을 활용하여 Kerberos 티켓을 검색하는 데 사용되는 SPN(서비스 사용자 이름)을 체계적으로 나타냅니다. 예를 들어 \SMB.CONTOSO.COM 같은 범용 명명 규칙(UNC) 경로를 사용하여 SMB 공유에 액세스하면 SMB.CONTOSO.COM 대한 DNS 요청이 실행되고 Azure NetApp Files 볼륨의 IP 주소가 검색됩니다. DNS 항목이 없거나 현재 항목이 별칭/CNAME과 같이 요청된 항목과 다른 경우 적절한 SPN을 검색할 수 없으며 Kerberos 요청이 실패합니다. 따라서 대체 인증 방법(예: New Technology LAN Manager)을 사용하지 않도록 설정하면 볼륨에 대한 액세스가 혀용되지 않습니다.

NFSv4.1 Kerberos는 SPN 검색을 위해 비슷한 방식으로 작동합니다. 여기서 DNS 조회는 인증 프로세스에 필수적이며 Kerberos 영역 검색에도 사용됩니다.

Azure NetApp Files는 Active Directory 통합 DNS 또는 독립 실행형 DNS 서버의 사용을 지원하며 DNS(Domain Name System) 서비스 및 최신 DNS 레코드에 대한 신뢰할 수 있는 액세스 권한이 필요합니다. Azure NetApp Files와 DNS 서버 간의 네트워크 연결이 불량하면 클라이언트 액세스 중단 또는 클라이언트 시간 초과가 발생할 수 있습니다. AD DS 또는 Azure NetApp Files에 대한 DNS 레코드가 불완전하거나 잘못되면 클라이언트 액세스 중단 또는 클라이언트 시간 초과가 발생할 수 있습니다.

Kerberos를 사용하여 액세스하기 위한 IP 주소

Azure NetApp Files 볼륨에 대한 액세스 요청에 IP 주소가 사용되는 경우 Kerberos 요청은 사용 중인 프로토콜에 따라 다르게 작동합니다.

SMB

SMB를 사용하는 경우 기본적으로 \x.x.x.x를 사용하는 UNC에 대한 요청은 인증에 NTLM을 사용하려고 시도합니다. 보안상의 이유로 NTLM이 허용되지 않는 환경에서는 IP 주소를 사용하는 SMB 요청은 기본값 인증으로 Kerberos 또는 NTLM을 사용할 수 없습니다. 따라서 Azure NetApp Files 볼륨에 대한 액세스가 거부됩니다. 이후 Windows 릴리스(Windows 10 버전 1507 및 Windows Server 2016부터) 에서는 SMB 통신을 위해 SPN에서 IPv4 및 IPv6 호스트 이름을 지원하도록 Kerberos 클라이언트를 구성할 수 있습니다.

NFSv4.1

NFSv4.1을 사용하는 경우 sec=[krb5/krb5i/krb5p] 옵션 중 하나를 사용하여 IP 주소에 대한 탑재 요청은 PTR(포인터 레코드)을 통해 역방향 DNS 조회를 사용하여 IP 주소를 호스트 이름으로 확인한 다음 티켓 검색을 위해 SPN을 체계적으로 나타내는 데 사용됩니다. Kerberos에서 NFSv4.1을 사용하는 경우 탑재에 대한 호스트 이름과 IP 주소 액세스를 모두 포함하도록 Azure NetApp Files 볼륨에 대한 A/AAAA 및 PTR이 있어야 합니다.

Azure NetApp Files의 DNS 항목

Azure NetApp Files 볼륨은 DNS 서버가 동적 DNS를 지원하는 경우 동적 DNS 업데이트를 지원합니다. 동적 DNS를 사용하면 호스트 이름으로 만든 볼륨이 자동으로 DNS 서버에 A/AAAA 레코드를 만들도록 알립니다. 역방향 조회 영역이 있는 경우 DNS는 PTR 레코드도 만듭니다. 역방향 조회 영역이 없으면 PTR 레코드가 자동으로 만들어지지 않으므로 수동으로 만들어야 합니다.

호스트 이름(IP 주소 대신)은 적절한 기능을 위해 DNS가 필요한 특정 구성의 볼륨 탑재 경로에 사용됩니다.

  • SMB 볼륨
  • NFSv4.1 Kerberos
  • 이중 프로토콜 볼륨

IP 주소는 Azure NetApp File 볼륨에 DNS가 필요하지 않은 경우(예: Kerberos가 없는 NFSv3 또는 NFSv4.1)에 사용됩니다. 이러한 경우 원하는 경우 DNS 항목을 수동으로 만들 수 있습니다.

동적 DNS에서 만든 DNS 항목이 DNS 서버에서 삭제되는 경우 Azure NetApp Files의 새 동적 DNS 업데이트로 24시간 이내에 다시 만들어집니다.

Azure NetApp Files가 동적 DNS를 통해 DNS A/AAAA 레코드를 만드는 경우 다음 구성이 사용됩니다.

  • 연결된 PTR 레코드 상자가 선택되어있습니다. 서브넷에 대한 역방향 조회 영역이 있는 경우 A/AAAA 레코드는 관리자 개입 없이 PTR 레코드를 자동으로 만듭니다.
  • “이 레코드가 부실해지면 이 레코드 삭제” 상자가 선택되어 있습니다. DNS 레코드가 "부실" 상태이면 DNS에 대한 청소를 사용하도록 설정된 경우 DNS가 레코드를 삭제합니다.
  • DNS 레코드의 "TTL(Time to Live)"은 1일(24시간)으로 설정됩니다. 필요에 따라 DNS 관리자가 TTL 설정을 수정할 수 있습니다. DNS 레코드의 TTL은 클라이언트의 DNS 캐시에 DNS 항목이 존재하는 시간을 결정합니다.

참고 항목

Windows Active Directory DNS에서 DNS 레코드가 만들어진 시점의 타임스탬프를 보려면 DNS 관리자의 보기 메뉴로 이동한 다음 고급을 선택합니다.

DNS 레코드 잘라내기/청소

대부분의 DNS 서버는 만료된 레코드를 정리/청소하는 방법을 제공합니다. 잘라내기를 사용하면 부실 레코드가 DNS 서버를 복잡하게 만들고 중복 A/AAAA 및/또는 PTR 레코드가 존재하는 시나리오가 만들어지는 것을 방지합니다. 이로 인해 Azure NetApp Files 볼륨에 대해 예측할 수 없는 결과가 발생할 수 있습니다.

동일한 IP 주소 지점에 대한 여러 PTR 레코드가 다른 호스트 이름을 가리키는 경우 DNS 조회 중에 잘못된 SPN이 검색되므로 Kerberos 요청이 실패할 수 있습니다. DNS는 호스트 이름에 속하는 PTR 레코드를 식별하지 않습니다. 대신 역방향 조회는 각 새 조회에 대한 각 A/AAAA 레코드를 통해 라운드 로빈 검색을 수행합니다. 예시:

C:\> nslookup x.x.x.x
Server:  contoso.com
Address:  x.x.x.x

Name:    ANF-1234.contoso.com
Address:  x.x.x.x

C:\> nslookup x.x.x.x
Server:  contoso.com
Address:  x.x.x.x

Name:    ANF-5678.contoso.com
Address:  x.x.x.x

DNS 별칭 및 CNAME(정식 이름) 레코드

Azure NetApp Files는 SMB, 이중 프로토콜 또는 Kerberos를 사용하는 NFSv4.1과 같은 적절한 기능을 위해 DNS가 필요한 프로토콜에 대해 구성된 볼륨에 대한 DNS 호스트 이름을 만듭니다. 만든 이름은 NetApp 계정에 대한 Active Directory 연결을 만들 때 SMB 서버(컴퓨터 계정)의 형식을 접두사로 사용합니다. 동일한 NetApp 계정의 여러 볼륨 항목에 고유한 이름이 있도록 추가 영숫자 문자가 추가됩니다. 대부분의 경우 호스트 이름이 필요하고 동일한 NetApp 계정에 있는 여러 볼륨이 동일한 호스트 이름/IP 주소를 사용하려고 시도합니다. 예를 들어 SMB 서버 이름이 SMB-West.contoso.com 경우 호스트 이름 항목은 SMB-West-XXXX.contoso.com 형식을 따릅니다.

경우에 따라 Azure NetApp Files에서 사용하는 이름이 최종 사용자에게 전달할 만큼 사용자에게 친숙하지 않을 수 있습니다. 또는 관리자가 온-프레미스 스토리지에서 Azure NetApp Files로 데이터를 마이그레이션할 때 사용되는 더 친숙한 DNS 이름을 유지하려고 할 수 있습니다(즉, 원래 DNS 이름이 datalake.contoso.com 경우 최종 사용자가 해당 이름을 계속 사용하려고 할 수 있음).

Azure NetApp Files는 기본적으로 사용되는 DNS 호스트 이름의 사양을 허용하지 않습니다. 동일한 기능을 가진 대체 DNS 이름이 필요한 경우 DNS 별칭/CNAME(정식 이름)를 사용해야 합니다.

Azure NetApp Files 볼륨의 A/AAAA 레코드를 가리키는 CNAME 레코드(추가 A/AAAA 레코드가 아닌)를 사용하면 SMB 서버와 동일한 SPN을 활용하여 A/AAAA 레코드와 CNAME 모두에 Kerberos 액세스가 가능합니다. SMB-West-XXXX.contoso.com A/AAAA 레코드의 예를 생각해 보세요. datalake.contoso.com의 CNAME 레코드는 SMB-West-XXXX.contoso.com의 A/AAAA 레코드를 다시 가리키도록 구성됩니다. datalake.contoso.com에 요청한 SMB 또는 NFS Kerberos는 SMB-West-XXXX용 Kerberos SPN을 사용하여 볼륨에 액세스합니다.

Azure NetApp Files의 DNS 모범 사례

DNS 구성에 대한 다음 요구 사항을 충족해야 합니다.

  • 독립 실행형 DNS 서버를 사용하는 경우:
    • DNS 서버가 Azure NetApp Files 볼륨을 호스트하는 Azure NetApp Files 위임된 서브넷과 네트워크를 통해 연결되어야 합니다.
    • 방화벽 또는 NSG가 네트워크 포트 UDP 53 및 TCP 53을 차단하면 안 됩니다.
  • AD DS Net Logon 서비스에 등록된 SRV 레코드가 DNS 서버에 만들어졌는지 확인합니다.
  • Azure NetApp Files에서 사용하는 AD DS 도메인 컨트롤러에 대한 PTR 레코드가 Azure NetApp Files 구성과 동일한 도메인의 DNS 서버에 만들어졌는지 확인합니다.
  • Azure NetApp Files는 표준 및 보안 동적 DNS 업데이트를 지원합니다. 보안 동적 DNS 업데이트가 필요한 경우 DNS 서버에서 보안 업데이트를 구성합니다.
  • 동적 DNS 업데이트를 사용하지 않는 경우 AD DS 조직 구성 단위(Azure NetApp Files AD 연결에 지정됨)에서 만들어진 AD DS 컴퓨터 계정에 대한 A 레코드 및 PTR 레코드를 수동으로 만들어 Azure NetApp Files LDAP 서명, TLS를 통한 LDAP, SMB, 이중 프로토콜 또는 Kerberos NFSv4.1 볼륨을 지원해야 합니다.
  • 복잡하거나 규모가 큰 AD DS 토폴로지의 경우 LDAP 사용 NFS 볼륨을 지원하려면 DNS 정책 또는 DNS 서브넷 우선 순위 지정이 필요할 수 있습니다.
  • DNS 청소를 사용하도록 설정하고(오래된 DNS 항목이 타임스탬프/기간에 따라 자동으로 정리되는 경우) 동적 DNS를 사용하여 Azure NetApp Files 볼륨에 대한 DNS 레코드를 만든 경우, 청소 프로세스가 실수로 해당 볼륨에 대한 레코드를 정리할 수 있습니다. 이러한 정리는 이름 기반 쿼리에 대한 서비스 중단으로 이어질 수 있습니다. 이 문제가 해결될 때까지, DNS 청소를 사용하는 경우 Azure NetApp Files 볼륨에 대한 DNS A/AAAA 및 PTR 항목을 수동으로 만듭니다.

다음 단계