<本章目标>

■ 掌握Linux系统网络配置

■ 掌握DHCP和NIS的服务器配置和客户端使用

■ 使用DHCP中继代理实现跨网段的网络地址自动分配

■ 使用NIS服务实现主机和用户帐户的同步

<章节内容> 1.1 LINUX系统网络配置

在开始使用Linux网络之前,必须了解Linux网络相关配置文件所在的目录与文件名以及相关的设置命令,并熟记这些网络配置文件和命令,这样在进行网络测试与修改时就会事半功倍。

1.1.1 更改主机名

比如主机名为gouzhongxing,ip地址为192.168.20.2

1. 修改系统信息,/etc/sysconfig/network的主要功能是修改主机名称(HOSTNAME)与是否启动Network。

# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=gouzhongxing.xapc.com

2. 修改/etc/hosts里面的名字,为自己的域名加上解析。/etc/hosts文件是用于记录计算机的IP对应的主机名称或主机的别名。

# tail -2 /etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.20.2 gouzhongxing.xapc.com

3. 最后在终端下执行:

# hostname gouzhongxing.xapc.com

特别提示:三处修改的名字要保持一致,否则会出现问题。

1.1.2 配置 IP 地址 / 子网掩码 / 网关 /DNS

方法1:使用 netconfig/system-config-network

方法2:直接修改网卡的配置文件

在/etc/sysconfig/network-scripts目录中,编辑ifcfg-eth0文件。

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

IPADDR=192.168.20.2 # 要设置的ip

NETMASK=255.255.254.0 # 要设置的子网掩码

GATEWAY=192.168.20.1 # 要设置的网关

HWADDR=00:0c:29:4f:3d:c8 # 要设置的网卡地址

为主机设置DNS服务器地址

# cat /etc/resolv.conf

nameserver 192.168.20.2 # 要设置的DNS服务器地址

设置完成后,重新启用一下网卡设置后配置文件生效

# /etc/rc.d/init.d/network restart

# service network restart

1.1.3 查看和快速设置 IP 地址的命令 ——ifconfig

ifconfig命令用于查看和更改网络接口的地址和参数

一个更改网络接口的IP地址的例子:

# ifconfig eth0 down

# ifconfig eth0 211.101.149.233 netmask 255.255.255.0 up

1.2 DHCP服务和中继代理 1.2.1 知识回顾

DHCP称为动态主机配置协议。DHCP服务允许工作站连接到网络并且自动获取一个IP参数。配置DHCP服务的服务器可以为每一个网络客户提供IP地址、子网掩码、缺省网关、WINS服务器的IP地址,以及DNS服务器的IP地址等。

DHCP协议中的数据包类型(7种报文)分别是:DHCPDISCOVER包、DHCPOFFER包、DHCPOFFER包、DHCPACK包、DHCPDECLINE包、DHCPNAK包、DHCPRELEASE包。

一个完整的IP租约生成过程如下图所示:

clip_image001

1. IP租用请求。DHCP客户机启动计算机后,通过UDP端口67广播一个DHCPDISCOVER信息包,向网络上的任意一台DHCP服务器请求提供IP租约。

2. IP租用提供。网络上所有的DHCP服务器都会收到此信息包,每台DHCP服务器通过UDP端口68给DHCP客户机回应一个DHCPOFFER广播包,提供一个IP地址。

3. IP租用选择。客户机从不止一台DHCP服务器收到提供后,会选择第一个收到的DHCPOFFER包,并向网络中广播一个DHCPREQUEST消息包,表明自己已经接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。

4. IP租约确认。被客户机选择的DHCP服务器在接收到DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包中发给客户机。客户机在收到DHCPACK包后,会使用该广播包中的信息来配置自己的TCP/IP,则租用过程完成,客户机可以在网络中通信。

1.2.2 DHCP 服务的相关文件

■ 软件包名称为 dhcp

■ 配置文件为 /etc/dhcpd.conf

■ 模板文件为 /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample

■ DHCP租约文件 /var/lib/dhcp/dhcpd.leases

■ 指定那块网卡提供DHCP服务 /etc/sysconfig/dhcpd

■ 系统日志 /var/log/messages

1.2.3 DHCP 中继代理

一、在网络中部署DHCP

■ 在单物理子网环境中部署DHCP

