DHCP的概念:
一个DHCP服务器,够指定IP给其它局域网中的电脑,让每一台电脑都连在TCP/IP的通讯协议下,各有其独立的IP,自成一个网段。而透过DHCP Server的管理,你能够设定IP的分配范围,与清楚的了解目前各台电脑被分配到的IP与网卡编号等信息
DHCP具有以下功能:
1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
2. DHCP应当可以给用户分配永久固定的IP地址。
3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
过程:客户端广播,所有主机都可以收到,dhcp服务器收到后,广播回复,如果多个dhcp服务器,则需要客户端换需广播自己选择的那个服务器,选择反馈最快的服务器,被选择的服务器也需广播。
广播方式:Client ---->DHCPDISCOVER
Dhcpoffer<------server
Client----->dhcpquest
Dhcp ack <--------server
续租时单播:Client----〉dhcprequest
Dhcpack<======server
动态表,可以动态分配,且在lease(租约)的一半时就会发起请求续租,且如果没有回应,会进行共 三次请求,如仍未回应则重新请求
dhcp不能跨路由存在,为了给多个网络提供服务,可以将路由器作为中继器;dhcp服务器必须
能够给本地网络提供dhcp服务,dhcp提供的本地地址池必须要和本地的网卡除于同一网络中,可以提供多个地址池,路由器传播时会提供请求方的网段,这样dhcp服务器就可以给其他网络依据不同的池来分配地址了。
在dhcp中有动态地址池,也有保留地址,固定分配,但都需保持在和网卡相同的网段内。
文件:
/usr/sbin/dchrelay(中继器) dhcp和relay功能一般不能同时启用
/var/lib/dhcpd/dhcpd.leases(租约)记录动态分配的地址信息表
实例:
试验环境如下图所示:
服务器ip:192.168.0.1
试验要求:要求linux dhcp 服务器实现给linux客户机分配ip地址。
服务器软件包:dhcp-3.0.1-12_EL.I386 (当然其它版本的也可以)软件包默认在RHEL4的第四种安装光盘中。
主配置文件:dhcp.conf 默认情况下该文件没有在dhcp软件包中,需要手动建立。
服务器的配置:
1 挂载和安装dhcp软件包,如下图所示:
2编辑配置文件(由于配置文件安装软件包后并不会自动建立需要我们手动建立)只需打如下些命令就可以建立一个空白的配置文件了。
vi/etc/dhcpd.conf
为了方便以后的讲解我们空把文件填上了内容,具体配置文件的意思我会马上讲到。
全局设置:通常我们把subnet 192.168.0.0 netmask 255.255.255.0(不包括subnet这行内容) 以上的内容成为全局。各行含义如下:
ddns-update-style interim; :表示dhcp服务器和dns服务器的动态信息更新模式。这行必须要有dhcp服务器才能启动以来。
Default-lease-time 21600; 默认租约时间
Max-lease-time 43200; 最大租约时间
Option domain-name "123.com"; 域名服务器的名称
Option domaini-servers 192.168.0.1 默认域名服务的ip地址,dns服务器的地址
Sub 后从“{”开始 到最后一个“}”结束表示子网属性。其主要配置只对大括号里的内容有效。一个配置文件可以有多个子网属性。
Sub 192.168.0.0 netmask 255.255.255.0 ; (意思是我所分配的ip地址所在的网段
为192.168.0.0 子网掩码为255.255.255.0 )
Range 192.168.0.2 192.168.0.100; (分配的ip地址范围为192.168.0.2到
192.168.0.100)
Option subnet-mask 255.255.255.0 ; (分配ip地址的子网掩码为 255.255.255.0
Option routers 192.168.0.3; (分给客户机的网关为192.168.0.3)主:图中的option router 应改成option routers 在这图片不再更改了。
有时候我们需要为某一个机器配置固定的ip地址,而下面的配置选项满足了这一要求:
Host server01 {
Hardware ethernet b0:c0:12:f2:a3:a4;
Fixed-address 192.168.0.100;
}
具体含义和简单意思是“我们给客户机mac地址为b0;c0;12;f2;a3;a4所配置的ip地址为192.168.0.100”。
下面的图例是dhcp服务的启动 停止 重启。我们在刚配置完dhcpd.conf文件的时候我们需要启动一下dhcpd服务。
服务器配置完了客户机怎么获得ip地址呢。其实很简单。这里我叫大家两个命令,其效果是一样的。命令为:dhclint 或者 down 一下接口再up一下接口就可以了。图示如下:
看我们获得了192.168.0.99这一ip地址。和windows不同,linux获得ip地址是从大的范围到小的范围依此获得的。
linux的DHCP服务启动失败的常见原因:
1. 配置文件有问题。
1.1 内容不符合语法结构,例如,少个分号;
1.2 声明的子网和子网掩码不符合;
2. 主机IP地址和声明的子网不在同一网段。
3. 主机没有配置IP地址。
客户端工具:
dhclient 获取地址
dhclient -d 显示请求地址的过程的详细信息
部分转载自:http://www.jb51.net/article/31607.htm