DHCP服务器在企业网中的应用(1)
DHCP原理:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
更新的过程:
1.重新启动 dhcprequest 直接发送给提供地址的服务器
2.50% dhcprequest 直接发送给曾经提供地址的服务器
87.5% dhcpcover 广播(4个步骤)
100% 终止使用 此时地址变成169.254.x.y
案例:动态地址分配
拓扑图:
地址分配方案:
某企业中有server服务部、tec技术部和mkt市场部,其中tec使用的是windows客户机,mkt使用的是linux 客户机
dhcp服务器中有两个地址池 192.168.2.0 192.168.3.0
192.168.2.0网段的地址只能分配给微软操作系统的主机,也就是tec部门;并且192.168.2.101绑定给tec中特定的主机。
步骤:
配置LINUX Server:
1.#vim /etc/sysconfig/network-sprict/ifcfg_eth0 设置服务器ip
IPADDR=192.168.2.100
GATEWAY=192.168.2.254
2.安装dhcp server
#mkdir /mnt/cdrom 建立挂载点
#mount /dev/cdrom /mnt/cdrom 挂载光盘
#cd /mnt/cdrom/Server
[root@localhost Server]# rpm -qa dhcp
dhcp-3.0.5-18.el5.i386.rpm dhcpv6-1.0.10-16.el5.i386.rpm
dhcp-devel-3.0.5-18.el5.i386.rpm dhcpv6-client-1.0.10-16.el5.i386.rpm
[root@localhost Server]# rpm -qa dhcp
[root@localhost Server]#
[root@localhost Server]# rpm -ivh dhcp-3.0.5-18.el5.i386.rpm
3.配置dhcpd.conf文件
[root@localhost ~]# vim /etc/dhcpd.conf
底行模式下:r /usr/share/doc/dhcp*/dhcpd.conf.sampl
#定义名为zz的超级作用域
#定义作用域192.168.2.0 192.168.3.0
#service dhcpd configtest 检查语法是否正确
#service dhcpd start 启用服务
#chkconfig dhcpd on 设置自动启动
DHCP客户端
#pgrep dhclient 查看是否有dhclient进程
若没有则安装
#rpm -ivh dhclient-3.0.5-21.el5
dhclient -d eth0 看到dhcp获得的整个过程
tec 技术部(Windows客户端):
小结:
动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作。
工作模式:
手工分配 manual 网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期
自动分配 automatic 一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。
动态分配 dynamic 当 DHCP客户端 第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。
DHCP服务器在企业网中的应用(2)
DHCP中继原理:
如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)。用DHCP Relay代理可以去掉在每个物理的网段都要有DHCP服务器的必要,它可以传递消息到不在同一个物理子网的DHCP服务器,也可以将服务器的消息传回给不在同一个物理子网的DHCP客户机。
案例:在Linux上实现dhcp中继
拓扑图:
地址分配方案:
linux服务器模拟路由,其中有三块网卡分别为eth0 192.168.2.254
eth1 192.168.3.254
eth2 192.168.4.254
eht0网卡与dhcp服务器通过vmnet1连接;eth1与tec主机通过vmnet2连接;eth2与mkt主机通过vmnet3连接
mkt与tec需要从dhcp服务器上动态获得分别为192.168.3.0,192.168.4.0网段的地址
步骤:
1、 在Linux上配置DHCP server
编辑配置文件
#vim /etc/dhcpd.conf
底行模式下:r /usr/share/doc/dhcp*/dhcpd.conf.sampl
定义空作用域192.168.2.0和作用域192.168.3.0 192.168.4.0:
#service dhcpd configtest 检查语法
#service dhcpd restart 重启dhcp服务
设置eth0的参数,默认网关指向192.168.2.254
2、配置中继服务器:
#setup 分别设置三个网卡的参数
#service network restart 重启网络服务
查看dhcp服务是否安装,若没有安装则安装
#rpm -ivh dhcp-3.0.5-21.el5.i386.rpm
#vim /etc/sysconfig/dhcrelay 配置中继
#server dhcrelay configtest 检查语法
# chkconfig dhcrelay on 设置自动启动
#service dhcrelay start 启动中继服务
开启路由转发
#echo "1" >/proc/sys/net/ipv4/ip_forward
或者#vim /etc/sysctl .conf
重新读取配置文件
3、获取地址
客户端tec连接vmnet2获得的IP:
客户端mkt连接vmnet3获得的IP:
小结:
在大型的网络中,可能会存在多个子网。DHCP客户机通过网络广播消息获得DHCP服务器的响应后得到IP地址。但广播消息是不能跨越子网的。因此,如果DHCP客户机和服务器在不同的子网内,客户机就不能向服务器申请IP地址,这时就要用到DHCP中继代理。DHCP中继代理实际上是一种软件技术,安装了DHCP中继代理的计算机称为DHCP中继代理服务器,它承担不同子网间的DHCP客户机和服务器的通信任务。
转自