Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

对名称服务问题进行故障排除

贡献者

当客户端因名称服务问题而遇到访问失败时、您可以使用 vserver services name-service getxxbyyy 命令系列、用于手动执行各种名称服务查找并检查查找的详细信息和结果、以帮助进行故障排除。

关于此任务
  • 对于每个命令,您可以指定以下内容:

    • 要执行查找的节点或 Storage Virtual Machine ( SVM )的名称。

      这样,您可以测试特定节点或 SVM 的名称服务查找,以缩小潜在名称服务配置问题描述的搜索范围。

    • 是否显示用于查找的源。

      这样,您可以检查是否使用了正确的源。

  • ONTAP 会根据配置的名称服务切换顺序选择用于执行查找的服务。

  • 这些命令可在高级权限级别下使用。

步骤
  1. 执行以下操作之一:

检索…​

使用命令 …​

主机名的IP地址

vserver services name-service getxxbyyy getaddrinfo vserver services name-service getxxbyyy gethostbyname (仅限IPv4地址)

按组ID显示组成员

vserver services name-service getxxbyyy getgrbygid

按组名称显示组成员

vserver services name-service getxxbyyy getgrbyname

用户所属组的列表

vserver services name-service getxxbyyy getgrlist

IP地址的主机名

vserver services name-service getxxbyyy getnameinfo vserver services name-service getxxbyyy gethostbyaddr (仅限IPv4地址)

按用户名显示用户信息

vserver services name-service getxxbyyy getpwbyname 您可以通过指定来测试RBAC用户的名称解析 -use-rbac 参数为 true

按用户ID显示用户信息

vserver services name-service getxxbyyy getpwbyuid
您可以通过指定来测试RBAC用户的名称解析 -use-rbac 参数为 true

客户端的网络组成员资格

vserver services name-service getxxbyyy netgrp

使用netgroup-by-host搜索的客户端的网络组成员资格

vserver services name-service getxxbyyy netgrpbyhost

以下示例显示了通过尝试获取主机acast1.eng.example.com的IP地址来对SVM vs1执行的DNS查找测试:

cluster1::*> vserver services name-service getxxbyyy getaddrinfo -vserver vs1 -hostname acast1.eng.example.com -address-family all -show-source true
Source used for lookup: DNS
Host name: acast1.eng.example.com
Canonical Name: acast1.eng.example.com
IPv4: 10.72.8.29

以下示例显示了通过尝试检索UID为501768的用户的用户信息来对SVM vs1执行的NIS查找测试:

cluster1::*> vserver services name-service getxxbyyy getpwbyuid -vserver vs1 -userID 501768 -show-source true
Source used for lookup: NIS
pw_name: jsmith
pw_passwd: $1$y8rA4XX7$/DDOXAvc2PC/IsNFozfIN0
pw_uid: 501768
pw_gid: 501768
pw_gecos:
pw_dir: /home/jsmith
pw_shell: /bin/bash

以下示例显示了通过尝试检索名为ldap1的用户的用户信息来对SVM vs1执行的LDAP查找测试:

cluster1::*> vserver services name-service getxxbyyy getpwbyname -vserver vs1 -username ldap1 -use-rbac false -show-source true
Source used for lookup: LDAP
pw_name: ldap1
pw_passwd: {crypt}JSPM6yc/ilIX6
pw_uid: 10001
pw_gid: 3333
pw_gecos: ldap1 user
pw_dir: /u/ldap1
pw_shell: /bin/csh

以下示例显示了SVM vs1的网络组查找测试、该测试尝试确定客户端dnshost0是否为网络组lnetgroup136的成员:

cluster1::*> vserver services name-service getxxbyyy netgrp -vserver vs1 -netgroup lnetgroup136 -client dnshost0 -show-source true
Source used for lookup: LDAP
dnshost0 is a member of lnetgroup136
  1. 分析您执行的测试的结果并采取必要的措施。

    如果 …​ 检查

    主机名或 IP 地址查找失败或生成的结果不正确

    DNS配置

    LOOKUP 查询的源不正确

    名称服务开关配置

    用户或组查找失败或生成的结果不正确

    • 名称服务开关配置

    • 源配置(本地文件、NIS域、LDAP客户端)

    • 网络配置(例如 LIF 和路由)

    主机名查找失败或超时,并且 DNS 服务器无法解析 DNS 短名称(例如 host1 )

    用于顶级域(TLD)查询的DNS配置。您可以使用禁用LD查询 -is-tld-query-enabled false 选项 vserver services name-service dns modify 命令: