你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解 Azure NetApp 文件中的域名系统

使用依赖于 Kerberos 进行身份验证的文件协议(包括 SMB 和 NFSv4.1)时,域名系统 (DNS) 服务是 Azure NetApp 文件中数据访问的关键组成部分。 主机名既简化了对卷的访问,又可以防范 IP 地址发生更改。他们可以继续使用主机名,而不是通知用户新的 IP 地址。

默认情况下,Kerberos 身份验证利用名称到 IP 地址解析来构建用于检索 Kerberos 票证的服务主体名 (SPN)。 例如,使用通用命名约定路径 (UNC)(例如 \SMB.CONTOSO.COM)访问 SMB 共享时,会针对 SMB.CONTOSO.COM 发出 DNS 请求,并检索 Azure NetApp 文件卷的 IP 地址。 如果不存在 DNS 条目(或当前条目不同于所请求的内容,例如别名 /CNAME),则无法检索适当的 SPN,Kerberos 请求会失败。 因此,如果禁用回退身份验证方法(如新技术 LAN 管理器),则不允许访问卷。

NFSv4.1 Kerberos 以类似的方式运行 SPN 检索,其中 DNS 查找是身份验证过程不可或缺的一部分,也可用于 Kerberos 领域发现。

Azure NetApp 文件支持使用 Active Directory 集成 DNS 或独立 DNS 服务器,并且需要对域名系统(DNS)服务和最新的 DNS 记录进行可靠的访问。 Azure NetApp 文件与 DNS 服务器之间的网络连接不佳可能会导致客户端访问中断或客户端超时。 AD DS 或 Azure NetApp 文件的 DNS 记录不完整或不正确可能会导致客户端访问中断或客户端超时。

使用 Kerberos 进行访问的 IP 地址

如果在对 Azure NetApp 文件卷的访问请求中使用 IP 地址,则 Kerberos 请求将以不同的方式运行,具体取决于所使用的协议。

SMB

使用 SMB 时,默认使用 \x.x.x.x.x 的 UNC 请求会尝试使用 NTLM 进行身份验证。 在出于安全原因不允许使用 NTLM 的环境中,使用 IP 地址的 SMB 请求在默认情况下无法使用 Kerberos 或 NTLM 进行身份验证。 因此,Azure NetApp 文件卷访问被拒。 在更高版本的 Windows 版本中(从 Windows 10 版本 1507 和 Windows Server 2016 开始),Kerberos 客户端可配置为支持 SPN 中的 IPv4 和 IPv6 主机名,进行 SMB 通信。

NFSv4.1

使用 NFSv4.1 时,使用其中一个 sec=[krb5/krb5i/krb5p] 选项对 IP 地址发出的装载请求使用反向 DNS 查找,通过指针记录 (PTR) 将 IP 地址解析为主机名,然后使用该主机名来构建 SPN 进行票证检索。 如果将 NFSv4.1 与 Kerberos 配合使用,则 Azure NetApp 文件卷应具有 A/AAAA 和 PTR,以涵盖对装载的主机名和 IP 地址访问权限。

Azure NetApp 文件中的 DNS 条目

如果 DNS 服务器支持动态 DNS,Azure NetApp 文件卷支持动态 DNS 更新。 使用动态 DNS 时,使用主机名创建的卷会自动通知 DNS 服务器创建 A/AAAA 记录。 如果存在反向查找区域,则 DNS 还会创建 PTR 记录。 如果反向查找区域不存在,则不会自动创建 PTR 记录,这意味着需要手动创建它。

主机名(而不是 IP 地址)用于特定配置中的卷装载路径,所有这些路径都需要 DNS 才能获得适当的功能:

  • SMB 卷
  • NFSv4.1 Kerberos
  • 双协议卷

当 Azure NetApp 文件卷不需要 DNS(例如 NFSv3 或 不使用 Kerberos 的 NFSv4.1)时,将使用 IP 地址。 在这些情况下,如果需要,可以手动创建 DNS 条目。

如果在 DNS 服务器上删除了动态 DNS 创建的 DNS 条目,则会在 24 小时内通过 Azure NetApp 文件的新动态 DNS 更新重新创建该条目。

