Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114514
  • 博文数量: 40
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-02 15:41
文章分类

全部博文(40)

文章存档

2009年(40)

我的朋友
最近访客

分类: 系统运维

2009-06-12 09:26:01

三、设置DHCP服务器

(一)创建配置文件

1、配置文件格式

DHCP端口监督程序dhcpd配置文件是/etc目录中的名为dhcpd.conf的文件。下面手工建立/etc/dhcpd.conf文件,该文件通常包括3个部分,即parameters参数、declarations声明和option选项。

配置文件分为两个部分,即子网配置信息和全局配置信息。

1)子网配置信息。

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

2)全局配置信息。

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

1DHCP配置文件中的parameters

  parameters表明如何执行任务,以及是否要执行任务或将哪些网络配置选项发送给客户端,主要参数如表所示。

   

   

   

ddns-update-style

配置DHCP-DNS互动更新模式

default-lease-time

指定默认租赁时间的长度,单位是秒

max-lease-time

指定最大租赁时间长度,单位是秒,

hardware

指定网卡接口类型和MAC地址

server-name

通知DHCP客户端服务器名称

get-lease-hostnames flag

检查客户端使用的IP地址

fixed-address ip

分配给客户端一个固定的地址

authritative

拒绝不正确的IP地址的要求

      
2DHCP配置文件中的declarations

declarations用来描述网络布局及提供客户的IP地址等,主要声明如下

 

   

   

shared-network

用来告知是否一些子网络共享相同网络

subnet

描述一个IP地址是否属于该子网

range起始IP终止IP

提供动态分配IP的范围

host主机名称

参考特别的主机

Group

为一组参数提供声明

allow unknown-clients

deny unknown-client

是否动态分配IP给未知的使用者

allow bootp;deny bootp

是否响应激活查询

allow bootingdeny booting

是否响应使用者查询

Filename

开始启动文件的名称,应用于无盘工作站

next-server

设置服务器从引导文件中装入主机名,应用于无盘工作站

 

3DHCP配置文件中的option

option用来配置DHCP可选参数,全部用option关键字作为开始,主要选项如表所示。

 

解释

subnet-mask

为客户端设定子网掩码

domain-name

为客户端指明DNS名字

domain-name-servers

为客户端指明DNS服务器的IP地址

host-name

为客户端指定主机名称

routers

为客户端设定默认网关

broadcast-address

为客户端设定广播地址

ntp-server

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

time-offset

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

 

2、开始配置

Dhcp的配置文件是/etc/dhcpd.conf ,并假设整个网络所在的域名:example.com

 

#定义DHCP客户使用的DNS 服务器,多个DNS请使用逗号分割

option domain-name-servers 192.168.0.17, 203.56.8.1;

#客户端IP租约的默认期限

default-lease-time 259200;   

#客户端IP租约的最高期限,客户端用于无法从服务器获得任何信息的时间,超过该时间则会

丢弃之前从该DHCP服务器获得的所有信息,而转向使用OS的默认设置。

max-lease-time 777600;

#第一和第二行我定义出客户端IP租约的默认期限和最高期限﹐数值以秒来计算﹐也就是

三天’和‘九天’

 

#定义DHCP客户使用的NIS的域名

option nis-domain  "domain.org";

#option ntp-servers  192.168.1.1
#option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#option netbios-node-type 2;

 

#定义DHCP客户设置与格林威治时间的偏移差

option time-offset  -18000; # Eastern Standard Time

 

#指定客户端更新IP对应的域名信息所使用的方法,。

#支持DNS动态更新

ddns-update-style interim;        

#忽略客户端更新DNS记录

ignore client-updates;               

 

 

#设置用于定义服务器从引导文件装入的主机名,一般不用(仅用于设置无盘工作站)

#next-server marvin.redhat.com;

 

#为提供DHCP服务的第一块网卡设置这个网卡所在网段的相关配置信息。

subnet 192.168.0.0 netmask 255.255.255.0 {

#定义这个网段的需要分配的DHCP 地址池,范围是192.168.0.21192.168.0.30;

#这里采用的是动态分配方式。

range dynaic-bootp  192.168.0.21 192.168.0.30;

#定义这个网段的需要分配的DHCP 地址池,范围是192.168.0.121192.168.0.230;

#这里采用的是自动分配方式。

range 192.168.0.121 192.168.0.230;

#设置这个网段的子网掩码,注意是否和上面的netmask相同?

option subnet-mask 255.255.255.0;

#这个网卡所在网段的域名,也就是定义DHCP客户所在域名

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

#定义这个网段的广播地址

option broadcast-address 192.168.0.255;

#定义这个网段的默认的路由器,多个路由器请使用逗号分割

option routers 192.168.0.17;

 

#pii266 这台主机永远都使用一个固定的 IP 地址(不受DHCP影响)。这可以应用在服务器使用固定的IP地址的情况下。

host pii266 {

# pii266MAC地址

hardware ethernet 48:54:E8:27:75:77;

# pii266的固定的IP地址,注意这里的IP地址不能在上面的scope范围内!

fixed-address 192.168.0.15;

}

}

 

#为提供DHCP服务的第二块网卡设置这个网卡所在网段的相关配置信息

subnet 203.30.35.128 netmask 255.255.255.224 {

range 203.30.35.140 203.30.35.157;

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

option broadcast-address 203.30.35.159;

option routers 203.30.35.134

}

 

(二)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

 

 

阅读(1067) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~