一:dhcp简介:
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配ip地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。DHCP服务器采用UDP协议的67端口,客户端采用UDP的68端口。
二:dhcp地址分配方式:(现在主要使用Manual Allocation和Dynamic Allocation)
1:Manual Allocation:即人工分配,获得的IP也叫静态地址,网络管理员为某些少数特定的在网计算机或者网络设备绑定固定ip地址,且地址不会过期。这 种分配方式优点是动态分配,缺点是地址利用率低
2:Automatic Allocation:即自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。优点 是动态分配,缺点是地址利用率低
3:Dynamic Allocation:即动态分配,当 DHCP客户端 第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就
得释放(release)这个 IP 地址,以给其它主机使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址
三:dhcp client获得地址过程:
1:DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。
2:DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的ip地址的DHCPOFFER包。
3:客户端从中随机挑选,然后以广播形式向DHCP服务器回应DHCPREQUEST包,宣告使用DHCP服务器提供的地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址
4:当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,
DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。
四:dhcp client 地址更新过程:
DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。
1:租约没有到期,如果客户端重启,则会向DHCP服务器发送DHCPREQUEST,请求使用原来的ip地址。
2:在IP地址租约期限达到50%时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,确认租约更新。
3:如果在步骤2中DHCP服务器无响应,则在租约期限达到87.5%时,DHCP客户端会向DHCP服务器发送DHCPREQUEST包,再次请求租约的更新,如果此IP地址有效,则DHCP服务器回应DHCPACK,确认租约更新
4:如果在步骤3中DHCP服务器无响应,客户端会发送广播包DHCPDISCOVER,重新向网络中的DHCP服务器发出ip地址请求;或者等到租约达到100%时,终止租约。
五:dhcp中继:
在大型的网络中,可能会存在多个子网。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机还能不能向服务器申请IP地址呢?这就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务。
下面在Linux主机上实现dhcp服务:
案例一:dhcp单作用域(附加地址绑定)
1:拓扑方案:
2:[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/ #挂载光盘
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm #安装dhcp服务器
[root@lyt Server]# vim /etc/dhcpd.conf #编辑dhcp服务器的配置脚本,如图:
3:[root@lyt Server]# service dhcpd configtest # 检测dhcpd.conf的语法是否正确
[root@lyt Server]# service dhcpd restart #重启dhcp服务器
测试:用2台windows xp主机测试得到ip地址情况(其中一台是绑定的)
绑定主机获得地址成功:
没有绑定的主机获得最大ip地址
案例二:dhcp超级作用域(对于一个网络中大量主机使用)
1:拓扑方案:
2:[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/ #挂载光盘
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm #安装dhcp服务器
[root@lyt Server]# vim /etc/dhcpd.conf #编辑dhcp服务器的配置脚本,如图:
3:[root@lyt ~]# service dhcpd configtest #测试超级作用域语法是否正确
[root@lyt ~]# service dhcpd restart #重启dhcp服务器
测试:用两台windows xp主机进行测试
1:在第一台xp主机上:
C:\Documents and Settings\lytlyt>ipconfig /release #在windows xp主机命令行模式中,使用此命令释放原ip地址
C:\Documents and Settings\lytlyt>ipconfig /renew #在windows xp主机命令行模式中,使用此命令重新获得ip地址。
C:\Documents and Settings\lytlyt>ipconfig /all #在windows xp主机命令行模式中,使用此命令查看获得的ip地址的详细信息,结果如图:
2:在第二台xp主机上:
案例三:dhcp中继
拓扑方案:
1:首先配置vlan30中dhcp服务器:
[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/ #挂载光盘
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm #安装dhcp服务器
[root@lyt ~]# vim /etc/dhcpd.conf
[root@lyt ~]# service dhcpd restart #重启dhcp服务器
2:配置路由器,在这里用Linux主机实现路由功能:
在Linux网卡上配置ip地址:
[root@lyt ~]# service network restart #重启网络服务
[root@localhost ~]# vim /etc/sysctl.conf #编辑该文件,打开数据包转发功能
[root@localhost ~]# sysctl –p #使上个步骤的的配置文件生效
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
[root@localhost Server]# rpm -ivh dhcp-3.0.5-21.el5.i386.rpm #安装dhcp服务器,主要为了实现dhcrelay功能
[root@localhost Server]# vim /etc/sysconfig/dhcrelay #编辑dhcp中继的配置文件,如图:
[root@localhost Server]# service dhcrelay start #启动dhcp中继服务
[root@localhost Server]# netstat -tupln |grep 67 #查看dhcp中继服务端口号67是否启动
[root@localhost Server]# chkconfig dhcrelay on #开机自动启动dhcp中继服务
测试:用windows xp做测试:
1:首先将xp主机添加进vlan10中,也即选用vm2网卡:如图:
查看xp主机获得ip地址信息:
2:将xp主机添加进vlan20中,也即选用vm3网卡:如图:
查看xp主机获得ip地址信息
下面在Windows主机上实现dhcp服务:
拓扑方案:
一:首先配置dhcp服务器:
1:打开:开始——》设置——》控制面板——》添加或删除程序
点击“确定”之后,选择“下一步”,如图:
安装完成之后点击“完成”
2:打开:开始——》设置——》控制面板——》管理工具——》dhcp
建立第一个作用域:
建立第二个作用域
二:配置dhcp中继:(用windows server 2003实现路由功能)
1:开始——》设置——》控制面板——》管理工具——》路由和远程访问
测试:
1:选择vm2网卡:
查看获得ip地址信息
查看租约信息:
2:选择vm3网卡:
查看获得ip地址信息:
查看租约信息: