Linux学习笔记:DHCP服务的基础配置
本文将介绍DHCP服务的入门配置,是初学者必看的。
DHCP(dynamic host configuration protocol)为动态主机配置协议,该协议能够自动的分配主机的IP地址、掩码、网关、DNS等TCP/IP信息。BOOTP(引导协议)是DHCP协议的前身,该协议在搭建无盘工作站时应用广泛。但是BOOTP协议不够灵活,客户机只能得到固定的IP地址,如果客户机长时间不用该IP地址通信,那么就造成了IP地址的浪费。而DHCP有个租约期限,超过该期限了,就将自动收回IP地址。
简单地介绍了什么是DHCP协议,那么先看看DHCP服务都有什么优点:
Ø 减少了管理员的工作量,集中管理TCP/IP的设置。
Ø TCP/IP的配置是自动化完成的,安全且可靠的机制。可以统一给客户机配置附加的TCP/IP信息,比如网关、DNS等。
Ø 如果路由器可以转发DHCP请求,只需在一个子网中搭建一个DHCP中继服务器就可以像其他的子网提供TCP/IP配置的服务支持。 Ø 同时DHCP减少了手工配置IP地址的错误,一般用于存在大量主机的网络或者存在较多移动办公设备的网络(比如笔记本,可以配置动态获取的同时配置备用配置,当离开一个动态获取的网络时启用备用配置)
在进行配置之前有必要再了解一下DHCP服务的常用术语: Ø DHCP服务器:运行DHCP服务的计算机
Ø DHCP客户端:从DHCP服务器获取地址的计算机 Ø 作用域:在服务器上定义的一个完整的可用可分配的IP地址范围。 Ø 超级作用域:管理级的作用域集合,用于支持同一个物理网络上的多个逻辑子网,对作用域进行统一的管理。 Ø 地址池:作用域中包含的可以的地址范围。
Ø 租约:客户机可以使用已获取的IP地址的时间。
Ø 预约:预约可以保证子网上的特定硬件设备总是使用相同的IP地址。
Ø 选项:统一的配置某个子网的其他TCP/IP参数,如DNS、网关。 Ø 选项类别:提供特定的客户机支持。
那么DHCP服务器具体是怎么工作的呢?下面用一个图表来进行阐述:
DHCP服务将进行以下的通信过程
接下来将从以下几个方面来具体的学习DHCP服务器的初级配置 Ø DHCP所需要的软件 Ø DHCP的安装
Ø DHCP的常规配置思路以及配置文件的组成 Ø 租约数据库文件
Ø 编辑DHCP的配置文件,实现基本的客户端获取 Ø 编辑DHCP的配置文件,实现客户端的地址保留
(1)、在安装DHCP服务之前,先了解一下DHCP需要的软件,以及它们的用途
Ø Dhcp-3.0.5-3.el5.i386.rpm 这个是DHCP的主程序包,包括DHCP
服务和中继代理程序
Ø Dhcp-devel-3.el5.i386.rpm 这个是DHCP服务器开发工具软件包,为DHCP开发提供库文件支持
Ø Dhcpv6-0.10-33.el5.i386.rpm这个是DHCP的IPv6扩展工具 Ø Dhcpv6_client-0.10-33.el5.i386.rpm这个是DHCP客户端IPv6软件包,帮助客户端获取动态IP地址 (2)、DHCP的安装
安装之前,先检查一下系统中是否已安装了DHCP软件包,使用:rpm –qa | grep dhcp
如果系统未安装,则可以使用rpm命令安装,如图:
(3)、DHCP 的常规配置思路以及配置文件的组成 基本的DHCP服务器的搭建流程要分三步: Ø 编辑主配置文件dhcpd.conf ,指定IP作用域 Ø 建立租约数据库文件
Ø 重新加载配置文件或重新启动dhcpd服务,使配置生效 DHCP的配置文件有以下三个部分组成: 参数(parameters) 声明(declarations)
选项(option)
Dhcp.conf文件大致分为两个部分:全局配置和局部配置。通常情况下dhcpd.conf 文件是不存在的,需要手动建立该文件,在主程序包安装后,会自动生成主配置文件的范本文件/usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample,我们可以手动使用CP命令把该文件复制到/etc/目录下,然后重命名为dhcpd.conf,再根据实际的需要进行修改即可.
打开dhcpd.conf,看看具体的全局和局部配置 使用vi /etc/dhcpd.conf
当一行内容结束时,以“;”结束,大括号所在的行除外 对于常用的参数的介绍将在后续的笔记中详细描述 (4)、租约数据库文件
该数据库是一个可编辑的ASCII的格式的文本文件,当DHCP被安装好时,租约数据库并不存在。然而,它在启动时却需要这个数据库。所有我们需要手工建立一个空白的文件vi/var/lib/dhcpd/dhcpd.leases即可,当服务器正常运行后,就可以用cat查看到该数据库中的内容了,主要是一些租约声明和相关信息。
(5)、下面我们通过一个小的实验来编辑DHCP的配置文件,使客户端可自动获取
实验背景:技术部有20台计算机,所使用的IP地址段为192.168.0.1-192.168.0.254,子网掩码为255.255.255.0,网关为192.168.0.1,192.168.0.2-192.168.0.30保留给服务器用,客户端仅可以使用192.168.0.128-192.168.0.254,剩余IP备用。
使用vi /etc/dhcpd.conf 编辑配置文件,修改相应的字段,如下所示:
对上述文件的内容说明如下:
Ddns-update-style none 设置动态DNS的更新方式为none Igore client-updates 忽略客户端更新 设置IP的作用域为192.168.0.0
Option routers 设置默认网关为192.168.0.1 Option subnets 设置子网掩码为255.255.255.0
Range dynamic-bootp 设置地址池的范围从192.168.0.128到192.168.0.254
Default-lease-time 设置默认的地址租约的时间 Max-lease-time 设置客户端最大地址租约时间 其他的信息不需要修改,保持默认 重新启动DHCP服务
或者使用:/etc/rc.d/init.d/dhcpd restart也可以
或者使用:/etc/rc.d/init.d/dhcpd restart也可以
当然也可以使用命令ntsysv,利用文本图形界面对dhcpd自动加载进行配置,如图
下面我们到客户端验证一下配置的效果(注意:DHCP客户端获取IP地址是从最大的IP地址开始获取的,我们可以看到获取的IP地址是192.168.0.254,这个跟widows正好相反了) 编辑客户端的网卡配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
或者在RHEL4中直接使用图形界面,输入命令netconfig,回车,更改地址配置的方式为自动获取
重新启动一下网卡服务
查看获取到的IP地址信息如下: 我们先看看windows客户端获取的IP
再看看Linux获取的IP
(6)、下面进行Linux初级配置的最后一项:编辑DHCP的配置文件,实现客户端的地址保留,即在DHCP中的IP地址固定分配给某客户端使用,例如:服务器需要使用固定的IP地址就可以通过IP地址的保留来实现,下面做详细的介绍:
需要用到:
Host 主机名 用于定义保留地址
Hardware 类型 硬件地址 定义网络接口类型及硬件地址
Fixed-address IP地址 定义DHCP客户端指定的IP地址,该项只能用于host申明中
假如我们给服务器配置一个保留地址192.168.0.188,可以编辑主配置文件dhcpd.conf加入下图的内容
再次重新启动一下dhcpd服务
好了,关于LinuxDHCP服务的基础配置就全部学习完了,在后续的文章中将陆续介绍一些DHCP服务的高级配置: Ø DHCP的多作用域的配置 Ø DHCP的超级作用域的配置 Ø DHCP中继代理的配置
Ø DHCP的排错思路
因篇幅问题不能全部显示,请点此查看更多更全内容