DHCP 工作原理
1. 了解DHCP服务
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是由Internet 工作 任务小组设计开发的,专门用于为TCP/IP 网络中的计算机自动分配TCP/IP 参数的协议。 DHCP 服务避免了因手动设置IP 地址所产生的错误,同时也避免了把一个 IP地址分配给多 台工作站所造成的地址冲突。DHCP 提供了安全、可靠且简单的TCP/IP 网络设置,降低了配置IP地址的负担。
2. 使用DHCP的好处
减少管理员的工作量。
避免输入错误的可能。
避免IP地址冲突。
当网络更改IP地址段时,不需要再重新配置每个用户的IP地址。
提高了IP地址的利用率。
方便客户端的配置。
3.DHCP 的分配方式
在 DHCP 的工作原理中,DHCP 服务器提供了三种IP 地址分配方式:自动分配(Automatic Allocation)、 手动分配和动态分配 (DynamicAllocation )。
自动分配是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久地使用这个IP地址。
手动分配是由DHCP服务器管理员专门指定IP 地址。
动态分配是当DHCP客户机第一次从DHCP服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个IP 地址,供其他客户机使用。
4.DHCP 的租约过程
客户端从 DHCP 服务器获取 IP 地址的过程称之为 DHCP 租约过程,此过程主要分为以下四个步骤。
客户端在网络中搜索服务器;
服务器向客户端响应服务;
客户端向服务器发出服务请求;
服务器向客户端提供服务。
(1)客户机请求 IP地址
(2)服务器响应
(3)客户机选择 IP 地址
(4)服务器确定租约
(5)重新登录
DHCP客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的IP 地址的 DHCP Request 请求信息。
(6)更新租约
当DHCP服务器向客户机出租的 IP 地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约。
使用 DHCP 动态配置主机地址
使用DHCP服务可以为大量客户机自动分配地址并提供集中管理,能够减轻管理和维护成本、提高网络配置效率。其中 DHCP 服务可分配的地址信息主要包括:
网卡的 IP 地址、子网掩码;
对应的网络地址、广播地址;
默认网关地址;
DNS 服务器地址;
配置DHCP服务器
1. 安 装 DHCP 服务器软件
2. 建立主配置文件 dhcpd.conf
1)/etc/dhcp/dhcpd.conf 文件的配置构成
在主配置文件 dhcpd.conf 中,可以使用声明、参数、选项这三种类型的配置,各自的作用和表现形式如下所述。
声明:用来描述 dhcpd 服务器中对网络布局的划分,是网络设置的逻辑范围。较 常见的声明是 subnet、host, 其 中 subnet声明用来约束一个网段, host 声明用来约束一台特定的主机。
参数:由配置关键字和对应的值组成,总是以“;”(分号)结束, 一般位于指定的声明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)。
选 项 : 由“option ”引导,后面跟具体的配置关键字和对应的值,也是以“;”结束,用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS 服务器地址等)。
2) dhcpd 服务的全局配置为了使配置文件的结构更加清晰,全局配置通常会放在配置文件 dhcpd.conf 的开头部分,可以是配置参数,也可以是配置选项。常用的全局配置参数和选项如下所述。
ddns-update-style, 动态 DNS 更新模式。用来设置与 DHCP 服务相关联的 DNS 数据动态更新模式。在实际的DHCP应用中很少用到该参数,将值设为“none ”即可。
default-lease-time, 默认租约时间。单位为秒,表示客户端可以从 DHCP 服务器租用某个 IP 地址的默认时间。
max-lease-time, 最大租约时间。单位为秒,表示允许 DHCP 客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间。
option domain-name, 默认搜索区域。为客户机指定解析主机名时的默认搜索域, 该配置选项将体现在客的/etc/resolv.conf 配置文件中,如“search benet.com”。 option domain-name-servers,DNS 服务器地址。为客户机指定解析域名时使用的DNS 服务器地址,该配置选项同样将体现在客户机的/etc/resolv.conf 配置文件 中 ( 如“nameserver 202.106.0.20”)。 需设置多个 DNS 服务器地址时,以逗号进行分隔。
3)subnet网段声明
一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明必须有而且可以有 多个。
4)host 主机声明(可选)
host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固 定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的IP 地址相同,以确保服务的稳定性。
3. 启 动 dhcpd 服 务
使用 DHCP 客户端
当局域网内有可用的DHCP 服务器时,在Linux 客户机中可以设置使用 DHCP 的方式 获取地址。只需要编辑对应网卡的配置文件,修改或添加“BOOTPROTO=dhcp” 配置行,并 重新加载配置文件或者重新启动 network 服务即可。
DHCP 中继
1.DHCP 中继原理
当企业内部网络规模比较大时,通常通过VLAN 将网络规划为多个不同的子网。但是 在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为DHCP协议使用广播,而VLAN能隔离广播。
针对以上问题,一般有两种解决方案:
为每个网段安装一台DHCP 服务器,但这种方式的弊端是:资源浪费与不利于管理;
在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN之间转发,让其他VLAN 的客户机也能从 DHCP服务器获取IP地址,
2.DHCP 中继配置
DHCP 中继的配置命令:ip helper-address DHCPsrv-IPAddress 。其中 ,DHCPsrv-IPAddress 为 DHCP服务器的IP 地址。