跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 管理:IP 服务 Oracle Solaris 10 1/13 Information Library (简体中文) |
1. Oracle Solaris TCP/IP 协议套件(概述)
5. 配置 TCP/IP 网络服务和 IPv4 寻址(任务)
25. Oracle Solaris 中的 IP 过滤器(概述)
Oracle Solaris 系统支持以下名称服务:DNS、NIS、NIS+ 和本地文件存储 (/etc/inet/hosts)。每个名称服务都只有在进行某些配置后才可用。还必须相应地设置名称服务转换器配置文件(请参见 nsswitch.conf(4)),以指明要使用的名称服务。
在 DHCP 客户机系统可以使用名称服务之前,您必须将系统配置为此名称服务的客户机。缺省情况下,除非在系统安装过程中另行配置,否则仅使用本地文件。
下表概述了与每个名称服务以及 DHCP 相关的问题。该表中还提供了一些文档交叉引用,可帮助您针对每个名称服务设置客户机。
表 16-1 DHCP 客户机系统的名称服务客户机设置信息
|
您可以在作为 DHCP 客户机的 Oracle Solaris 系统上使用 NIS+ 名称服务。但是,如果 DHCP 服务器可以在不同的时间提供不同的地址,则这将在某种程度上绕过 NIS+ 的安全增强功能之一,即创建数据加密标准 (Data Encryption Standard, DES) 证书。出于安全考虑,请将 DHCP 服务器配置为始终提供相同地址。当您设置不使用 DHCP 的 NIS+ 客户机时,请将此客户机的专有 DES 凭证添加到 NIS+ 服务器中。可以使用多种方法来创建凭证,例如使用 nisclient 脚本或 nisaddcred 命令。
生成 NIS+ 凭证时,要求客户机具有静态主机名以创建和存储这些凭证。如果您要使用 NIS+ 和 DHCP,则必须为 DHCP 客户机的所有主机名创建完全相同的凭证。这样,无论 DHCP 客户机接收何种 IP 地址和关联主机名,此客户机都可以使用相同的 DES 凭证。
以下过程显示如何为所有 DHCP 主机名创建相同的凭证。仅当您知道 DHCP 客户机使用的主机名时,此过程才有效。例如,当 DHCP 服务器生成主机名时,您便会知道客户机可能收到的主机名。
要使 DHCP 客户机系统成为 NIS+ 客户机,该系统必须使用属于 NIS+ 域中其他 NIS+ 客户机系统的凭证。此过程仅为系统生成凭证,而这些凭证仅适用于登录到系统的超级用户。其他登录到 DHCP 客户机系统的用户必须在 NIS+ 服务器中具有自己专有的凭证。这些凭证根据《System Administration Guide: Naming and Directory Services (NIS+) 》中的过程进行创建。
# nisgrep nisplus-client-name cred.org_dir > /tmp/file
此命令将 NIS+ 客户机的 cred.org_dir 表项写入临时文件中。
或者,使用文本编辑器。
您必须复制公钥和私钥,它们是包含以冒号分隔的数字和字母的长字符串。这些凭证将粘贴到下一步发出的命令中。
# nistbladm -a cname=" dhcp-client-name@nisplus-domain" auth_type=DES \ auth_name="unix.dhcp-client-name@nisplus-domain" \ public_data=copied-public-key \ private_data=copied-private-key
对于 copied-public-key,请粘贴您从临时文件中复制的公钥信息。对于 copied-private-key,请粘贴您从临时文件中复制的私钥信息。
# rcp nisplus-client-name:/var/nis/NIS_COLD_START /var/nis # rcp nisplus-client-name:/etc/.rootkey /etc # rcp nisplus-client-name:/etc/defaultdomain /etc
如果您收到 "permission denied"(权限被拒绝)消息,则说明系统可能没有设置为允许远程复制。在这种情况下,您可以以一般用户的身份将文件复制到中间位置。然后,以超级用户的身份,将这些文件从中间位置复制到 DHCP 客户机系统上的适当位置。
# cp /etc/nsswitch.nisplus /etc/nsswitch.conf
现在 DHCP 客户机系统应该可以使用 NIS+ 服务。
示例 16-1 将 DHCP 客户机系统设置为 NIS+ 客户机
以下示例假设您有一个系统 nisei,此系统是 NIS+ 域 dev.example.net 中的 NIS+ 客户机。您还有一个 DHCP 客户机系统 dhow,并且希望将 dhow 作为 NIS+ 客户机。
(First log in as superuser on the NIS+ server) # nisgrep nisei cred.org_dir > /tmp/nisei-cred # cat /tmp/nisei-cred nisei.dev.example.net.:DES:unix.nisei@dev.example.net:46199279911a84045b8e0 c76822179138173a20edbd8eab4:90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830 c05bc1c724b # nistbladm -a cname="dhow@dev.example.net." \ auth_type=DES auth_name="unix.dhow@dev.example.net" \ public_data=46199279911a84045b8e0c76822179138173a20edbd8eab4 \ private_data=90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830\ c05bc1c724b # rlogin dhow (Log in as superuser on dhow) # rcp nisei:/var/nis/NIS_COLD_START /var/nis # rcp nisei:/etc/.rootkey /etc # rcp nisei:/etc/defaultdomain /etc # cp /etc/nsswitch.nisplus /etc/nsswitch.conf # reboot
现在 DHCP 客户机系统 dhow 应该可以使用 NIS+ 服务。
示例 16-2 使用脚本添加凭证
如果您要将大量的 DHCP 客户机系统都设置为 NIS+ 客户机,则可以编写脚本。脚本可以快速将项添加到 cred.org_dir NIS+ 表中。以下示例显示了一个脚本样例。
#! /usr/bin/ksh # # Copyright (c) by Sun Microsystems, Inc. All rights reserved. # # Sample script for cloning a credential. Hosts file is already populated # with entries of the form dhcp-[0-9][0-9][0-9]. The entry we're cloning # is dhcp-001. # # PUBLIC_DATA=6e72878d8dc095a8b5aea951733d6ea91b4ec59e136bd3b3 PRIVATE_DATA=3a86729b685e2b2320cd7e26d4f1519ee070a60620a93e48a8682c5031058df4 HOST="dhcp-" DOMAIN="mydomain.example.com" for i in 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 do print - ${HOST}${i} #nistbladm -r [cname="${HOST}${i}.${DOMAIN}."]cred.org_dir nistbladm -a cname="${HOST}${i}.${DOMAIN}." \ auth_type=DES auth_name="unix.${HOST}${i}@${DOMAIN}" \ public_data=${PUBLIC_DATA} private_data=${PRIVATE_DTA} cred.org_Dir done exit 0