当 Azure NetApp 文件通过动态 DNS 创建 DNS A/AAAA 记录时,将使用以下配置:

  • 选中关联的 PTR 记录框:如果子网存在反向查找区域,则 A/AAAA 记录会自动创建 PTR 记录,而无需管理员干预。
  • 已选中“当变为过时时,删除此记录”复选框。 当 DNS 记录“过时”时,DNS 会删除该记录,前提是已启用 DNS 清理。
  • DNS 记录的“生存时间 (TTL)”设置为一天(24小时)。 DNS 管理员可根据需要修改 TTL 设置。 DNS 记录上的 TTL 决定客户端的 DNS 缓存中存在的 DNS 条目的时间长度。

注意

若要查看在 Windows Active Directory DNS 中创建 DNS 记录的时间戳,请导航到 DNS 管理器的“视图”菜单,然后选择“高级”。

DNS 记录修剪/清理

大多数 DNS 服务器提供修剪/清理过期记录的方法。 修剪有助于防止过时的记录使 DNS 服务器混乱,以及造成重复的 A/AAAA 和/或 PTR 记录,这可能会为 Azure NetApp 文件卷创建不可预知的结果。

如果同一 IP 地址的多个 PTR 记录指向不同的主机名,则 Kerberos 请求可能会失败,因为 DNS 查找期间检索到不正确的 SPN。 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 文件为已为协议配置的卷创建 DNS 主机名,该协议(例如 SMB,双重协议或使用 Kerberos 的 NFSv4.1)需要 DNS 获取适当的功能。 为 NetApp 帐户创建 Active Directory 连接时,创建的名称使用 SMB 服务器(计算机帐户)的格式作为前缀,并添加了额外的字母数字字符,以便同一 NetApp 帐户中的多个卷条目具有唯一的名称。 在大多数情况下,需要主机名并存在于同一 NetApp 帐户中的多个卷会尝试使用相同的主机名/IP 地址。 例如,如果 SMB 服务器名称为 SMB-West.contoso.com,则主机名条目遵循 SMB-West-XXXX.contoso.com 的格式。

在某些情况下,Azure NetApp 文件使用的名称可能不好记,无法传递给最终用户,或者管理员可能需要保留更熟悉的 DNS 名称(数据从本地存储迁移到 Azure NetApp 文件时所使用的名称,例如,如果原始 DNS 名称为 datalake.contoso.com,最终用户可能想要继续使用该名称)。

Azure NetApp 文件本身不允许指定使用的 DNS 主机名规范。 如果需要具有相同功能的备用 DNS 名称,则应使用 DNS 别名/规范名称 (CNAME)

使用指向 Azure NetApp 文件卷的 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 请求将 Kerberos SPN 用于 SMB-West-XXXX,以提供对卷的访问权限。

Azure NetApp 文件的 DNS 最佳做法

确保满足以下有关 DNS 配置的要求:

  • 如果使用独立 DNS 服务器:
    • 确保 DNS 服务器可与托管 Azure NetApp 文件卷的 Azure NetApp 文件委托子网建立网络连接。
    • 确保防火墙或 NSG 不会阻止网络端口 UDP 53 和 TCP 53。
  • 确保在 DNS 服务器上创建了 AD DS 网络登录服务注册的 SRV 记录
  • 在与 Azure NetApp 文件配置相同的域中,确保已在 DNS 服务器上创建了 Azure NetApp 文件使用的 AD DS 域控制器的 PTR 记录。
  • Azure NetApp 文件支持标准的安全动态 DNS 更新。 如果需要安全动态 DNS 更新,请确保在 DNS 服务器上配置安全更新。
  • 如果未使用动态 DNS 更新,则需要为 AD DS 组织单位(Azure NetApp 文件 AD 连接中指定的)中创建的 AD DS 计算机帐户手动创建 A 记录和 PTR 记录,以支持 Azure NetApp 文件 LDAP 签名、基于 TLS 的 LDAP、SMB、双重协议或 Kerberos NFSv4.1 卷。
  • 对于复杂或大型 AD DS 拓扑,可能需要 DNS 策略或 DNS 子网优先级以支持已启用 LDAP 的 NFS 卷
  • 如果启用了 DNS 清理(即基于时间戳/年限自动删除过时的 DNS 条目),并且动态 DNS 用于为 Azure NetApp 文件卷创建 DNS 记录,则清理程序进程可能会意外删除卷的记录。 此删除操作可能会导致基于名称的查询发生服务中断。 在此问题得到解决之前,如果启用了 DNS 清理,请手动为 Azure NetApp 文件卷创建 DNS A/AAAA 和 PTR 条目。

后续步骤