您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux DHCP 服务器

添加时间:2011-1-30  添加: admin 
1概述

     在TCP/IP 的网络中,任何计算机在存取、使用网络资源之前,都必须正确的配置自身计算机的网络参数,如:IP地址、子网掩码、默认网关等等网络通信必不可少的参数和策略。对于一个大型网络而言,网络的管理和维护对于网络管理员来说是一个繁重而且艰巨的任务,首先,当络结构发生改变,一台甚至多台计算机需要重新设置网络,这样无形的网络管理员增加了很大的工作量。其次,IP地址等资源的严重匮乏,导致必须科学的、高效的分配、使用面临枯竭的IP网络地址资源,因此需要一种机制来让TCP/IP的配置和管理从客户端移动到网络管理端,实现IP地址由网络管理员集中管理,并且可以科学的分配IP地址资源。

     DHCP 服务是Dynamic Host Configuration Protocol动态主机配置协议的缩写。该协议由IETF(Internet网络工程师任务小组)开发设计,其目的是为了减轻TCP/IP规划的管理和维护的负担,解决IP地址资源的匮乏问题。运行DHCP的服务器把TCP/IP网络配置集中来管理,动态的分配和处理客户端的IP地址等相关资源的配置,用DHCP租约等相关技术,提供了自动在TCP/Ip网络上安全的、高效的分配和租用IP地址资源的机制。从而实现IP地址的集中的管理。,基本上不需要网络管理员人为的干预。DHCP协议本身也被设计成BOOTP自举协议的扩展,支持需要网络配置信息的无盘工作站,对需要固定IP地址的系统也提供了很好的支持。

   2DHCP服务器的安装和配置

2.1获得DHCP服务器软件

在Linux中,几乎所有的DHCP服务器软件都采用paul Vixie/ISC DHCPD,来实现DHCP服务器的功能。目前大多数的Linux发行的版本中都包含了这个软件,在安装光盘中,以PRM安装包的模式发布的,用现面命令安装:

#rpm ivh dhcpd-x.x.x.rpm

2.2增加主机的路由

为了使DHCP服务器能够正确地为客户计算机提供动态分配IP地址的服务。DHCPD服务器守护进程必须可以将IP包送到255.255.255.255这个IP地址上,因此服务器一定要建立一个到该主机的路由。使用下面命令添加路由:

#route add host 255.255.255.255 dev eth0

注意:有几个网络接口提供DHCPD服务,那么也要在每一个网络接口增加该路由。

 

2.3修改配置文件

DHCPD 默认的配置文件为/etc/dhcpd.conf。这是一个文本文件,在DHCPD中有一个语法分析器,可以对这个文件进行语法分析,获得配置参数。在这个配置文件中。格式是递规下降的,关键字大小写敏感,可以有注释,注释是以#开头的,到行的结束。这里给出了一个简单的dhcpd.conf文件的例子,该配置文件配置的DHCP服务器是将172.16.0.0/22这个网段分配动态IP地址的。内容如下:

#examples

#默认租约时间

default-lease-time 86400;

#最大租约时间

max-leases-time 129600;

#子网掩码选项

option subnet-mask 255.255.252.0;

#广播地址

option broadcast-adress 172.16.3.255

#路由器地址

option routers 172.16.0.1;

#DNS服务器地址

option domain-name-servers 192.168.102.66;

#域名

option domain-name  doit.com.cn

#子网掩码声明

subnet  172.16.0.0 netmask 255.255.252.0{

#范围

range 172.16.0.10  172.16.3.254;

}

该配置文件将允许DHCP服务器将172.16.0.10~172.16.3.254的IP地址分配给DHCP客户端使用。

    如果DHCP客户在申请租约时不请求一个特定的租约失效的时间,则以default-lease-time 86400为租约时间,如果请求一个特定的租约失效的时间,则以max-lease-time 129600为租约时间。

服务器将下面的参数发给DHCP客户端:

