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

5. DHCP配置命令总结

一个简单dhcp服务的配置文件至少需要包含如下的配置信息:

dhcpd.conf

option domain-name

option domain-name-servers

option routers

subnet NETWORK netmask MASK {

range START_IP END_IP;

host HOSTID {

hardware ethernet 00:11:22:33:44:55;

fixed-address IP;

}

}

========================================================

例子:

dhcpd.conf

option domain-name "richie.com";

option domain-name-servers 192.168.229.141;

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

subnet 192.168.229.0 netmask 255.255.255.0 {

range 192.168.229.201 192.168.229.220;

option routers 192.168.229.1, 192.168.229.2;

host windows1 {

hardware ethernet 00:0c:29:30:f3:44;

fixed-address 192.168.229.211;

}

}

(0)

相关推荐

  • linux下Samba服务和NFS服务配置的方法

    linux下Samba服务和NFS服务配置 一、Samba服务配置过程 samba的功能很简单,就是为了使linux和windows之间能够实现共享。并且利用samba搭建文件服务器,不仅比windo ...

  • Windows7十大禁忌服务介绍

    相信大家对Windows7这个名字已经是十分的熟悉,它出色的地方除了继承并超越vista的美观界面,人性化任务栏,并且有XP兼容性八成功力,真是当今世上一个不错的操作系统。 Vista的失败除了它“强 ...

  • Windows7下十个不能关闭的服务介绍

    相信大家对Windows7这个名字已经是十分的熟悉,它出色的地方除了继承并超越vista的美观界面,人性化任务栏,并且有windows xp兼容性八成功力,真是当今世上一个不错的操作系统。 Vista ...

  • Linux操作系统中Samba服务介绍

    Samba介绍: 早期在UNIX之间,或者LINUX之间可以通过FTP共享资源,还可以通过NFS共享资源,现在更多的是通过SAMBA服务器。 SAMBA主要的目的就是替换早期NFS服务,SAMBA服务 ...

  • Print Spooler服务停止 打印机服务无法启动的完美解决方案共享

    print spooler服务停止的话会导致很多问题产生。比如打印机列表全空了,或者在安装驱动程序时电脑提示RPC错误等等,一般这种情况下我们只需要重新启动print spooler服务既可。有些时候 ...

  • 怎么使用Win10的电源管理配置关机按钮动作

    我们在使用Win10 电脑的时候,想要通过使用电源管理配置关机按钮动作,以达到节能降耗的目的,该怎么操作呢?今天就跟大家介绍一下怎么使用Win10的电源管理配置关机按钮动作的具体操作步骤.步骤1.进入 ...

  • 如何卸载windows的服务?卸载服务?

    Windows服务是可以卸载的.下面,我们来看看如何卸载windows的服务吧. 操作方法 01 控制面板 打开控制面板,如下图所示: 02 管理工具 在搜索框中输入[管理工具],如下图所示: 03 ...

  • 安装网卡时提示"名称已用作服务名或服务显示名"的解决办法(图文)

    【问题】安装无线网卡驱动,出现错误:“名称已用作服务名或服务显示名” 【解决方法】 1.打开驱动文件夹,在对应操作系统目录下,找到.inf文件。 2.打开.inf文件,按Ctrl+F搜索关键字“Dis ...

  • 安装驱动时"名称已用作服务名或服务显示名"的解决方法

    情况一: 安装无线网卡驱动,出现错误:"名称已用作服务名或服务显示名". [解决方法] 1.打开驱动文件夹,在对应操作系统目录下,找到.inf文件. 2.打开.inf文件,按Ctr ...