诊断名称服务问题
如果由于名称服务问题使客户端访问失败,可使用 vserver services name-service getxxbyyy 命令系列手动执行各种名称服务查找,检查查找结果和详细信息,这样有助于故障诊断。
关于本任务
对于每条命令,可指定以下内容:
要在其中执行查找的节点或存储虚拟机(SVM)的名称。
这样可测试特定节点或 SVM 的名称服务查找,以缩小潜在名称服务配置问题的搜索范围。
是否显示用于查找的源。
这样可检查是否已使用正确的源。
ONTAP 根据配置的名称服务切换顺序选择执行查找的服务。
这些命令在高级权限级别提供。
- 执行以下操作之一:
要检索... 使用命令... 主机名的 IP 地址 vserver services name-service getxxbyyy getaddrinfo vserver services name-service getxxbyyy gethostbyname(仅限 IPv4 地址)
组成员(根据组标识) 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 将 -use-rbac 参数指定为 true,可测试 RBAC 用户的名称解析。
用户信息(根据用户标识) vserver services name-service getxxbyyy getpwbyuid 将 -use-rbac 参数指定为 true,可测试 RBAC 用户的名称解析。
客户端的 netgroup 成员资格 vserver services name-service getxxbyyy netgrp 客户端的 netgroup 成员资格,使用按主机搜索 netgroup vserver services name-service getxxbyyy netgrpbyhost 示例
以下示例显示 SVM vs1 的 DNS 查找测试,方法是尝试获取主机 acast1.eng.example.com 的 IP 地址:
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以下示例显示 SVM vs1 的 NIS 查找测试,方法是尝试检索用户 UID 为 501768 的用户信息:
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以下示例显示 SVM vs1 的 LDAP 查找测试,方法是尝试检索用户名为 ldap1 的用户信息:
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 的 netgroup 查找测试,方法是尝试发现客户端 dnshost0 是否为 netgroup 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 - 分析执行的测试结果,并采取必要措施。
示例
如果... 检查... 主机名或 IP 地址查找失败,或生成错误的结果 DNS 配置 查找查询的源不正确 名称服务切换配置 用户或组查找失败,或生成错误的结果 名称服务切换配置 源配置(本地文件、NIS 域、LDAP 客户端)
网络配置(例如 LIF 和路由)
主机名查找失败或超时,DNS 服务器无法解析 DNS 短名称(例如 host1) 顶级域(TLD)查询的 DNS 配置 可以使用 vserver services name-service dns modify 命令的 -is-tld-query-enabled false 选项禁用 TLD 查询。