Linux下学习dhcp的基本配置

dhcp:动态主机设置协议(DynamicHost Configuration Protocol)

作用:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

原理:

根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。

第一次登录的时候:

寻找Server

   当DHCP客户端第一次登录网络的时候,也就是客户发现本机上没有任何IP 数据设定,它会向网络发出一个 DHCP DISCOVER封包(广播包)。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为 0.0.0.0 ,而目的地址则为255.255.255.255 ,然后再附上 DHCP discover 的信息,向网络进行广播。在 Windows 的预设情形下,DHCP discover的等待时间预设为 1 秒,也就是当客户端将第一个 DHCP discover封包送出去之后,在 1 秒之内没有得到响应的话,就会进行第二次 DHCPdiscover 广播。若一直得不到响应的情况下,客户端一共会有四次 DHCP discover 广播(包括第一次在内),除了第一次会等待 1 秒之外,其余三次的等待时间分别是9、13、16 秒。如果都没有得到 DHCP服务器的响应,客户端则会显示错误信息,宣告 DHCP discover 的失败。之后,基于使用者的选择,系统会继续在5 分钟之后再重复一次 DHCP discover 的过程。

提供 IP 租用地址

   当DHCP服务器监听到客户端发出的 DHCPdiscover 广播后,它会从那些还没有租出的地址范围内,选择最前面的空置 IP ,连同其它 TCP/IP 设定,响应给客户端一个 DHCP OFFER封包。由于客户端在开始的时候还没有IP 地址,所以在其 DHCP discover封包内会带有其 MAC 地址信息,并且有一个 XID 编号来辨别该封包,DHCP服务器响应的 DHCPoffer 封包则会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer封包会包含一个租约期限的信息。

接受 IP 租约

   如果客户端收到网络上多台 DHCP 服务器的响应,只会挑选其中一个DHCPoffer 而已(通常是最先抵达的那个),并且会向网络发送一个DHCP request广播封包,告诉所有 DHCP 服务器它将指定接受哪一台服务器提供的IP 地址。同时,客户端还会向网络发送一个 ARP封包,查询网络上面有没有其它机器使用该IP 地址;如果发现该 IP 已经被占用,客户端则会送出一个DHCPDECLINE 封包给 DHCP服务器,拒绝接受其 DHCP offer ,并重新发送 DHCP discover 信息。事实上,并不是所有 DHCP客户端都会无条件接受DHCP服务器的offer,尤其这些主机安装有其它 TCP/IP 相关的客户软件。客户端也可以用 DHCP request 向服务器提出 DHCP 选择,而这些选择会以不同的号码填写在DHCP Option Field 里面。换一句话说,在 DHCP服务器上面的设定,未必是客户端全都接受。客户端可以保留自己的一些TCP/IP 设定,并且主动权永远在客户端这边。

租约确认

   当DHCP服务器接收到客户端的 DHCP request 之后,会向客户端发出一个DHCPACK 响应,以确认IP 租约的正式生效,也就结束了一个完整的 DHCP 工作过程。



DHCP的配置

IP:192.168.1.1

操作系统:CentOS 5.5

相关软件包

dhcp-3.0.5-23.el5.i386.rpm         主程序包

dhcp-devel-3.0.5-23.el5.i386.rpm       开发人员使用

dhcpv6-1.0.10-18.el5.i386.rpm          IPV6主程序包

dhcpv6-client-1.0.10-18.el5.i386.rpm   IPV6客户端

挂载光盘镜像:

[root@localhost~]# mount /dev/cdrom /mnt/

安装方式:

(1)[root@localhostCentOS]# rpm -ivh dhcp-3.0.5-23.el5.i386.rpm

(2)[root@localhost~]# yum install dhcp -y

进入主程序进行配置

[root@localhost~]# vim /etc/dhcpd.conf

去之后发现里边只有两行注释信息  告诉我们去/usr/share/doc/dhcp*/dhcpd.conf.sample来进行模板的复制

[root@localhost~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

cp:是否覆盖“/etc/dhcpd.conf”?y

编辑主配置文件

在编辑之前首先来了解下里边的参数都是干什么用的

subnet                         客户机获得的IP地址的网段

netmask                        客户机获得的IP地址的子网掩码


optionsdomain-name            为客户机指定DNS服务器名称

optionsdomain-name-servers    为客户机指定DNS服务器IP地址

options  routers               为客户机指定默认网关的IP地址

options  subnet-mask           默认网关IP地址的子网掩码


range                           用于说明客户机所得到的IP地址的范围

default-lease-time        指定默认地址租约(秒为单位)

max-lease-time             指定最大地址租约(秒为单位)

host                        为特定的DHCP客户机提供IP网络参数

hardware                   特定客户机的MAC地址

fixed-address             为特定客户机指定IP地址

这个参数的意思是计算机名为host、MAC地址为hardware的客户机永远使用fixed-address这个IP地址

修改后的主配置文件

保存退出

wq或者ZZ

启动DHCP服务

[root@localhost~]# service dhcpd restart

将DHCP设置为开机自启动

[root@localhost~]# chkconfig dhcpd on

客户端配置

这里将用Linux来进行配置

首先将网卡设置为自动获取

[root@localhost~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0


重新启动网络服务

[root@localhost ~]# service network restart

查看网卡信息

小提示:

Linux获取IP都是从后到前的

windows获取IP是从前到后的

至此,DHCP就做完了。




本文出自 “吴鹏的博客” 博客,请务必保留此出处http://hacksb.blog.51cto.com/3030387/1400841

Linux下学习dhcp的基本配置,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。