在单物理子网环境中,为了均衡负载和提供容错能力,通常会配置两台DHCP服务器,在实际应用中较好的解决方案是使用80/20规则来平衡两台DHCP服务器的使用。一台性能较好的DHCP配置成主服务器。

■ 在多物理子网环境中部署DHCP

由于DHCP在分配IP地址时是使用广播方式通信,但路由器就是会隔离广播。默认情况下,一个物理子网中的DHCP服务器是无法为其它物理子网中的DHCP客户端分配IP地址的。为了使网络中所有的DHCP客户端都能获得IP地址租约,可以采取两种方案:一种是每个物理子网中都配置一台或两台DHCP服务器;另一种是在一个物理子网中配置一台DHCP服务器,在其它物理子网中使用DHCP中继代理。两种方案均使用80/20规则。在实际应用中后一种解决方案比较常用。

二、使用DHCP中继代理

其工作过程是:

(1)收到本子网的DHCP客户端广播发出的DHCP消息后,如果在预定的时间内没有DHCP服务器广播发出DHCP回应消息,则会将客户端的DHCP消息以单播方式转发给指定的DHCP服务器。

(2)DHCP服务器收到 DHCP中继代理转发来的DHCP消息后,会提供一个与DHCP中继代理的IP地址在同一子网的IP地址,然后以单播方式将回应的DHCP消息发送给DHCP中继代理。

(3)DHCP中继代理收到DHCP服务器回应的DHCP消息后,再通过广播方式发送给DHCP客户端。

这样以单播方式就不会受到路由器的限制。

1.2.6 实现 DHCP 中继代理的三个重要步骤

1、设置配置文件

# cat /etc/sysconfig/dhcrelay

INTERFACES=“eth0 eth1”

DHCPSERVERS=“192.168.20.2”

2、开启路由转发功能

# echo “1” &gt; /proc/sys/net/ipv4/ip_forward

3、启动中继代理服务

# service dhcrelay start

1.3 DHCP中继代理配置实例

网络拓扑结构如图,首先确保网络畅通。

clip_image003

步骤一:Linux A上配置DHCP服务,可以为两个子网提供服务

步骤二:Linux B上配置DHCP中继代理

步骤三:windows XP作为192.168.100.0网段的客户端获取IP地址

具体实现过程如下:

步骤一、在dhcp服务器Linux C上做如下设置:

查看dhcp软件包是否安装

[root@xapc ~]# rpm -q dhcp

package dhcp is not installed

挂载第四张安装光盘

[root@xapc ~]# mount /dev/cdrom /media

mount: block device /dev/cdrom is write-protected, mounting read-only

安装dhcp软件包

[root@xapc ~]# rpm -ivh /media/Server/dhcp-3.0.1-12_el5.i386.rpm

warning: /media/Server/dhcp-3.0.1-12_EL.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186

Preparing... ########################################### [100%]

1:dhcp ########################################### [100%]

复制配置文件模板

[root@xapc ~]# cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf

修改后的配置文件内容如下:

[root@xapc ~]# cat /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.20.0 netmask 255.255.255.0 {

# --- default gateway

option routers 192.168.20.2;

option subnet-mask 255.255.255.0;

option domain-name-servers 192.168.20.2;

range 192.168.20.128 192.168.20.254;

default-lease-time 21600;

max-lease-time 43200;

# we want the nameserver to appear at a fixed address

host ns {

next-server marvin.redhat.com;

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 192.168.13.222

}

}

在配置文件中增加如下内容:

subnet 192.168.100.0 netmask 255.255.255.0 {

# --- default gateway

option routers 192.168.100.1;

option subnet-mask 255.255.255.0;

option domain-name-servers 192.168.20.2;

range 192.168.100.128 192.168.100.254;

default-lease-time 21600;

max-lease-time 43200;

}

启动dhcpd服务

[root@xapc ~]# service dhcpd start

Starting dhcpd: [ OK ]

步骤二、在dhcp中继代理Linux B上做如下配置:

eth0及eth1设置如下:

[root@xapc ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:89:5E:16

inet addr:192.168.20.1 Bcast:192.168.20.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe89:5e16/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1415 errors:0 dropped:0 overruns:0 frame:0

TX packets:35 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:161233 (157.4 KiB) TX bytes:4361 (4.2 KiB)

Interrupt:185 Base address:0x1400

eth1 Link encap:Ethernet HWaddr 00:0C:29:89:5E:20

inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe89:5e20/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:1434 errors:0 dropped:0 overruns:0 frame:0

TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:164142 (160.2 KiB) TX bytes:840 (840.0 b)

Interrupt:169 Base address:0x1480

同Linux C一样检查并安装dhcp软件包

[root@xapc ~]# rpm -q dhcp

package dhcp is not installed

[root@xapc ~]# mount /dev/cdrom /media

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@xapc ~]# rpm -ivh /media/Server/dhcp-3.0.1-12_EL.i386.rpm

warning: /media/cdrom/Server/dhcp-3.0.1-12_EL.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:dhcp ########################################### [100%]

修改dhcp中继的配置文件如下:

[root@xapc ~]# cat /etc/sysconfig/dhcrelay

# Command line options here

INTERFACES="eth0 eth1"

DHCPSERVERS="192.168.20.2"

启动dhcprelay服务

[root@xapc ~]# service dhcrelay start

Starting dhcrelay: [ OK ]

启用ip转发

[root@xapc ~]# echo "1" &gt; /proc/sys/net/ipv4/ip_forward

步骤三、这时,可以在Linux A上进行IP的自动获取。

在dhcp客户端Linux A自动获取IP后,查看dhcp服务器Linux C上的数据库文件:

[root@xapc ~]# tail -7 /var/lib/dhcp/dhcpd.leases

lease 192.168.20.2 {

starts 6 2011/10/28 09:23:32;

ends 6 2011/10/28 15:23:32;

binding state active;

next binding state free;

hardware ethernet 00:0c:29:55:3a:2e;

}

dhcp服务器已经成功为192.168.20.0网段分配IP。

1.4 NIS服务

NIS(网络信息服务)也称YP(Yellow Pages)协议,是一个提供目录服务的RPC(远程过程调用)应用服务。NIS简化了UNIX和LINUX桌面客户的管理工作,客户端利用它可以使用中心服务器的管理文件。桌面系统的用户无需建立他们自己的/etc/passwd,他们只简单的使用维护在NIS服务器的文件即可。

NIS是一个客户机/服务器系统,ypbind是定义NIS服务器的客户端进程。一旦确定了服务器位置,客户机绑定到了服务器上,所以客户端的查询都发往服务器。ypserv是回答客户端查询的服务器进程。

NIS服务器集中维护用户的帐号信息(数据库)供NIS客户机进行查询,又称为NIS映射表。

yp-tools/ypbind,ypserv三个软件包,用来安装NIS服务器,安裝linux時可以选择安裝。

1.4.1 ypserv.conf 文件

服务器端有两个配置文件,ypserv.conf和securenets文件,用于定义安全性。securenets文件用于对NIS客户端主机进行访问控制,需要手工建立。

ypserv.conf的语法格式

host:map:security:[mangle[]]

各字段含义如下:

■ host 授权或禁止访问的计算机,它由地址/掩码对确定。例如 192.168.1.0/255.255.255.0。* 表示所有主机。

■ map 该字段表示访问的NIS映射表项名称。例如:passwd.byuid。* 表示映射表 中所有的字段都可用。

■ security 授权访问类型

l none 允许访问,不加强安全性。

l port 允许特权端口访问。只接收源端口小于1024的连接。

l deny 禁止访问。

l des 访问时需要数字加密标准(DES)认证。

举例如下:

# Host : MAP : Security : mangle

192.168.1.0/255.255.255.0 : * : none : no

* : * : deny : no

1.4.2 yp.conf 文件

/etc/yp.conf是客户端ypbind进程的配置文件。如果找不到yp.conf文件,ypinit进程使用nisdomainname 命令返回的NIS域名,广播定位NIS服务器。ypbind将绑定到第一个相应请求的服务器上。

ypserver hostname

domain nisdomain broadcast | server hostname

其中,hostname,nisdomain字符为变量。

使用ypserver配置选项为客户机指定服务器。yp.conf文件包括ypserver选项时,客户机使用命令nisdomainname返回的NIS域名,向ypserver命令的hostname字段指定的服务器发出请求。/etc/hosts文件中必须包含该主机的IP地址,DNS是取代的HOSTS的,在DNS中设定也是可以的。ypserver选项强制客户机连接到特定的服务器上。

在yp.conf文件中使用domain选项定义了NIS域名,指出客户机是广播定位还是直接向服务器发送请求。

例子:

# tail -1 /etc/yp.conf

domain xapc server xapcserver

其中xapc作为域名,jh是这个域的服务器。xapcserver在hosts中必须有相对应的IP地址,或者DNS能够对域名xapcserver进行解析。

1.4.3 nsswitch.conf 文件

WINDOWS 2003的域跟NIS非常类似,在局域网内有一台WIN2003域控制器,下面有一些机器加入到这个域中,当域中的机器登录时,有一个选项是选择登入到本机还时登入到域内,登入本地的密码由本机控制,但是如果登入域内,密码则有域控制器负责管理。

LINUX也是网络操作系统,跟WIN2003没有本质的区别,LINUX使用重要的文件/etc/nsswitch.conf来控制登录。

nsswitch.conf文件不仅能处理主机表和DNS之间的优先次序,还能处理其它的问题。它为几个不同的系统管理数据库定义来源

由nsswitch.conf控制的数据库:

■ alias EMAIL别名

■ ethers 用于RARP的以太网地址。

■ hosts 主机名和IP地址

■ password 用户帐号信息。

还有许多,没有列出来。

例一:使用不带NIS的nsswitch.conf

password: files

shadow: files

...........

hosts: dns files

最后一句很重要,dns在先,files在后,这里的files指的是/etc/hosts文件,如果有客户端查询的时候,先找dns,再找files。这一句决定了顺序。

例二:使用带NIS的nsswitch.conf example:

hosts: files nis dns

protocols: nis files

.........

........

........

nsswich.conf文件已经取代了hosts.conf,因为它可以提供更多的资源控制方式。LINUX系统中通常这两个文件都有,但实际上起作用的是nsswitch.conf文件。

1.4.4 NIS 测试及故障排除

NIS客户端应该绑定到服务器。ypwhich命令可以检测客户端是否正确的连接到服务器。

如果客户机正确的绑定到服务器,用ypcat可以检测服务器提供的信息。

如果NIS软件不正常工作,则可以检查如下几项内容:

■ 确认进程正在进行。使用ps auxw命令列出所有正在运行的进程,确认该进程正在运行。

■ 检查系统日志(/var/log)文件,查看是否有消息指明影响配置的外设问题。

■ 如果进程看上去在运行但是没有响应,杀死它们并重新启动。在某些情况,守护程序工作不正常,需要重新启动。

■ 确认/etc/nsswitch.conf配置文件正确。通常问题都出现在这里。

1.5 NIS服务配置实例

clip_image005

步骤一 Linux B上配置NIS Server,基本设置步骤如下:

1、安装NIS服务器软件包

2、设置time和time-udp服务的启动状态

3、建立服务器中的NIS域名

4、设置ypserv服务的配置文件

5、启动NIS服务器

6、构建NIS数据库

步骤二 Linux A作为NIS Client验证NIS服务

1、安装NIS客户机软件包

2、设置hosts文件中的NIS服务器主机记录

3、建立NIS的域名

4、设置yp.conf配置文件

5、设置nsswitch.conf文件

6、启动ypbind服务程序

7、使用NIS客户机测试与NIS服务器的连接

8、NIS客户端用户登录

具体实现过程如下:

步骤一 Linux B上配置NIS Server

1、 检查NIS服务器端软件包是否已经安装

[root@xapc ~]# rpm -qa | grep yp

libgcrypt-1.2.0-3

freetype-2.1.9-1

ypbind-1.17.2-3

crypto-utils-2.1-4

perl-Crypt-SSLeay-0.51-5

beecrypt-3.1.0-6

cryptsetup-0.1-4

yp-tools-2.8-7

pyparted-1.6.8-2

[root@xapc ~]#

挂载光盘安装未安装的软件包

[root@xapc ~]# mount /dev/cdrom /media/cdrom/

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@xapc ~]# rpm -ivh /media/cdrom/RedHat/RPMS/ypserv-2.13-5.i386.rpm

warning: /media/cdrom/RedHat/RPMS/ypserv-2.13-5.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:ypserv ########################################### [100%]

[root@xapc ~]#

2、启动time和time-udp服务

修改time和time-udp服务的配置

[root@xapc ~]# chkconfig time on

[root@xapc ~]# chkconfig time-udp on

[root@xapc ~]# service xinetd restart

Stopping xinetd: [ OK ]

Starting xinetd: [ OK ]

[root@xapc ~]#

3、加入域xapc,并修改相应的配置文件和脚本

[root@xapc ~]# nisdomainname

(none)

[root@xapc ~]# nisdomainname xapc

修改后的系统配置文件

[root@xapc ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=xapc.com

NISDOMAIN=xapc

修改后的系统启动脚本

[root@xapc ~]# cat /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/bin/nisdomainname xapc

4、将主配置文件最后一行的注释标记去掉

[root@xapc ~]# tail /etc/ypserv.conf

# If you comment out the next rule, ypserv and rpc.ypxfrd will

# look for YP_SECURE and YP_AUTHDES in the maps. This will make

# the security check a little bit slower, but you only have to

# change the keys on the master server, not the configuration files

# on each NIS server.

# If you have maps with YP_SECURE or YP_AUTHDES, you should create

# a rule for them above, that's much faster.

* : * : * : none

定义客户端访问控制

[root@xapc ~]# cat /var/yp/securenets

255.255.255.0 192.168.11.0

5、检查portmap服务是否已经启动

[root@xapc ~]# service portmap status

portmap (pid 1816) is running...

启动ypserv服务

[root@xapc ~]# service ypserv start

Starting YP server services: [ OK ]

6、添加域用户zhang3

[root@xapc ~]# useradd zhang3

[root@xapc ~]# passwd zhang3

Changing password for user zhang3.

New UNIX password:

BAD PASSWORD: it is too simplistic/systematic

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

生成map映像数据库文件,键入CTRL+D即可。此时,系统会在/var/yp/目录下生成一个xapc子目录。里面包含许多映像文件。

[root@xapc ~]# /usr/lib/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS

servers. xapc.com is in the list of NIS server hosts. Please continue to add

the names for the other hosts, one per line. When you are done with the

list, type a <control D>.

next host to add: xapc.com

next host to add:

The current list of NIS servers looks like this:

xapc.com

Is this correct? [y/n: y] y

We need a few minutes to build the databases...

Building /var/yp/xapc/ypservers...

Running /var/yp/Makefile...

gmake[1]: Entering directory `/var/yp/xapc'

Updating passwd.byname...

Updating passwd.byuid...

Updating group.byname...

Updating group.bygid...

Updating hosts.byname...

Updating hosts.byaddr...

Updating rpc.byname...

Updating rpc.bynumber...

Updating services.byname...

Updating services.byservicename...

Updating netid.byname...

Updating protocols.bynumber...

Updating protocols.byname...

Updating mail.aliases...

gmake[1]: Leaving directory `/var/yp/xapc'

xapc.com has been set up as a NIS master server.

Now you can run ypinit -s xapc.com on all slave server.

查看生成后的map映像数据库文件

[root@xapc ~]# ls -l /var/yp/xapc/

total 432

-rw------- 1 root root 12430 May 10 09:44 group.bygid

-rw------- 1 root root 12438 May 10 09:44 group.byname

-rw------- 1 root root 12463 May 10 09:44 hosts.byaddr

-rw------- 1 root root 12664 May 10 09:44 hosts.byname

-rw------- 1 root root 13204 May 10 09:44 mail.aliases

-rw------- 1 root root 13081 May 10 09:44 netid.byname

-rw------- 1 root root 12479 May 10 09:44 passwd.byname

-rw------- 1 root root 12475 May 10 09:44 passwd.byuid

-rw------- 1 root root 29187 May 10 09:44 protocols.byname

-rw------- 1 root root 14498 May 10 09:44 protocols.bynumber

-rw------- 1 root root 16377 May 10 09:44 rpc.byname

-rw------- 1 root root 14229 May 10 09:44 rpc.bynumber

-rw------- 1 root root 49714 May 10 09:44 services.byname

-rw------- 1 root root 102400 May 10 09:44 services.byservicename

-rw------- 1 root root 12352 May 10 09:44 ypservers

[root@xapc ~]#

至此,NIS服务器端配置完毕。

步骤二 Linux A作为NIS Client验证NIS服务

1、 检查NIS客户端软件包是否已经安装。NIS客户机需要安装ypbind和yp-tools两个软件包,ypbind和yp-tools软件包是RHEL4中默认安装的

[root@xapc ~]# rpm -qa | grep yp

libgcrypt-1.2.0-3

freetype-2.1.9-1

ypbind-1.17.2-3

crypto-utils-2.1-4

perl-Crypt-SSLeay-0.51-5

beecrypt-3.1.0-6

cryptsetup-0.1-4

yp-tools-2.8-7

pyparted-1.6.8-2

[root@xapc ~]#

2、 设置hosts文件中的NIS服务器主机记录,NIS客户机需要通过主机名访问NIS服务器

[root@xapc ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 xapc.com xapc localhost.localdomain localhost

192.168.11.11 xapcserver

3、 加入域xapc,NIS客户机中建立NIS域名的操作与NIS服务器中相同。

[root@xapc ~]# nisdomainname

(none)

[root@xapc ~]# nisdomainname xapc

[root@xapc ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=xapc.com

NISDOMAIN=xapc

[root@xapc ~]# cat /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

/bin/nisdomainname xapc

4、设置客户端yp.conf配置文件,增加最后一行。NIS客户机的配置文件是yp.conf

yp.conf文件中需要设置NIS域名和服务器主机名称。

[root@xapc ~]# tail /etc/yp.conf

# ypserver HOSTNAME

# Use server HOSTNAME for the local domain. The

# IP-address of server must be listed in /etc/hosts.

#

# broadcast

# If no server for the default domain is specified or

# none of them is rechable, try a broadcast call to

# find a server.

#

domain xapc server xapcserver

4、 设置nsswitch.conf文件,文件中需要添加使用nis作为主机信息的查询方式

[root@xapc ~]# cat /etc/nsswitch.conf | grep nis

# nis or yp Use NIS (NIS version 2), also called YP

# nisplus or nis+ Use NIS+ (NIS version 3), unsupported

#passwd: db files ldap nis

#shadow: db files ldap nis

#group: db files ldap nis

passwd: files nis

shadow: files nis

group: files nis

#hosts: db files ldap nis dns

5、 ypbind服务程序需要portmap服务的支持,检查portmap服务是否已经启动

[root@xapc ~]# service portmap status

portmap (pid 1798) is running...

启动ypbind服务

[root@xapc ~]# service ypbind start

Binding to the NIS domain: [ OK ]

Listening for an NIS domain server.

7、测试客户端能否找到服务器,查看能访问的map映像数据库文件。yp-tools软件包中提供了三个测试命令:

■ yptest命令可对NIS服务器进行自动测试

■ ypwhich命令可显示NIS客户机所使用的NIS服务器的主机名称和数据库文件列表

■ ypcat命令显示数据库文件列表和指定数据库的内容

[root@xapc ~]# ypwhich

xapcserver

[root@xapc ~]# ypcat -x

Use "ethers" for map "ethers.byname"

Use "aliases" for map "mail.aliases"

Use "services" for map "services.byname"

Use "protocols" for map "protocols.bynumber"

Use "hosts" for map "hosts.byname"

Use "networks" for map "networks.byaddr"

Use "group" for map "group.byname"

Use "passwd" for map "passwd.byname"

[root@xapc ~]#

8、使用域用户zhang3登陆,成功!

[root@xapc ~]# su zhang3

bash-3.00$

<本章实验>

clip_image007

任务1:安装配置DHCP服务器及中继代理,在客户端获取IP地址

注意事项

提示1:dhcpd.conf配置文件缺省不存在,需要手工建立

提示2:dhcpd.conf配置文件中的任何错误配置都可能导致dhcpd服务程序不能正常启动

任务2:安装配置NIS服务器和NIS客户机,验证用户登录

注意事项

提示1:NIS服务器和客户机中都需要较多的配置步骤,要按照顺序进行配置

提示2:NIS服务器和客户机中都需要运行相应的服务程序,portmap服务程序需要提前启动

提示3:网络防火墙有可能造成NIS服务器和客户机连接失败,必要时可以关闭两端主机中的防火墙

<本章总结>

■ DHCP服务器可向DHCP客户机提供IP地址、缺省网关地址等配置信息

■ RHEL4系统中包括dhcpd服务器的安装包,需要手工进行安装

■ DHCP服务器的主配置文件是dhcpd.conf,dhcpd.conf文件中包括声明、参数和选项三类设置内容

■ Linux系统作为DHCP客户机需要设置网络接口配置文件,并重新启动网络接口

■ NIS服务可以对系统中的用户帐号等信息进行集中管理;一台NIS服务器可以为多台NIS客户机提供信息查询服务;NIS服务器需要运行ypserv和yppasswdd两个网络服务程序;ypserv服务的配置文件是ypserv.conf

■ NIS客户机需要运行ypbind服务程序,ypbind服务的配置文件是yp.conf