跳过导航链接 | |
退出打印视图 | |
系统管理指南:IP 服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
1. Oracle Solaris TCP/IP 协议套件(概述)
5. 配置 TCP/IP 网络服务和 IPv4 寻址(任务)
25. Oracle Solaris 中的 IP 过滤器(概述)
如果使用 NIS+ 作为 DHCP 数据存储,则可能遇到以下几类问题:
如果您尝试使用 NIS+ 作为数据存储,则 DHCP 管理程序可能不会提供 NIS+ 作为数据存储的选择。如果使用 dhcpconfig 命令,则可能会看到一条消息,指出 NIS+ 似乎未安装,它当前未运行。这两种症状表示尽管网络可能正在使用 NIS+,但尚未针对此服务器配置 NIS+。必须先将服务器系统配置为 NIS+ 客户机,然后才能选择 NIS+ 作为数据存储。
在将 DHCP 服务器系统设置为 NIS+ 客户机之前,以下语句必须成立:
域必须已经配置。
NIS+ 域的主服务器必须正在运行。
主服务器的表必须已填充。
主机表必须包含新客户机系统(即 DHCP 服务器系统)的项。
有关配置 NIS+ 客户机的详细信息,请参见《System Administration Guide: Naming and Directory Services (NIS+)》中的"Setting Up NIS+ Client Machines"。
将 NIS+ 成功用于 DHCP 之后,如果对 NIS+ 进行更改,则可能会遇到错误。这些更改可能会引起配置问题。请使用以下问题说明和解决方法来帮助确定配置问题的原因。
疑难问题: NIS+ 域中不存在根对象。
解决方法: 键入以下命令:
/usr/lib/nis/nisstat
此命令会显示域的统计信息。如果不存在根对象,则不会返回任何统计信息。
使用《System Administration Guide: Naming and Directory Services (NIS+)》设置 NIS+ 域。
疑难问题: NIS+ 无法用于 passwd 和 publickey 信息。
解决方法: 键入以下命令来查看名称服务转换器的配置文件:
cat /etc/nsswitch.conf
在 passwd 和 publickey 项中检查 "nisplus" 关键字。有关配置名称服务转换器的信息,请参阅《System Administration Guide: Naming and Directory Services (NIS+)》。
疑难问题: 域名为空。
解决方法: 键入以下命令:
domainname
如果此命令列出一个空字符串,则表明域尚未设置域名。请使用本地文件进行数据存储或者为网络设置 NIS+ 域。请参阅《System Administration Guide: Naming and Directory Services (NIS+)》。
疑难问题: NIS_COLD_START 文件不存在。
解决方法: 在服务器系统上键入以下命令来确定此文件是否存在:
cat /var/nis/NIS_COLD_START
使用本地文件进行数据存储或者创建 NIS+ 客户机。请参阅《System Administration Guide: Naming and Directory Services (NIS+)》。
NIS+ 访问问题可能会导致有关 DES 凭证不正确或者更新 NIS+ 对象或表的权限不足的错误消息。请使用以下问题说明和解决方案来确定所遇到的 NIS+ 访问错误的原因。
疑难问题: DHCP 服务器系统没有创建对 NIS+ 域中 org_dir 对象的访问权限。
解决方法: 键入以下命令:
nisls -ld org_dir
访问权限以 r---rmcdrmcdr--- 形式列出,其中权限分别应用于无人 (nobody)、所有者 (owner)、组 (group) 和全局 (world)。对象的所有者将在随后列出。
通常,org_dir 目录对象为所有者和组提供了完全权限。完全权限包括读取、修改、创建和销毁。org_dir 目录对象仅会为全局和无人这两个类提供读取访问权限。
DHCP 服务器名必须作为 org_dir 对象的所有者列出,或者作为组的主体列出。组必须具有创建访问权限。请使用以下命令列出组:
nisls -ldg org_dir
如有必要,可使用 nischmod 命令更改 org_dir 的权限。例如,要向组添加创建权限,可键入以下命令:
nischmod g+c org_dir
有关更多信息,请参见 nischmod(1) 手册页。
疑难问题: DHCP 服务器没有在 org_dir 对象下创建表的权限。
通常,此问题表示服务器系统的主体名不是 org_dir 对象的所属组的成员,或者不存在所属组。
解决方法: 键入以下命令查找所属组的名称:
niscat -o org_dir
查找显示如下内容的行:
Group : "admin.example.com."
使用以下命令列出组中的主体名:
nisgrpadm -l groupname
例如,以下命令可列出组 admin.example.com 的主体名:
nisgrpadm -l admin.example.com
服务器系统名应作为组的显式成员列出,或者作为隐式成员包括在组中。如有必要,可使用 nisgrpadm 命令将服务器系统的名称添加到组中。
例如,要将服务器名称 pacific 添加到组 admin.example.com 中,可键入以下命令:
nisgrpadm -a admin.example.com pacific.example.com
有关更多信息,请参见 nisgrpadm(1) 手册页。
疑难问题: DHCP 服务器在 NIS+ cred 表中没有有效的数据加密标准 (Data Encryption Standard, DES) 凭证。
解决方法: 如果存在凭证问题,则会显示错误消息,表明用户在 NIS+ 名称服务中没有 DES 凭证。
使用 nisaddcred 命令可为 DHCP 服务器系统添加安全凭证。
以下示例说明如何在域 example.com 中为系统 mercury 添加 DES 凭证:
nisaddcred -p unix.mercury@example.com \ -P mercury.example.com. DES example.com.
此命令会提示输入超级用户口令,生成加密密钥时需要使用此口令。
有关更多信息,请参见 nisaddcred(1M) 手册页。
当客户机尝试获取或检验 IP 地址时,可能会出现一些问题,这些问题记录到 syslog 中或以服务器调试模式输出。以下列出的常见错误消息后指明了可能的原因和解决方案。
There is no n.n.n.n dhcp-network table for DHCP client's network
原因: 客户机正在请求特定的 IP 地址或请求延长其当前 IP 地址的租用期。DHCP 服务器无法找到此地址的 DHCP 网络表。
解决方法: DHCP 网络表可能已被错误地删除。您可以通过使用 DHCP 管理程序或 dhcpconfig 命令再次添加网络来重新创建网络表。
ICMP ECHO reply to OFFER candidate: n.n.n.n, disabling
原因: 要提供给 DHCP 客户机的 IP 地址已处于使用状态。如果多台 DHCP 服务器拥有此地址,则可能会出现此问题。如果已为非 DHCP 网络客户机手动配置了地址,也可能会出现此问题。
解决方法: 确定正确的地址所有权。更正 DHCP 服务器数据库或主机的网络配置。
ICMP ECHO reply to OFFER candidate: n.n.n.n. No corresponding dhcp network record.
原因: 要提供给 DHCP 客户机的 IP 地址在网络表中没有记录。此错误表示选择了 IP 地址之后,便从 DHCP 网络表中删除了此地址记录。此错误仅会在完成重复地址检查之前的短时间内出现。
解决方法: 使用 DHCP 管理程序或 pntadm 命令查看 DHCP 网络表。如果 IP 地址缺失,请从 DHCP 管理程序的 "Address"(地址)选项卡上的 "Edit"(编辑)菜单中选择 "Create"(创建)来创建地址。您还可以使用 pntadm 创建 IP 地址。
DHCP network record for n.n.n.nis unavailable, ignoring request.
原因: 所请求的 IP 地址的记录不在 DHCP 网络表中,因此服务器将删除此请求。
解决方法: 使用 DHCP 管理程序或 pntadm 命令查看 DHCP 网络表。如果 IP 地址缺失,请从 DHCP 管理程序的 "Address"(地址)选项卡上的 "Edit"(编辑)菜单中选择 "Create"(创建)来创建地址。您还可以使用 pntadm 创建地址。
n.n.n.n currently marked as unusable.
原因: 无法提供所请求的 IP 地址,因为此地址已在网络表中标记为不可用。
解决方法: 您可以使用 DHCP 管理程序或 pntadm 命令来使此地址可用。
n.n.n.n was manually allocated. No dynamic address will be allocated.
原因: 已经为客户机 ID 指定了一个手动分配的地址,并且此地址标记为不可用。服务器无法为此客户机分配其他地址。
解决方法: 您可以使用 DHCP 管理程序或 pntadm 命令使此地址可用,或者为此客户机手动分配其他地址。
Manual allocation (n.n.n.n, client ID) has n other records. Should have 0.
原因: 已经为具有指定客户机 ID 的客户机手动指定了多个 IP 地址。一台客户机只能指定一个地址。服务器将选择网络表中最近手动指定的地址。
解决方法: 使用 DHCP 管理程序或 pntadm 命令修改 IP 地址,从而删除其他手动分配的地址。
No more IP addresses on n.n.n.nnetwork.
原因: 在指定网络中,当前由 DHCP 管理的所有 IP 地址均已分配。
解决方法: 使用 DHCP 管理程序或 pntadm 命令为该网络创建新的 IP 地址。
Client: clientid lease on n.n.n.n expired.
原因: 租用期不可协商并已超时。
解决方法: 客户机应该自动重新启动协议以获取新的租用期。
Offer expired for client: n.n.n.n
原因: 服务器为客户机提供 IP 地址,但客户机响应时间太长而导致所提供的地址过期。
解决方法: 客户机应该再次自动发出一条搜索消息。如果此消息也超时,请增加 DHCP 服务器对所提供的地址进行高速缓存的超时时间。在 DHCP 管理程序中,从 "Service"(服务)菜单中选择 "Modify"(修改)。
Client: clientid REQUEST is missing requested IP option.
原因: 客户机的请求未指定所提供的 IP 地址,所以 DHCP 服务器忽略了该请求。如果使用的第三方 DHCP 客户机不符合更新的 DHCP 协议 RFC 2131,则可能会出现此问题。
解决方法: 更新客户机软件。
Client: clientid is trying to renew n.n.n.n, an IP address it has not leased.
原因: 此客户机在 DHCP 网络表中的 IP 地址与该客户机在其更新请求中指定的 IP 地址不匹配。DHCP 服务器未更新租期。如果在客户机仍在使用该 IP 地址时删除该客户机的记录,则可能会出现此问题。
解决方法: 使用 DHCP 管理程序或 pntadm 命令检查网络表,并在必要时更正客户机的记录。应将客户机 ID 绑定到指定的 IP 地址。如果客户机 ID 未绑定,请编辑地址属性以添加客户机 ID。
Client: clientid is trying to verify unrecorded address: n.n.n.n, ignored.
原因: 指定的客户机尚未在 DHCP 网络表中注册此地址,所以此 DHCP 服务器忽略了该请求。
网络中的其他 DHCP 服务器可能已为此客户机指定了该地址。但是,也可能是由于在客户机仍在使用 IP 地址时删除了该客户机的记录。
解决方法: 使用 DHCP 管理程序或 pntadm 命令检查此服务器以及网络中任何其他 DHCP 服务器上的网络表。如有必要,请进行更正。
您也可以不执行任何操作并使租用过期。客户机会自动请求新的地址租用期。
如果希望客户机立即获取新的租用期,请键入以下命令,在客户机上重新启动 DHCP 协议:
ifconfig interface dhcp release ifconfig interface dhcp start