免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: luren04
打印 上一主题 下一主题

【申请加精】来自UC的《Solaris 10红宝书》系列在线课程 [复制链接]

论坛徽章:
0
91 [报告]
发表于 2008-04-14 14:40 |只看该作者
20.3 Solaris加密体系   
Solaris系统的安全与其加密体系密切相关。系统管理员应了解Solaris加密体系。

20.3.1 Solaris加密体系概述
Solaris加密体系(Cryptographic Framework)以无缝透明的形式向用户提供应用和内核模块的加密服务,用户应用很少察觉到,也很少受到干扰。密码体系中包括命令、用户程序编程接口、内核编程接口和优化加密算法的程序。

1.加密体系中的术语
加密算法

加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。下面简要列出Solaris加密体系中的一些加密算法。

 AES:Advanced Encryption Standard高级加密标准,是美国联邦政府标准,是指定的标准密码系统,未来将在政府和银行业用户使用,因为它的执行速度很快,十分适合于现代需求(如智能卡),而且能够使用的密钥大小范围很广。

 DES:Data Encryption Standard,在1977年被美国政府正式采纳,是全世界最广泛使用的加密算法。除政府以外,银行业是加密的最大用户,主要问题是其密钥长度很短,密钥实际上有64位,但密钥有8位是奇偶校验位,DES密钥实际只有56位在起作用,完全不适合当今的形势,它已由AES高级加密标准算法代替了。

 3DES:即三重DES,只是以某种特殊的顺序使用2个密钥执行三次DES,也可以使用三个单独密钥。

 DH:Diffie-Hellman密钥协议,由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想,允许两名用户在公开媒体上交换信息以生成“一致”的、可以共享的密钥。

 DSA:所谓数字签名就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(不可抵赖性),同时也确保信息报文在经签名后末被篡改(完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。

 HMAC:Keyed-hash message authentication code,MAC有几种工作方式。第一种方式是在计算摘要之前,将秘钥并置到数据末尾。如果没有秘钥,则无法确认数据未经改动。另一种计算更复杂的方式是照常计算散列,然后再使用对称算法(如 DES)加密散列。要认证散列,必须首先对它解密。

 MAC:Message Authentication Code消息认证代码,使用一个密钥生成一个固定大小的小数据块,并加入到消息中。该密钥可以用于认证可疑数据,确保加密位流在传输中免遭恶意修改。

 MD5:Message-Digest Algorithm,由麻省理工学院为开发的用于数字签名的信息摘要算法,做Message的Hash变换,将任意长度的Message变换成一个128位的大整数,并且它是一个不可逆的字符串变换算法。MD5的典型应用是对一段Message产生数字指纹,以防止被篡改,即数字签名应用。

 PKCS:Public-Key Cryptography Standards是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容,以及数字签名、数字信封的格式等方面的一系列相关协议。PKCS已经公布了PKCS#1到PKCS#15。

 PKCS#5:基于口令的加密标准,是一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD5从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。

 PKCS#11:定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备。

 RSA:美国麻省理工学院研究人员开发,是最有名的公钥算法,也是第一个能同时用于加密和数字签名的算法,出口受限。RSA背后的一般思想将两个大素数相乘十分容易,但是想分解它们的乘积却极端困难,因此可以将乘积公开作为加密密钥。在1999年,用了7个月时间完成了对特定 RSA 512位数(称为 RSA-155)的因式分解。由于进行的都是大数计算,使得RSA最快的情况也比DES慢。

 SHA-1:安全散列算法(SHA)是由美国国家标准和技术协会(National Institute of Standards and Technology)开发的,1994年发布了原始算法的修订版,称为SHA-1。与MD5相比,SHA-1生成160位的消息摘要,虽然执行更慢,却被认为更安全。明文消息的最大长度可达到264位。

机制

机制就是应用加密算法的目的。比如,对于DES来说,CKM_DES_MAC的机制就是验证。

消费者

消费者就是使用加密服务的用户、应用软件或内核操作。

提供者

提供者就是消费者使用的加密服务。




2.Solaris加密体系中命令介绍
管理命令

cryptoadm命令是在Solaris加密体系中的管理命令。它可以管理下列内容:

 显示加密服务提供者的信息。

 启动或关闭提供者。

用户命令

Solaris加密体系提供了几个用户级的命令来检查文件的完整性和保密性。

 Digest:计算文件的数字签名。通过比较数字签名来检查文件的完整性。

 Mac:计算消息身份验证代码。消息身份验证保证了被传输的消息不会在途中被修改。

 Encrypt:对文件加密。

 Decrypt:对文件解密。

20.3.2 使用加密方法来保护系统文件
Solaris加密体系从以下两个方面来保护文件。

 保密性:保密性是指确保数据处于私有和保密状态,并且不会被可能使用网络监控软件的窃听者查看到。通常借助加密来达到保密目的。

 完整性:以防止数据在传输过程中遭到意外或蓄意(恶意)的修改。完整性通常是通过使用数字签名或者“消息身份验证代码”(Message Authentication Code, MAC)来实现的。

用户可以将自己的文件以加密的方式存储,尽管这些文件对于超级用户还是可读的,但内容确是超级用户无法识别的。因为,此时的文件内容已经被加密算法打乱了,只有用户才可以通过解密算法来恢复文件的内容。

文件在传输的过程中能否保持与原来文件的内容一致,我们如何察觉到传递的文件已经被别人修改过了?有两种方法可以验证文件的一致性:

 数字签名。

 消息身份验证代码。

1.产生对称密钥
密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。对称密钥是无论加密还是解密都采用一个密钥。密钥的产生最好是随机产生的。下面我们介绍使用dd命令和/dev/urandom设备随机产生的密钥的方法。

(1)在产生密钥前需要了解系统中加密算法所支持的密钥长度。

显示数字签名算法:

% encrypt -l

Algorithm Keysize: Min Max (bits)

-----------------------------------------------------------------------

aes 128 128

arcfour 8 128

des 64 64

3des 192 192

显示MAC机制:

% mac -l

Algorithm Keysize: Min Max (bits)

--------------------------------------------------------------------------

des_mac 64 64

sha1_hmac 8 512

md5_hmac 8 512

我们只需要在最大值和最小值之间取一个长度数值就可以了。比如对于sha1_hmac和md5_hmac来说,我们可以取的密钥长度是8、16、64等。

(2)用随机数产生长度为16个字节的对称密钥,并存在$HOME/keyf目录的05.07.aes16文件中:

% dd if=/dev/urandom of=$HOME/keyf/05.07.aes16 bs=16 count=1

(3)保存密钥,不让其他用户读取。

% chmod 400 ~/keyf/05.07.aes16

2.检查文件的完整性
检查文件的完整性有下面两种方法。

(1)通过比较文件的数字签名,可以了解文件是否被改动。

比如,我们在下载许多UNIX软件的时候,总会看到一个文件名相同而文件扩展名却为.md5的文件。在这个文件中通常只有一行文本,大致结构如下:

md5 (duanf.tar.gz) = 85c0a53d1a5cc71ea34d9ee7b1b28

这就是duanf.tar.gz文件的数字签名。MD5将整个文件当做一个大文本信息,通过其不可逆的字符串变换算法,产生了这个惟一的MD5信息摘要。如果在以后传播这个文件的过程中,无论文件的内容发生了任何形式的改变(包括人为修改或者下载过程中线路不稳定引起的传输错误等),只要你对这个文件重新计算时MD5就会发现信息摘要不相同,由此可以确定你得到的只是一个不正确的文件。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

检查文件的数字签名:

% digest -v -a md5 duanf.tar.gz >> $HOME/digest.duanf.05.07

% cat ~/digest.duanf.05.07

md5 (duanf.tar.gz) = 85c0a53d1a5cc71ea34d9ee7b1b28

可见,下载文件与原文件一致。




(2)“消息身份验证代码”(Message Authentication Code, MAC)

MAC也是可以检查文件内容是否正确。所不同的是,在验证过程中,还需要输入正确的密钥,才能完成验证过程。

% mac -v -a des_mac duanf.tar.gz

Enter key: <Type passphrase>

des_mac (duanf.tar.gz) = dd27870a

% echo "des_mac (duanf.tar.gz) = dd27870a" >> ~/desmac.daily.0

需要指出的是这个密钥不是文件加密解密的密钥。

3.确保文件的保密性
文件的加密和解密的目的就是为了确保文件的保密性。我们可以通过encrypt命令来对文件进行加密,使用decrypt命令来对文件进行解密。这两个命令的参数选项是一样的,我们选择encrypt命令来解释说明:

% encrypt -a algorithm [ -k keyfile ] -i input-file -o output-file

 -a 加密算法标识。

 -k 包含密钥内容的文件。

 -i input-file 你想要进行加密的文件,这个文件在命令中无改变。

 -o output-file 已经加密后,形成的加密文件,需要密钥才能打开它。

 例20-27 使用aes加密算法对ticket.to.ride文件进行加密,加密后文件名为e.ticket.to.ride。

05.07.aes16文件中存有密钥:

% encrypt -a aes -k ~/keyf/05.07.aes16 -i ticket.to.ride -o ~/enc/e.ticket.to.ride

对e.ticket.to.ride文件进行解密:

% decrypt -a aes -k ~/keyf/05.07.aes16 -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride

20.3.3 管理Solaris加密体系
本节介绍如何管理Solaris加密体系中的软件和硬件加密服务。当系统不再需要加密服务的时候,软件和硬件的加密服务都可以被关闭。比如,你可以关闭一个软件加密服务提供的算法,也可以迫使系统使用其他软件提供的加密算法。

1.如何列出可用的加密服务
Solaris加密体系提供了下面几个类型的加密算法:

 用户级的提供者;

 内核软件提供者;

 内核硬件提供者。

对于一般用户来说,只有用户级的加密机制才有可能被使用。

 例20-28 显示一般用户可以使用的加密机制。

% cryptoadm list

user-level providers:

/usr/lib/security/$ISA/pkcs11_kernel.so

/usr/lib/security/$ISA/pkcs11_softtoken.so

kernel software providers:

des

aes

blowfish

arcfour

sha1

md5

rsa

kernel hardware providers:

dca/0

如果要查看系统中有多少个加密机制,而不在意这些机制是否起用,请见下面例子:

 例20-29 查看所有的加密机制。

% cryptoadm list -m

user-level providers:

=====================

/usr/lib/security/$ISA/pkcs11_kernel.so: CKM_MD5,CKM_MD5_HMAC,

CKM_MD5_HMAC_GENERAL,CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL,

...

/usr/lib/security/$ISA/pkcs11_softtoken.so:

CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN,

CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN,

CKM_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN,

...

kernel software providers:

==========================

des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC

aes: CKM_AES_ECB,CKM_AES_CBC

blowfish: CKM_BF_ECB,CKM_BF_CBC

arcfour: CKM_RC4

sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL

md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL

rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS

swrand: No mechanisms presented.

kernel hardware providers:

==========================

dca/0: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL,...

可以看到,系统加密机制分为三类,分别列出。

 例20-30 列出系统中可以应用的加密机制。

% cryptoadm list -p

user-level providers:

=====================

/usr/lib/security/$ISA/pkcs11_kernel.so: all mechanisms are enabled.

random is enabled.

/usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.

random is enabled.

kernel software providers:

==========================

des: all mechanisms are enabled.

aes: all mechanisms are enabled.

blowfish: all mechanisms are enabled.

arcfour: all mechanisms are enabled.

sha1: all mechanisms are enabled.

md5: all mechanisms are enabled.

rsa: all mechanisms are enabled.

swrand: random is enabled.

kernel hardware providers:

==========================

dca/0: all mechanisms are enabled. random is enabled.

2.如何增添软件的加密服务
 例20-31 增添PKCS#11加密库。

(1)安装软件包:

# pkgadd -d /cdrom/cdrom0/SolarisNew

(2)刷新系统加密服务:

# svcadm refresh system/cryptosvc

(3)查看加密列表,PKCS#11加密库已经在列表中:

# cryptoadm list

user-level providers:

==========================

/usr/lib/security/$ISA/pkcs11_kernel.so

/usr/lib/security/$ISA/pkcs11_softtoken.so

3.如何关闭加密服务
对于软件、硬件和内核加密服务来说,关闭的命令是一样的。我们只举一个例子说明。

 例20-32 关闭内核中aes加密。

(1)查看有无aes加密服务:

$ cryptoadm list -m provider=aes

aes: CKM_AES_ECB,CKM_AES_CBC

(2)查看aes加密服务是否启动:

$ cryptoadm list -p provider=aes

aes: all mechanisms are enabled.

(3)使用disable关闭加密服务:

$ cryptoadm disable provider=aes mechanism=CKM_AES_ECB

(4)查看aes服务是否已经关闭:

$ cryptoadm list -p provider=aes

aes: all mechanisms are enabled, except CKM_AES_ECB

论坛徽章:
0
92 [报告]
发表于 2008-04-14 14:41 |只看该作者

Solaris 10网络服务

第21章 Solaris 10的网络配置   
在管理Solaris的计算机时,配置TCP/IP网络是遇到较常见的任务之一。在多数情况下,这不很复杂,但是,需要一些网络方面的设计和配置方面的知识。在本章中,我们将介绍这方面的知识。

论坛徽章:
0
93 [报告]
发表于 2008-04-14 14:42 |只看该作者
21.1 网络控制文件及数据库   
Solaris 10使用下列网络控制文件来管理TCP/IP网络。

1./etc/hostname.interface文件
这个文件是本地主机上定义的物理的端口的文件。一个本地主机至少有一个这样的文件,它是在安装Solaris 10的过程中形成的。例如/etc/hostname.eri0,eri代表接口类型,0为接口编号。这个文件包含一个主机名或主机的IP地址,它的基本网络接口由接口编号0来指定。

值得一提的是,我们还可以为同一个网络接口分配不同的IP地址,对于一台主机内包含多个“虚拟”域,它们都需要自己的IP地址的情况,这非常有用。我们这里要做的就是为每个所需要的IP地址创建一个/etc/hostname:eriX:Y文件,其中的X代表物理设备接口,Y代表虚拟的接口编号。

2./etc/nodename文件
/etc/nodename文件包含着本地计算机的名字。比如本地计算机名为timbuktu,那么文件/etc/nodename文件中就有timbuktu条目。

3./etc/defaultdomain文件
这个文件包含着所本地主机的域名。

4./etc/defaultrouter文件
这个文件包含着主机的默认路由地址。

5.主机数据库
主机数据库包含着IP地址和系统的主机名。如果你使用NIS、DNS命名服务或LDAP目录服务,主机数据库就在这些服务的数据库中维护。比如,在网络上运行NIS,主机数据库就在hostsbyname文件中维护。

如果你用本地文件做命名服务,主机数据库就维护在/etc/inet/hosts文件中。这个文件包含的主机名和主要网络接口的IP地址,还有系统所需要查找的其他网络地址。

为了与以BSD为基础的操作系统兼容,Solaris 10的/etc/hosts文件是/etc/inet/hosts文件的软链接。

 例21-1 显示了一个主机名为tenere的/etc/inet/hosts文件的内容。

127.0.0.1 localhost loghost #loopback address

192.168.200.3 tenere #host name

6.子网掩码数据库
子网掩码数据库包含着主机的子网掩码。如果你使用NIS、DNS命名服务或LDAP目录服务,子网掩码数据库就在这些服务的数据库中维护。如果你使用本地文件来维护子网掩码数据库,这些信息就存储在/etc/inet/netmasks文件中。

为了与以BSD为基础的操作系统兼容,Solaris 10的/etc/netmasks文件是/etc/inet/ netmasks文件的软链接。

所有网络接口使用的子网掩码必须在/etc/inet/netmasks文件中加以定义。当这些网络接口位于不同的子网,或者用于不同类型的网络时,这一点尤为重要。A,B,C三类子网的掩码分别为255.0.0.0,255.255.0.0和255.255.255.0。等我们向特定的子网发送广播消息时,就需要使用这些掩码。

例如,对于一个C类子网134.132.21.0,它可以连接254台主机,这些主机的IP地址从134.132.21.1到134.132.21.254。

论坛徽章:
0
94 [报告]
发表于 2008-04-14 14:43 |只看该作者
21.2 网络配置任务   
假设有一个主机名为tenere,地址为192.168.1.2,掩码为255.255.255.0,默认路由为192.168.1.1,下面介绍如何修改为主机名为host1,地址为10.10.1.5,掩码为255.0.0.0,默认路由为10.10.1.1。

 例21-2 修改主机TCP/IP配置。

(1)成为超级用户或授权角色用户。

(2)进入/etc目录。

#cd /etc

(3)将新的主机名写到/etc/nodename文件中,并删除原来的主机名。

(4)查看系统中的网络端口文件,如/etc/hostname.eri0文件,如果其中写着原来主机的名字tenere,请将其改为host1;如果其IP地址192.168.1.2,请将其改为新的IP地址10.10.1.5。

(5)编辑/etc/inet/hosts文件,将写明原来主机名的条目删除,并增加写下列一行:

10.10.1.5 host1 host1. deserts.worldwide.com

deserts.worldwide.com是主机host1的域名。

(6)在文件/etc/defaultdomain中写入主机的域名,如下:

deserts.worldwide.com

(7)编辑/etc/defaultrouter文件,删除原来的默认路由,写入新的默认地址:10.10.1.1。

(8)编辑/etc/inet/netmasks文件,修改网络掩码,删除192.168.1.0 255.255.255.0一行,加入下面的一行:

10.0.0.0 255.0.0.0

论坛徽章:
0
95 [报告]
发表于 2008-04-14 14:43 |只看该作者
21.3 管理TCP/IP网络   
下面讲述TCP/IP网络的管理。本节不再重复TCP/IP的内容,只是介绍一下Solaris系统在管理网络方面的工具及其使用方法。

1.使用ifconfig命令监控网络端口设置
ifconfig命令负责系统引导时每个网络接口的设置,可以通过-a参数来检查活动网络接口的状态。

 例21-3 检查活动网络接口的状态。

% ifconfig -a

lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1

inet 127.0.0.1 netmask ff000000

qfe0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:b9:4c:54

qfe1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2

inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127 ether 8:0:20:6f:5e:17

在本例中,我们看到有两个网络接口qfe0和qfe1,两个端口都在活动状态,其中一个端口的地址是10.0.0.112,另一个端口的地址是10.0.0.118。

2.使用netstat命令监控网络状态
netstat命令显示网络和网络协议的统计状态。你可以显示TCP、SCTP和UDP协议的状态,也可以显示路由表的信息和端口信息。

 例21-4 显示TCP和SCTP的传输状态。

$ netstat

TCP: IPv4

Local Address Remote Address Swind Send-Q Rwind Recv-Q State

----------------- -------------------- ----- ------ ----- ------ -------

lhost-1.login abc.def.local.Sun.COM. 980 49640 0 49640 0 ESTABLISHED

lhost-1.login ghi.jkl.local.Sun.COM. 1020 49640 1 49640 0 ESTABLISHED

remhost-1.1014 mno.pqr.remote.Sun.COM.nfsd 49640 0 49640 0 TIME_WAIT

SCTP:

Local Address Remote Address Swind Send-Q Rwind Recv-Q StrsI/O State

---------------- -------------- ----- ------ ------ ------ ------ -------

*.echo 0.0.0.0 0 0 102400 0 128/1 LISTEN

*.discard 0.0.0.0 0 0 102400 0 128/1 LISTEN

*.9001 0.0.0.0 0 0 102400 0 128/1 LISTEN

 例21-5 显示路由表信息。

$ netstat -r

Routing Table: IPv4

Destination Gateway Flags Ref Use Interface

-------------------- -------------------- ----- ---- ------ --------

host15 myhost U 1 31059 hme0

10.0.0.14 myhost U 1 0 hme0

default distantrouter UG 1 2 hme0

localhost localhost UH 4201936 1 lo0

Routing Table: IPv6

Destination/Mask Gateway Flags Ref Use If

--------------------------- --------------------------- ----- --- ------ -----

2002:0a00:3010:2::/64 2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U 1 0 hme0:1

fe80::/10 fe80::1a2b:3c4d:5e6f:12a2 U 1 23 hme0

ff00::/8 fe80::1a2b:3c4d:5e6f:12a2 U 1 0 hme0

default fe80::1a2b:3c4d:5e6f:12a2 UG 1 0 hme0

localhost localhost UH 9 21832 lo0

在例21-5中,上半部显示的是IPV4的路由表内容,下半部显示的是IPV6路由表的内容。

3.使用ping命令来探测远端主机
与Windows、Linux主机一样,Solaris使用ping命令来探测远端的主机时候存在。

4.使用traceroute命令来查看路由路径
traceroute命令是用来检查到目的网络的路由途径的。在Windows中,tracert命令与此命令相同。命令的使用和输出如例21-6所示。

 例21-6 检查到farhost.faraway.com主机的路由途径。

istanbul% traceroute farhost.faraway.com

traceroute to farhost.faraway.com (172.16.64.39), 30 hops max, 40 byte packets

1 frbldg7c-86 (172.16.86.1) 1.516 ms 1.283 ms 1.362 ms

2 bldg1a-001 (172.16.1.211) 2.277 ms 1.773 ms 2.186 ms

3 bldg4-bldg1 (172.16.4.42) 1.978 ms 1.986 ms 13.996 ms

4 bldg6-bldg4 (172.16.4.49) 2.655 ms 3.042 ms 2.344 ms

5 ferbldg11a-001 (172.16.1.236) 2.636 ms 3.432 ms 3.830 ms

6 frbldg12b-153 (172.16.153.72) 3.452 ms 3.146 ms 2.962 ms

7 sanfrancisco (172.16.64.39) 3.430 ms 3.312 ms 3.451 ms

可以看出,需要经过7个路由,才能从本主机到达farhost.faraway.com主机。

5.使用snoop命令来查看包的传输
在Solaris系统下,有一个系统内置的网络数据分析和诊断工具snoop,可以抓取以太网中的数据包进行分析,功能和Linux中的tcpdump类似。它可捕获IP 包并将其显示或保存到指定文件。

 例21-7 监听所有以本机为源和目的的包并将其显示出来。

# /usr/sbin/snoop

Using device /dev/pcn0 (promiscuous mode)

192.168.0.2 -> Katty TELNET C port=1366

Katty -> 192.168.0.2 TELNET R port=1366 Using device /dev/pc

192.168.0.2 -> Katty TELNET C port=1366

192.168.0.2 -> Katty TELNET C port=1368

192.168.0.2 -> Katty TELNET C port=1368

Katty -> 192.168.0.2 TELNET R port=1368



 例21-8 监听所有host1和host2之间的包并将其保存到文件file。

# snoop -o file host1 host2

 例21-9 显示文件file中指定的包(第99~108行)。

# snoop – i file -p 99,108

99 0.0027 boutique -> sunroof NFS C GETATTR FH=8E6C

100 0.0046 sunroof -> boutique NFS R GETATTR OK

101 0.0080 boutique -> sunroof NFS C RENAME FH=8E6C MTra001921to .nfs08

102 0.0102 marmot -> viper NFS C LOOKUP FH=561E screen.r.13.i386

103 0.0072 viper -> marmot NFS R LOOKUP No such file or directory

104 0.0085 bugbomb -> sunroof RLOGIN C PORT=1023 h

105 0.0005 kandinsky -> sparky RSTAT C Get Statistics

106 0.0004 beeblebrox -> sunroof NFS C GETATTR FH=0307

107 0.0021 sparky -> kandinsky RSTAT R

108 0.0073 office -> jeremiah NFS C READ FH=2584 at 40960 for 8192

论坛徽章:
0
96 [报告]
发表于 2008-04-14 14:44 |只看该作者
第22章 Solaris DHCP服务   
在本章中,我们将对动态主机配置协议(DHCP)进行讨论。DHCP用基于时间的客户机地址租用方式,可以方便地对网络的IP地址进行动态管理。对于一个网络来说,主机关机后,IP地址就要释放,这样,可以节省很多的IP地址,供给更多需要使用IP地址的主机。

论坛徽章:
0
97 [报告]
发表于 2008-04-14 14:47 |只看该作者
22.1 Solaris DHCP概述   
在常见的小型网络中(如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。因此,我们必须引入一种高效的IP地址分配方法,幸好,DHCP(Dynamic Host Configuration Protocol)为我们解决了这一难题。

22.1.1 DHCP的优缺点
1.DHCP的优点
DHCP服务的优点不少:网络管理员可以验证IP地址和其他配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。

2.DHCP的缺点
但同时也存在不少缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其他服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。

22.1.2 DHCP工作流程
DHCP服务的工作流程是这样的。

1.发现阶段
发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应(如图22-1所示)。

图22-1 DHCP客户机寻找DHCP服务器

2.提供阶段
提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer提供信息(如图22-2所示)。


图22-2 DHCP服务器提供IP地址

3.选择阶段
选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址(如图22-3所示)。

图22-3 DHCP客户机选择某台DHCP服务器提供的IP地址

4.确认阶段
确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回take曾提供的IP地址(如图22-4所示)。


图22-4 DHCP服务器确认所提供的IP地址

5.重新登录
重新登录。以后DHCP客户机每次重新登录网络时,就不需要再给DHCP discover发送发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其他DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

6.更新租约
更新租约。DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。当DHCP客户机启动和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

论坛徽章:
0
98 [报告]
发表于 2008-04-14 14:55 |只看该作者
22.2 如何设置DHCP服务   
下面介绍如何在Solaris 10中设置DHCP服务。我们可以使用两种方法来设置:图形界面方式;命令行方式。

22.2.1 使用DHCP管理器管理DHCP服务
在Solaris 10的/usr/sadm/admin/bin/下,运行./dhcpmgr命令,就可以启动DHCP管理器。图22-5就是DHCP管理器的启动前的初始配置图。


图22-5 选择服务器配置

图22-5中第一个选项是启动配置DHCP服务器的步骤,第二个选项是启动配置BOOTP中继代理的步骤。中继代理的作用是将DHCP服务器分发的IP地址转发给目标BOOTP。当我们输入DHCP服务器和目标BOOTP的地址后,这个中继代理就可以继续运行了。

下面我们还以配置DHCP服务器为例,服务器的配置方法分别如图22-6~图22-23所示。

图22-6 选择数据的存储技术

图22-6选择数据的存储格式。如果我们设有NIS+,可以将数据存在NIS+中,一般在没有NIS+的情况下,可以选择将配置数据存在文件中。本例就选择存储在一个文本文件中。


图22-7 指定存储文件的位置



图22-8 命名服务的选择。在本主机中,不考虑命名服务的管理


图22-9 租用IP地址的策略的管理,可以指定租借期限

图22-10 为客户机指定DNS服务器的地址

图22-11 确定DHCP工作的网络范围

图22-12 指定DHCP工作的网络类型

图22-13 指定NIS或NIS+域,否则请单击“下一步”按钮

图22-14 最后一步,检查以前步骤配置是否正确。如果正确,单击“完成”按钮
在服务器工作环境配置完成之后,就会出现如图22-15所示的地址池配置对话框

图22-15 启动地址配置向导

单击“是”按钮后,出现如图22-16所示的对话框。


图22-16 指定待分配的IP地址池IP个数

图22-17 指定起始的IP地址


图22-18 显示待分配的IP地址池中的IP地址

图22-19 输入客户机的配置信息

图22-20 选择租用类型


图22-21 检查前面步骤时候设置是否正确

单击“完成”按钮,IP地址池的设定就完成了。

图22-22所示的就是DHCP管理器的界面,我们可以看到,刚才设定的DHCP网络已经设定好。

图22-22 DHCP管理器界面

图22-23 从“服务”菜单中,我们可以“停止”或“启动”DHCP服务

至此,使用图形界面管理DHCP服务就介绍完了。我们发现,这个管理方法的确很简单,也很直观。

22.2.2 使用dhcpconfig命令管理DHCP服务
相比图形界面,使用命令行来管理DHCP服务就比较抽象了。所以我们不准备详细介绍命令行了,只让大家有个大致的印象。

设置DHCP服务的命令主要是下面这行:

#/usr/sbin/dhcpconfig -D -r datastore -p location

 datastore 是这三者之一:SunWfiles、SunWbinfiles和SunWnisplus。

 SunWfiles:为文本文件形式。

 SunWbinfiles:为二进制文件形式。

 SunWnisplus:为NIS+形式。

 Location 是储存DHCP设置数据的地方:对于SunWfiles和SunWbinfiles来说,Location应该指定为目录的绝对路径,对SunWnisplus来说,应指定NIS+目录。

删除DHCP服务和DHCP中继的方法如下:

# /usr/sbin/dhcpconfig –U

如果读者想详细了解dhcpconfig命令的使用方法,请参考dhcpconfig(1M)的帮助页面,这里就不再详细介绍了。

论坛徽章:
0
99 [报告]
发表于 2008-04-14 14:59 |只看该作者

22.3 如何设置DHCP客户机

22.3 如何设置DHCP客户机   
DHCP客户机从DHCP服务器中租用的IP地址,并可在一定的时间内使用。如果从服务器中租用IP地址,也需要对客户机做一系列的设置。下面分别介绍在Solaris和Windows系统中设置DHCP客户机的方法。

22.3.1 配置Solaris DHCP客户机

图22-24 重启系统提示
一旦DHCP服务器配置完成,Solaris客户机的配置就非常简单了。当安装客户机时,系统会提示我们安装DHCP支持。此时,如果我们以“yes”回答,则系统将不再像一般安装那样询问静态IP地址的设置,因为该地址将由DHCP服务器分发。










果我们希望在一个已经安装好的客户机上启动DHCP支持,就需要使用sys-unconfig命令,该命令可以用来完成所有系统网络的重新配置。但前提是系统要重新启动。图22-24就是在运行sys-unconfig命令后,系统提示是否重新启动。

输入“y”后,回车。系统将重新引导。直到系统出现如图22-25所示的是否在某个网络端口上使用DHCP对话框。


图22-25 使用DHCP对话框

我们选择“yes”后,按“F2”键继续,一步步按照指示做即可完成设置。

22.3.2 Windows DHCP客户机的配置
在Microsoft Windows客户机的DHCP配置也很简单。我们只要在“控制面板”的“网络和拨号连接”中选定网卡,然后使用鼠标右键,在弹出的快捷菜单中选择“属性”选项,就会出现如图22-26所示的对话框。

然后双击“Internet协议(TCP/IP)”,出现如图22-27所示的对话框。


图22-26 本地连接属性

图22-27 Internet协议(TCP/IP)属性

选择“自动获得IP地址”后,单击“确定”按钮,即设置完Windows的DHCP客户端。

论坛徽章:
0
100 [报告]
发表于 2008-04-14 14:59 |只看该作者
第23章 网络域名服务(DNS)   
在Internet的命名服务中最常用的恐怕就是网络域名服务(DNS)了,所以Solaris 10操作系统也自带了BIND 9 DNS服务器。这章介绍如何设置和管理DNS服务器
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP