首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 认证考试 > Linux认证 >

DHCP服务器的安装和故障排除(2)

2008-11-12 
DHCP的前身是BOOTP,它工作在OSI的应用层,是一种帮助计算机从指定的DHCP服务器获取配置信息的自举协议。

DHCP配置文件中的option

  option用来配置DHCP可选参数,全部用option关键字作为开始,主要选项如表8-3所示。表8-3 DHCP配置文件中option关键字的主要选项 选 项
解 释

  subnet-mask
  为客户端设定子网掩码

  domain-name
   为客户端指明DNS名字

  domain-name-servers
   为客户端指明DNS服务器的IP地址

  host-name
   为客户端指定主机名称

  routers
  为客户端设定默认网关

  broadcast-address
  为客户端设定广播地址

  ntp-server
  为客户端设定网络时间服务器的IP地址

  time-offset
  为客户端设定格林威治时间的偏移时间,单位是秒

  配置实例

  在下面的实例中使用一个example.com的虚拟域名,用户需要修改其中的内容以满足网络的需求。/etc/dhcpd.conf文件的内容如下:

# The options outside a subnet directive are global unless

# over-ridden by the same setting inside the subnet directive.

option domain-name-servers 192.0.34.43, 193.0.0.236;

default-lease-time 6000; max-lease-time 7200;# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.authoritative;

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslog.conf to complete the redirection).log-facility local7;

# Handle client dynamic dns updates

ddns-update-style none;# Example Network 1 ( on eth0 )

subnet 192.168.200.0 netmask 255.255.255.0 {

option domain-name "corp.example.com";

range 192.168.200.100 192.168.200.200;

option routers 192.168.200.254;

}

  上面的实例配置文件分为两个部分,即子网配置信息和全局配置信息。可以有多个子网,这里为了简化,只指定了一个子网。

(1)Subnet。

  在上面的例子中,一个子网声明以“subset”关键字开始,所以子网信息包括在{}中。{}中的配置信息只对该子网有效,会覆盖全局配置。

(2)Global。

  所有子网以外的配置都是全局配置,如果同一个全局配置没有被子网配置覆盖,则其将对所有子网生效。

(3)Configuration Options。

  下面是上例中配置指令的解释说明。

  option domain-name-servers 192.0.34.43, 193.0.0.236;

  这一行指定客户端应该使用的DNS服务器,该选项可以用于全局参数或者子网参数。

  default-lease-time 6000; max-lease-time 7200;

  这两行是相关的,default-lease-time指定客户端需要刷新配置信息的时间间隔(秒),max-lease-time为客户端用于无法从服务器获得任何信息的时间,超过该时间则会丢弃之前从该DHCP服务器获得的所有信息,而转向使用OS的默认设置。

  authoritative;

  指定当一个客户端试图获得一个不是该DHCP服务器分配的IP信息,DHCP将发送一个拒绝消息,而不会等待请求超时。当请求被拒绝,客户端会重新向当前DHCP发送IP请求获得新地址。

  log-facility daemon;

  指定DHCP服务器发送的日志信息的日志级别。

  ddns-update-style none;

  该配置可以指定一个方法,客户端用该方法来更新IP对应的域名信息,本例中禁用了该特性。

subnet 192.168.200.0 netmask 255.255.255.0 {

option domain-name "corp.example.com";

range 192.168.200.100 192.168.200.200;

option routers 192.168.200.254;

}

  上面内容为子网配置,第1行指定该子网地址和掩码。DHCP服务器必须拥有该子网的一个IP,domain-name设置该客户端的域名。DHCP服务器可以负责整个子网的信息,也可以只负责子网的一段。

option routers配置默认网关IP。

启动DHCP服务器

  1.建立客户端租约文件

  运行DHCP服务器还需要一个名为“dhcpd.leases”的文件,其中保存所有已经分发的IP地址。在Red Hat Linux发行版本中,该文件位于/var/lib/dhcp/目录中。如果通过RPM安装ISC DHCP,那么该目录应该已经存在。dhcpd.leases的文件格式为:

Leases address {statement}

一个典型的文件内容如下:

lease 192.168.1.255 { #DHCP服务器分配的IP地址#

starts 1 2005/05/02 03:02:26; # lease 开始租约时间#

ends 1 2005/05/02 09:02:26; # lease 结束租约时间#

binding state active;

next binding state free;

hardware ethernet 00:00:e8:a0:25:86; #客户机网卡MAC地址#

uid "\001\000\000\350\240%\206"; #用来验证客户机的UID标志#

client-hostname "cjh1"; #客户机名称#

}

注意:lease开始租约时间和lease结束租约时间是格林威治标准时间(GMT),不是本地时间。

  第1次运行DHCP服务器时,dhcpd.leases是一个空文件,也不用手工建立。如果不是通过RPM安装ISC DHCP,或者dhcpd已经安装,那么应该试着确定dhcpd将其lease文件写到何处并确保该文件存在。也可以手工建立一个空文件:

#touch /var/lib/dhcp/dhcpd.leases

  2.启动和检查DHCP服务器

  使用命令启动DHCP服务器:

#service dhcpd start

使用ps命令检查dhcpd进程:

#ps -ef | grep dhcpd

root 2402 1 0 14:25 ? 00:00:00 /usr/sbin/dhcpd

root 2764 2725 0 14:29 pts/2 00:00:00 grep dhcpd

使用netstat检查dhcpd运行的端口:

# netstat -nutap | grep dhcpd

udp 0 0 0.0.0.0:67 0.0.0.0:* 2402/dhcpd

  3.设置DHCP转发代理

  DHCP的转发代理(dhcrelay)允许把无DHCP服务器子网内的DHCP和BOOTP请求转发给其他子网内的一台或多台DHCP服务器。当某个DHCP客户端请求信息时,DHCP转发代理把该请求转发给DHCP转发代理启动时所指定的一台DHCP服务器。当某台DHCP服务器返回一个回应时,该回应被广播或单播给发送最初请求的网络。除非使用INTERFACES指令在/etc/sysconfig/dhcrelay文件中指定了接口,否则DHCP转发代理监听所有接口上的DHCP请求。要启动DHCP转发代理,使用命令:

service dhcrelay start

  4.从指定端口启动DHCP服务器

如果系统连接不止一个网络接口,但是只想让DHCP服务器启动其中之一,则可以配置DHCP服务器只在相应设备上启动。在/etc/sysconfig/dhcpd中,把接口的名称添加到DHCPDARGS的列表中:

# Command line options here

DHCPDARGS=eth0

如果有一个带有两块网卡的防火墙机器,这种方法就会大派用场。一块网卡可以被配置成DHCP客户端从互联网上检索IP地址;另一块网卡可以被用做防火墙之后的内部网络的DHCP服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接其守护进程。

其他可在/etc/sysconfig/dhcpd中指定的命令行选项如下。

(1)-p<portnum>:指定dhcpd应该监听的UDP端口号码,默认值为67。DHCP服务器在比指定的UDP端口大一位的端口号上把回应传输给DHCP客户端。例如,如果使用默认端口67,服务器就会在端口67上监听请求,然后在端口68上回应客户。如果在此处指定了一个端口号,并且使用了DHCP转发代理,所指定的DHCP转发代理所监听的端口必须是同一端口。

(2)-f:把守护进程作为前台进程运行,在调试时最常用。

(3)-d:把DCHP服务器守护进程记录到标准错误描述器中,在调试时最常用。如果未指定,日志将被写入/var/log/messages中。

(4)-cf<filename>:指定配置文件的位置,默认为/etc/dhcpd.conf。

(5)-lf<filename>:指定租期数据库文件的位置。如果租期数据库文件已存在,在DHCP服务器每次启动时使用同一个文件至关重要。建议只在无关紧要的机器上为调试目的才使用该选项,默认为/var/lib/dhcp/dhcpd.leases。

(6)-q:在启动该守护进程时,不要显示整篇版权信息

热点排行