分享
 
 
 

Linux作DHCP服务器之三

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

3.dhcpd.leases

dhcpd.leases 是DHCP客户租约的数据库文件,默认目录在/var/state/dhcp/,文件包含租约声明,每次一个租约被获取、更新或释放,它的新值就被记录到文件的的末尾。在DHCPd第一次安装后,并不会生成这个文件。但DHCPd的运行需要这个文件,所以可以建立一个空的文件。

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

DHCPd记录这个文件的格式是

lease ip-address { statements... }

每个记录包含一个提供给客户的IP地址,在花括号里的语句包含一些租约信息。具体的租约信息因客户发出不同的DHCP请求而稍有差别。

4.运行DHCPd

要启动DHCPd, 简单地键入 /usr/sbin/dhcpd 或用ntsysv 把DHCPd服务自动启动,也可以用

/etc/rc.d/init.d/dhcpd start,

这样启动后,DHCPd是启动在eth0 上,如果DHCPd上的服务器还有另外一块网卡eth1, 想在eth1上启动

dhcpd,就键入

#/usr/sbin/dhcpd eth1

以上述例子的dhcpd.conf来启动dhcpd,如果我们启动一Windows95机器,Windows95的网络配置的TCP/IP选项里指定自动获得IP地址,也就是启用Windows95里的DHCP客户程序,这台95机器的主机名叫ONE,进入系统后,用winipcfg查看.

在Windows95机器获得租约后,DHCPd会在dhcp.leases里建一条记录

lease 192.168.1.154 {

starts 1 2000/05/15 13:36:42;

ends 1 2000/05/15 21:36:42;

hardware ethernet 00:00:21:4e:3f:58;

uid 01:00:00:21:4e:3f:58;

client-hostname "one";

}

要注意的是dhcpd.leases的时间记录采用GMT时间,而不是本地时区的时间。 要查看本机的GMT时间可以用

date -u

5.进一步说明dhcpd.conf

5.1 dhcpd.conf 概述

前面说过,dhcpd.conf是个递归下降格式的配置文件,有点象C的源程序风格,由参数和声明两大类语句构

成,参数类语句主要告诉DHCPd网络参数, 如租约的时间、网关、DNS等,而声明语句则是描述网络的拓扑,

用来表明网络上的客户、要提供给客户的IP地址、提供一个参数组给一组声明等。

描述网络拓扑的声明语句有 shared-network 和 subnet 声明。.如果要给一个子网里的客户动态指定IP地

址,那么在subnet声明里必须有一个 range 声明,说明地址范围。如果要给DHCP客户静态指定IP地址,那么

每个这样客户都要有一个host 声明。 对于每个要提供服务的与DHCP服务器连接的子网,都要有一个 subnet

声明,即使这是个没有IP地址要动态分配的子网。

一个典型的dhcpd.conf如下

#example

#全局参数

shared-network 共享网络名 {

共享网络特定参数...

subnet 204.254.239.0 netmask 255.255.255.224 {

子网特定参数...

range 204.254.239.10 204.254.239.30;

}

subnet 204.254.239.32 netmask 255.255.255.224 {

子网特定参数...

range 204.254.239.42 204.254.239.62;

}

}

subnet 204.254.239.64 netmask 255.255.255.224 {

子网特定参数...

range 204.254.239.74 204.254.239.94;

}

group {

组特定参数...

host ws1.domain {

特定主机参数...

}

host ws2.domain {

特定主机参数...

}

host ws3.domain {

特定主机参数...

}

}

5.2 语句参考

因为DHCPd的语句很多,不可能一一列出,这里给出最常用和最重要的语句。

声明类语句

share-network 语句

shared-network name {

[ 参数 ]

[ 声明 ]

}

share-network 用于告诉DHCP服务器某些IP子网其实是共享同一个物理网络。任何一个在共享物理网络里的子网都必须声明在 share-network 语句里。当属于其子网里的客户启动时,将获得在share-network语句里指定参数,除非这些参数被subnet 或 host 里的参数覆盖。用share-network是一种权宜之计,例如某公司用B类网络145.252,公司里的部门 A 被划在子网 145.252.1.0 里, 子网掩码为255.255.255.0,这里子网号为8个bit,主机号也为8个bit,但如果部门 A 急速增长,超过了254个节点,而物理网络还来不及增加,就要在原来这个物理网络上跑两个8bit掩码的子网,而这两个子网其实是在同一个物理网络上,

share-network 语句可以如下

shared-network share1 {

subnet 145.252.1.0 netmask 255.255.255.0 {

range 145.252.1.10 145.252.1.253;

}

subnet 145.252.2.0 netmask 255.255.255.0 {

range 145.252.2.10 145.252.1.253;

}

这里的share1是个共享网络名。

subnet 语句:

subnet subnet-number netmask netmask {

[ 参数 ]

[ 声明 ]

}

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

range 语句:

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

对于任何一个有动态分配IP地址的subnet语句里,至少要有一个 range 语句,用来指明要分配的IP地址的范围。如果只指定一个要分配的IP地址,高地址部分可以省略。

host 语句:

host hostname {

[ 参数 ]

[ 声明 ]

}

host语句的作用是为特定的客户机提供网络信息。

group 语句

group {

[ 参数 ]

[ 声明 ]

}

组语句给一组声明提供参数。

allow 和 deny 语句

allow和deny语句用来控制DHCPd对客户的请求。

unknown-clients 关键字

allow unknown-clients;

deny unknown-clients;

allow unknown-clients 允许DHCPd可以动态分配IP给未知的客户,而 deny unknown-clients 则不允许。

缺省是允许的。

bootp 关键字

allow bootp;

deny bootp;

指明DHCPd是否响应bootp查询,默认是允许的。

参数类语句

default-lease-time 语句

语法

default-lease-time time;

指定缺省租约时间,这里的time是以秒为单位的。如果DHCP客户在请求一个租约但没有指定租约的失效时间,租约时间就是缺省租约时间。

max-lease-time 语句

语法

max-lease-time time;

最大的租约时间。如果DHCP在请求租约时间时有发出特定的租约失效时间的请求,则用最大租约时间。

hardware 语句

语法

hardware hardware-type hardware-address;

指明物理硬件接口类型和硬件地址。硬件地址由6个8位组构成,每个8位组以“:”隔开。如00:00:E8:1B:54:97

例如:hard

server-name 语句

server-name "name";

用于告诉客户服务器的名字。

fixed-address 语句

fixed-address address [, address ... ];

fixed-address 语句用于指定一个或多个IP地址给一个DHCP客户。只能出现在host声明里。

选项类语句

选项类语句以option 开头,后面跟一个选项名,选项名后是选项数据,选项非常的多,这里列出一些常用的 选项供参考

option routers ip-address[, ip-address];

指明在客户子网内的路由器的地址,可以有多个;

option time-servers ip-address[, ip-address...];

指明时间服务器的地址。

option domain-name-servers ip-address[, ip-address...];

指明DNS的地址

option host-anme string;

给客户指定主机名,string是个字符串。

option domain-name string;

指明域名

option interface-mtu mtu;

指明网络界面的MTU,这里mtu是个正整数

例 option interface-mtu 1500;

option broadcast-address ip-address;

指定广播地址

六、总结

以上就是DHCPd常用配置,实际应用DHCP还要考虑IP分配的一些策略问题,同时要保证网络的健壮性,必须至少要有两台DHCP服务器一起工作,如果一台出了故障,另一台可以继续为

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有