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