子网掩码:255.255.252.0

广播地址:172.16.3.255

网络地址:172.16.0.0

默认网关:172.16.0.1

DNS服务器:192.168.102.66

如果要为一台单独的计算机分配固定的IP地址,可以在/etc/dhcpd.conf文件中加上一条:

host doit{

#doit计算机网卡的硬件地址。

Hardware Ethernet  00:50:DA:72:01:47;

#固定的IP地址

fixed-adress 172.16.0.7;

}

 

2.4dhcpd.leases文件

     dhcpd.leases 文件是DHCP客户计算机租约的数据库文件,默认是在/var/lib/dhcpd/目录下。文件内容包含租约声明,每一次租约被获取、更新、释放,它的值都会被记录到文件末尾。在DHCPD服务器第一次安装后,并不会产生这个文件,所以要手动创建该文件。方法为:

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

该文件格式为:

lease ip-address { statements...}

每一个记录都包含一个动态分配给客户计算机的IP地址。在大括号中,包含了一些租约的信息。具体租约信息因客户端的DHCP请求而稍有差别。

 

2.5运行DHCPD守护进程

启动DHCPD服务的方法为:

#/etc/init.d/dhcpd  start

停止DHCPD服务的方法为:

#/etc/init.d/dhcpd  stop

重新启动DHCPD服务的方法为:

#/etc/init.d/dhcpd  restart

当一台终端计算机动态获得IP地址后,在/var/lib/dhcpd/dhcpd.leases文件中建立一条类似下面的记录。记录内容为:

lease 172.16.0.21{

starts 1 2003/04/23 17:25:32;

ends  1 2003/4/25 14:32:01;

hardware Ethernet  00:50:DA:76:00:2A;

uid 00:50:DA:72:01:47;

client-hostname  test;

在这里需要注意的是dhcpd.leases文件的时间记录采用了GMT时间,而不是本地区的时间。要看本地区的时间,执行现面的命令:

#date u

   3DHCP高级配置

  3.1dhcpd.conf结构说明

在上面,我们介绍过,dhcpd.conf是一个递规的下降的配置文件。有些和C语言类似,由参数、声明两个大的部分组成。参数类型语句主要告诉DHCPD 守护进程网络的参数,如租约时间,子网掩码、网关、DNS域名服务器等。而声明则是描述网络是如何构成的拓扑结构。用来标识网络上客户端计算机、要提供 IP地址资源,提供一个参数族组给一组声明。

   描述网络拓扑结构声明语句分为:shared-network和subnet声明,如果要给一个子网内的客户计算机动态分配IP地址,那么在subnet声明中必须要有range声明,用来说明地址范围。如果要给一个客户计算机一个静态的指定的IP地址,那么,这样的计算机要用host声明。对于每一个要提供服务的与DHCP服务器连接的子网,都要有一个subnet声明,即使是一个不提供IP地址动态分配服务的子网。

介绍一个典型的例子加以说明:

#example

#全局参数

shared-network 共享网络名称 {

subnet  172.16.0.0  netmask  255.255.252.0 {

#子网定义参数

#range   172.16.0.0;

}

group {

host  test.doit.com.cn {

主机参数:IP地址、Mac地址等。

}

}

13.3.2语法详解

DHCP的语法参数很多,在这里,我们介绍最常用的最重要的语句。

1、 声明类语句

l   shared-network  name {

[参数]

[声明]

}

shared -network用于告诉DHCP服务器哪些IP子网属于一个物理网络。任何一个在共享物理网络的子网都必须声明在shared-network语句中。属于这个子网中的客户计算机启动的时候,将获得在shared-network语句中指定的参数,除非这些参数被subnet和host参数覆盖。用 shared-network是一种暂时的办法,例如:企业中用一个B类网络129.7,企业内部的部门甲被划在子网129.7.3.0/24中,这里的网络号码为8个bit,主机号也为8位。但是如果部门甲很快的增长,超过了254台主机,而物理网络来不及增加子网,就要在这个物理网络中运行两个 8bit子网掩码的子网。而这两个子网还同时在一个物理网络中,shared-network可以做如下声明。

shared-network net1 {

subnet  129.7.3.0  netmask  255.255.255.0 {

range  129.7.3.10  129.7.3.254;

}

##############################################

subnet  129.7.4.0 netmask  255.255.255.0 {

range  129.7.4.10 129.7.4.254;

}

这里的net1是网络共享名称。

l   subnet语句

subnet  subnet-number  netmask {

[参数]

[声明]

}

subnet语句用于提供足够的信息来阐明一个IP地址是否属于该子网的IP地址可以动态的分配给用户,这些IP地址必须在range声明里指定。Subnet number可以是IP地址或能被解析到这个子网的域名。Netmask是子网的掩码。

l   subnet语句

range [dynamic-bootp] low-address [high-adress]

对于任何一个有动态分配的IP地址的subnet语句中,至少有一个range语句。用来标识要分配的IP地址的范围。

l   host语句

l   host hostname {

[参数]

[声明]

}

host语句的作用是给一个特定客户计算机分配指定的IP地址。

l   group语句

group {

[参数]

[声明]

}

用于给一组声明提供参数。

l   allow和deny语句

allow和deny语句用来控制DHCPD对客户计算机的请求。

l   unknown-clients关键字

allow  unknown-clients;

deny  unknown-clients;

allow  unknown-clients;允许DHCPD可以动态的分配IP给位置的客户计算机。而deny  unknown-clients;则是不允许。默认为allow  unknown-clients。

l   bootp关键字

allow  bootp;

deny  bootp;

指明DHCPD是否响应BOOTP的查询,默认是允许的。

2、 参数类语句

l   default-lease-time语句

语法:

default-lease-time  time;

指定默认的租约时间,单位为秒。如果客户计算机在请求一个租约但是没有租约失效时间,租约时间就是默认的租约时间。

l   max-lease-time语句

语法:

max-lease-time  time;

最大租约时间。如果客户计算机在请求租约时间时发出租约失效的请求,则用最大的租约时间。

l   hardware语句

语法:

hardware  hardware-type  hardware-adress;

指明物理硬件接口类型和硬件地址,一般为以太网卡。硬件地址由6个8位的组构成,每组之间用:分割。例如:00:A0:D2:1A:BE:0E

l   server-name语句

语法:

server-name  name;

告诉客户计算机服务器的名字。

l   fixed-address语句

语法:

fixed-adress  address  [,address……];

指定一个或者多个IP地址给固定的客户计算机,语句只能出现在host声明中。

3、 选项类参数

这类参数以option开头,后面跟一个选项名称,选项名称后面是选项数据,选项很多,这里列出一些常用的选项。

l   Option  routers  ip-adress [,ip-address];

指明在客户计算机子网内的路由器地址,可以为一个,也可以为多个。

l   Option time-servers ip-address[,ip-address…….];

指明时间服务器的IP地址。

l   Opton domain-name-servers ip-address [,ip-address…….]

指明DNS域名服务器的IP地址。

l   Option host-name string;

给客户计算机指定主机名称。

l   Option domain-name string;

指明服务器和客户计算机所在的域。

l   Option interface-mtu 1500;

指明网络界面的MTU,这里的MTU是整数。

l   Option broadcast-address ip-address;

指定子网的广播地址。

 

小节

    以上讲述的是DHCPD服务器的常用配置,实际的应用还要考虑到IP地址分配和策略的问题。为了保证网络的稳定性、健壮性,建议采用2台DHCP服务器偕同工作,实现DHCP服务器的冗余。但是要注意的是,在DHCP协议等相关技术中,没有多台DHCP服务器协同工作的机制,所以多台DHCP服务器的IP地址资源必须作出合理的调整,不能有交叉的和重复的IP地址。
 
关键词:DHCP  服务器
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站