DHCP服务介绍及Linux下DHCP服务的管理配置

发表于:2015-6-25 11:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Richier    来源:51Testing软件测试网采编

  DHCP服务介绍及Linux下DHCP服务的管理配置
  1. DHCP服务简介
  DHCP是Dynamic Host Configuration Protocol,动态主机配置协议,是用来在物理网络给主机分配ip地址的一种方式,区别于bootp,一次分配终身使用的缺点。
  DHCP提出的租约的概念,使得可以根据需要动态确定主机需要的IP地址,并且IP地址可以循环使用。
  2. DHCP结构
  DHCP是典型的C/S结构,需要服务端启动守护进程来保证来自client段的请求能被响应,DHCP的工作原理如下:
  可以通过DORA来记忆:
  Client: DHCP DISCOVER  #客户端向相同网络发送广播包,企图寻找DHCP服务器
  Server: DHCP OFFER#如果DHCP服务段收到DISCOVER包,则向客户端回复OFFER广播包
  Client: DHCP REQUEST#客户端收到来自DHCP的OFFER广播包后,则确定DHCP服务器,继续向DHCP服务器发送REQUEST包,来申请ip信息
  Server: DHCP ACK#DHCP服务端向客户端发送ACK包,携带ip和租约信息给客户端, DHCP发现过程结束
  注意: dhcp在跨网段的路由器另一侧,则路由器需要开启dhcp relay来支持转发客户端DISCOVER的广播包给DHCP服务器,这些通过路由器的转发,都是单播
  因为路由器和dhcp之间的连接是有ip信息的。
  DHCP服务端端口 UDP 67
  DHCP客户端端口 UDP 68
  DHCP reservation: 地址保留:
  专用于某特定客户端的地址,不应该使用地址池中的地址;优先于地址池中的地址;
  3. Linux下DHCP服务安装配置
  由于CentOS6/7的系统管理机制不同,所以开机自启动服务的方式有所不同,但是配置文件,帮助文档大同小异
  3.1 CentOS 6下 DHCP安装:
  #yum install dhcp
  #通过rpm -ql dhcp 来查询hdcp包所创建安装的文件,我们可以分析他的使用方式:
  这里列举几个比较重要的文件:
  #DHCP服务配置文件:
  /etc/dhcp/dhcpd.conf
  /etc/dhcp/dhcpd6.conf
  #服务脚本,控制dhcp服务的启动,关闭,状态查询,reload等
  /etc/rc.d/init.d/dhcpd
  /etc/rc.d/init.d/dhcpd6
  /etc/rc.d/init.d/dhcrelay
  /etc/rc.d/init.d/dhcrelay6
  #dhcp命令参数配置文件:  此文件内容提供一些区段给dhcpd守护进程在系统引导时使用,dhcpd守护进程使用DHCP及BOOTP协议为主机自动分配IP地址
  /etc/sysconfig/dhcpd
  /etc/sysconfig/dhcpd6
  /etc/sysconfig/dhcrelay
  /etc/sysconfig/dhcrelay6
  #dhcp二进制程序
  /usr/sbin/dhcpd
  /usr/sbin/dhcrelay
  #dhcp的ip地址租约库,可以查到ip分配情况
  /var/lib/dhcpd/dhcpd.leases
  /var/lib/dhcpd/dhcpd6.leases
  4.1 CentOS6下dhcp服务配置文件管理:
  4.1.1 首先编辑dhcp主配置文件:
  /etc/dhcp/dhcpd.conf
  option domain-name "richie.com";  #dhcp主机名
  option domain-name-servers 192.168.229.141; #名称服务器的地址
  default-lease-time 600;  #默认租约秒数
  max-lease-time 7200;#最大租约秒数
  log-facility local7;    #log级别
  subnet 192.168.229.0 netmask 255.255.255.0 {
  range 192.168.229.201 192.168.229.220; #可供分配的ip段
  option routers 192.168.229.1, 192.168.229.2; #如果在最近配置的option routers那就直接饮用,如果没有,那就会自动继承上一级的option
  }  #子网配置格式
  当编辑完,保存退出,可以使用这个命令来检测语法错误:
  service dhcpd configtest
  4.1.2 配置ip地址预留:
  需要在subnet {} 内部,配置host{}格式如下:
  subnet 192.168.229.0 netmask 255.255.255.0 {
  host windows1 {
  hardware ethernet 00:0c:29:0:f3:44;
  fixed-address 192.168.229.222;
  option routers 192.168.0.1 #这里可以针对这台机器设置option routers的值,而不用继承上一级的网关信息
  }
  }
  最后,保存退出
  service dhcpd force-reload
  测试效果:
  linux client:
  dhclient -d eth0
  window client:
  ipconfig /renew
  4.1.3 配置开机自启动:
  还是老命令chkconfig dhcpd on, 默认会将init级别2,3,4,5都设置为开机自启动, 也可以使用 chkconfig --level 2,3,4 来自己指定需要的运行级别自启
  4.1.4 管理dhcp服务
  service dhcpd {start|stop|restart|force-reload|condrestart|try-restart|configtest|status}
  4.2 CentOS 7下的DHCP服务管理
  4.2.1 配置文件:
  同CentOS6上的配置,参见4.1.1
  4.2.2 配置ip地址预留:
  同CentOS6上的配置,参见4.1.2
  4.2.3 配置开机自启动:
  由于CentOS6/7的系统服务管理机制的不同,CentOS7引入了systemd来管理所有的服务,所以不能再使用chkconfig命令来设置,需要使用:
  # systemctl is-enabled DAEMON.service 查看dhcp服务状态, 相当于C5的 chkconfig --list dhcpd
  # systemctl enable DAEMON.service启用开机自启动dhcp服务, 相当于C5的 chkconfig dhcpd on
  # systemctl disable DAEMON.service  禁用开机自启动dhcp服务, 相当于C5的 chkconfig dhcpd off
  4.2.4 管理dhcp服务
  # systemctl {start|stop|restart|status} DAEMON.service
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号