DHCP应用指南LINUX
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DHCP应用指南(LINUX)
指导老师:啜立明
文档:陈剑
实施:姚正伟、陈剑
需求分析:
由于研究院的学员和员工的上网电脑日益增加,常出现抢夺IP、回环等故障造成网络的不稳定。
MIS部为了有效管理和维护网络安定使用环境,决定实施DHCP自动分配IP以及MAC与IP的捆绑,来杜绝IP盗用以及非法上网。
工作原理:
DHCP是Dynamic Host Configuration Protocol之缩写,它的前身是BOOTP。
是基于C/S模式的,它提供了一种动态指定IP地址和配置参数的机制。
这主要用于大型网络环境和配置比较困难的地方。
DHCP服务器自动为客户机指定IP地址,它的自动分配IP使得网络上的计算机通信变得方便而容易实现了。
DHCP使IP地址的可以租用,对于许多拥有许多台计算机的大型网络来说,每台计算机拥有一个IP地址有时候可能是不必要的。
租期从1分钟到100年不定,当租期到了的时候,服务器可以把这个IP地址分配给别的机器使用。
其工作方式根据客户端是否第一次登录网路会有所不同。
当第一次登陆时候:
1.Client寻找Server。
当DHCP客户端第一次登录网路的时候﹐当发现自己没有任何IP时,就会向网路发出一个DHCPDISCOVER封包。
因为客户端还不知道自己属于哪个网络段,所以封包的来源地址为0.0.0.0,而目的地址则为255.255.255.255,然后在附上DHCPDISCOVER的信息,向网络进行广播。
网络每一台装有TCP/IP协议的主机都会接受到这种广播信息,但是只有DHCP服务器才会做出应答响应。
DHCPdiscover的等待时间预设为1秒也就是当客户端将第一个DHCPdiscover封包送出去之后在1秒之内没有得到回应的话就会进行第二次DHCPdiscover 广播。
在得不到回应的情况下客户端一共会有四次DHCPdiscover广播(包括第一次在内)除了第一次会等待1秒之外其余三次的等待时间分别是9 13 16秒。
如果都没有得到DHCP服务器的回应客户端则会显示错误信息宣告DHCPdiscover的失败。
之后基于使用者的选择系统会继续在5分钟之后再重一次DHCPdiscover的要求。
2.Server提供IP租用位址。
当DHCP服务器监听到客户端发出的DHCPdiscover广播后﹐它会从那些还没有租出的位址范围内﹐选择最前面的的空置IP,连同其它TCP/IP设定,回应给客户端一个DHCPOFFER 封包。
由于客户端在开始的时候还没有IP位址﹐所以在其DHCPdiscover封包内会带有其MAC位址信息﹐并且有一个XID编号来辨别该封包﹐DHCP服务器回应的DHCPoffer封包则会根据这些资料传递给要求租约的客户。
根据服务器端的设定﹐DHCPoffer封包会包含一个租约期限的信息。
3.Client接受IP租约。
如果客户端收到网路上多台DHCP服务器的回应﹐只会挑选其中一个DHCPoffer(通常是最
先抵达的那个)﹐并且会向网路发送一个DHCPrequest广播封包﹐告诉所有DHCP服务器它将指定接受哪一台服务器提供的IP位址。
之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址同时﹐客户端还会向网路发送一个ARP封包﹐查询网路上面有没有其它机器使用该IP位址﹔如果发现该IP已经被占用﹐客户端则会送出一个DHCPDECLINE封包给DHCP服务器﹐拒绝接受其DHCPoffer﹐并重新发送DHCPdiscover信息。
事实上﹐并不是所有DHCP客户端都会无条件接受DHCP服务器的offer﹐尤其这些主机安装有其它TCP/IP相关的客户软件。
客户端也可以用DHCPrequest向服务器提出DHCP选择﹐而这些选择会以不同的号码填写在DHCPOptionField里面。
换一句话说﹐在DHCP服务器上面的设定﹐未必是客户端全都接受﹐客户端可以保留自己的一些TCP/IP设定。
而主动权永远在客户端这边。
4.Server确认阶段。
即DHCP服务器确认所提供的IP地址的阶段。
当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。
然后DHCP 客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址
5.Client重新登录。
以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover去寻找了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。
当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPack确认信息。
如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。
当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。
6.Client更新租约。
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。
如果DHCP客户机要延长其IP租约,则必须更新其IP租约。
DHCP 客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。
至于IP的租约期限却是非常考究的﹐并非如我们租房子那样简单﹐DHCP 客户机除了在开机的时候发出DHCPrequest请求之外﹐在租约期限一半的时候也会发出DHCPrequest﹐如果此时得不到DHCP服务器的确认的话﹐工作站还可以继续使用该IP﹔然后在剩下的租约期限的再一半的时候(即租约的75%)﹐还得不到确认的话﹐那么工作站就不能拥有这个IP了。
要是您想退租,可以随时送出DHCPLEREASE命令解约﹐就算您的租约在前一秒钟才获得的。
实施过程:
一.修改配置文件
DHCPd默认的配置文件是/etc/dhcpd.conf,这是一个文本文件,DHCPd里有一个语法分析器,
能对这个文件进行语法分析,获得配置参数。
dhcpd.conf 格式是递归下降的,关键字大小写敏感,可以有注释,注释以#开头,一直到该行结束。
以下是我们实施的配置文件详解。
ddns-update-style ad-hoc;
#是否允许进行动态DNS更新,用ad-hoc(特殊模式。
在DHCP3.0b2pl11版本以前才用,)#interim(互动草图过渡模式)
#none(不更新)
#这是bind8以后才有的新的功能。
default-lease-time 36000;
#定义缺省的租约时间(秒)如果用户没有做提出租约时间,有此为准,-1为永不过期
max-lease-time 72000;
#定义最大租约时间(秒),-1为永不过期
option subnet-mask 255.255.255.0;
#指定子网掩码
option broadcast-address 192.168.0.255;
#指定广播地址
option routers 192.168.0.254;
#指定ROUTER或者网关
option domain-name-servers 202.106.148.1,202.106.0.20;
#定义提供DNS地址
option netbios-name-servers 192.168.0.168;
#指定WINS SERVER的ip地址
#option domain-name "";
#定义域名
# 以上都是全局参数
subnet 192.168.0.0 netmask 255.255.255.0{
#定义子网和子网的掩码
range 192.168.0.1 192.168.0.199;
}
#可分配的IP地址段
host ns1 { hardware ethernet 00:30:13:5D:B1:DC; fixed-address 192.168.0.1; }
#用DHCP指定一个固定的ip地址#host为主机,后面是hostname,指定网卡的硬件地址#依据MAC地址能分配的一个固定的IP的
host ns2 ……………………
二.启动DHCPDF服务。
要启动DHCPd,简单地键入/usr/sbin/dhcpd 或用ntsysv 把DHCPd服务自动启动,也可以用
/etc/rc.d/init.d/dhcpd start,
也可以用server dhcpd restart进行启动。
至此DHCP服务器配置完毕,可以在客户机上运行dhclient命令来获取IP。
正常情况下可以在
使用ifconfig就能够查看是否能正确分配到IP地址。
而DHCP服务器可以从/var/lib/dhcp/dhcp.leases查看有哪些客户机从本服务器上获取IP。
2005-8-8。