第14章 使用DHCP动态管理主机地址

章节简述:

DHCP协议服务能够自动化的管理局域网内的主机IP地址,有效的提升IP地址使用率,提高配置效率,减少管理与维护成本。

学习dhcpd服务程序的使用方法并逐条讲解配置参数,完整演示自动化分配IP地址、绑定IP地址与mac地址等实验。

DHCP中继代理技术是多个物理网段共同一台DHCP服务器的最佳解决方案,运维人员必学的实用技术之一。

本章目录结构

  • 14.1 动态主机管理协议
  • 14.2 安装dhcpd服务程序
  • 14.3 自动管理IP地址
  • 14.4 分配固定IP地址
  • 14.5 DHCP中继代理
14.1 动态主机管理协议

DHCP动态主机管理协议(Dynamic Host Configuration Protocol)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理、分配IP地址。

DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址、子网掩码、网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维护成本。

DHCP协议能够保证任何IP地址在同一时刻只能由一台DHCP客户机使用,且能够为指定主机分配固定的IP地址。

DHCP服务程序的常见术语:

作用域:一个完整的IP地址段,DHCP服务根据作用域来管理网络的分布、分配IP地址及其他配置参数。

超级作用域:用于支持同一物理网络上多个逻辑IP地址子网段,包含作用域的列表,并对子作用域统一管理。
排除范围:将某些IP地址在作用域中排除,确保这些IP地址不会被提供给DHCP客户机。
地址池:在定义DHCP服务的作用域并应用排除范围后,剩余用来动态分配给DHCP客户机的IP地址范围。
租约:即DHCP客户机能够使用动态分配到的IP地址的时间。
预约:保证局域子网中特定设备总是获取到相同的IP地址。

14.2 安装dhcpd服务程序

dhcpd服务程序用于提供DHCP协议服务,确认镜像挂载且yum仓库配置完毕后即可开始安装:

[[email protected] ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分安装过程………………
> Package dhcp.x86_64 12:4.2.5-27.el7 will be installed
………………省略部分安装过程………………
Complete!

dhcpd服务程序与配置文件:

编辑
主配置文件 /etc/dhcp/dhcpd.conf
执行程序 /usr/sbin/dhcpd
/usr/sbin/dhcrelay

先来分析下dhcp程序的主配置文件吧:

[[email protected] ~]# cat /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page

是的,你没有看错!dhcpd服务程序的配置文件默认只有注释语句,需要参考下模板文件:

[[email protected] ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example

一个标准的DHCP配置文件应该包括全局配置参数子网网段声明地址配置选项以及地址配置参数

全局配置参数用于定义整个配置文件的全局参数,而子网网段声明用于配置整个子网段的地址属性,具体参数有:

编辑
参数 作用
ddns-update-style 类型 定义DNS服务动态更新的类型,类型包括:
none(不支持动态更新),interim(互动更新模式)与ad-hoc(特殊更新模式)。
allow/ignore client-updates 允许/忽略客户机更新DNS记录。
default-lease-time 21600 默认超时时间。
max-lease-time 43200 最大超时时间。
option domain-name-servers 8.8.8.8 定义DNS服务器地址。
option domain-name "domain.org" 定义DNS域名。
range 定义用于分配的IP地址池。
option subnet-mask 定义客户机的子网掩码。
option routers 定义客户机的网关地址。
broadcase-address 广播地址 定义客户机的广播地址。
ntp-server IP地址 定义客户机的网络时间服务器(NTP)。
nis-servers IP地址 定义客户机的NIS域服务器的地址。
hardware 硬件类型 MAC地址 指定网卡接口的类型与MAC地址。
server-name 主机名 通知DHCP客户机服务器的主机名。
fixed-address IP地址 将某个固定IP地址分配给指定主机。
time-offset 偏移差 指定客户机与格林尼治时间的偏移差。

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

14.3 自动管理IP地址

DHCP协议的初衷是更高效的集中管理管理局域网内IP地址资源,那么符合让DHCP服务更准确的完成工作呢?

为了让实验更有挑战性,我们来模拟一个真实环境吧:

运维部:
明日约有50名外部学员自带笔记本设备来我司培训学习,请保证学员能够用DHCP获取IP地址并正常上网。

机房网段及参数如下:

编辑
参数名称
默认租约时间 21600秒
最大租约时间 43200秒
IP地址范围 192.168.10.50~192.168.10.150
子网掩码 255.255.255.0
网关地址 192.168.10.1
DNS服务地址 192.168.10.1
搜索域 linuxprobe.com

看完配置要求后,首先请准备实验环境:

编辑
主机类型 操作系统 IP地址
DHCP服务端 红帽RHEL7操作系统 192.168.10.1
DHCP客户机 红帽RHEL7操作系统 DHCP自动获取地址

请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

  • 配置虚拟机网络类型(两台主机都要配置成一样的)。

  • 配置DHCP服务端的IP地址。

  • 配置DHCP客户机的网卡。

另外因为虚拟机软件VmwareWorkstation默认开启了虚拟机DHCP服务,必需关闭后再进行DHCP实验:

当您确定两台主机的网卡和虚拟机都已经配置妥当,那么就开始配置DHCP服务程序吧:

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
//请注意dhcpd服务程序的配置文件中每个参数均需要以;号结尾。
//请将下面表格中的参数逐行写入到dhcpd.conf文件中。
编辑
参数 作用
ddns-update-style none; 设置DHCP服务不自动动态更新。
ignore client-updates; 忽略客户机更新DNS记录。
subnet 192.168.10.0 netmask 255.255.255.0 { 作用域为192.168.10.0/24网段。
range 192.168.10.50 192.168.10.150; IP地址池为192.168.10.50-150(约100个IP地址)。
option subnet-mask 255.255.255.0; 定义客户机默认的子网掩码。
option routers 192.168.10.1; 定义客户机的网关地址。
option domain-name "linuxprobe.com"; 定义默认的搜索域。
option domain-name-servers 192.168.10.1; 定义客户机的DNS地址。
default-lease-time 21600; 定义默认租约时间。
max-lease-time 43200; 定义最大预约时间。
} 此为结束符

重启dhcpd服务程序:

[[email protected] ~]# systemctl start dhcpd

添加到开机启动项中:

[root@linuxprobe ~]# systemctl enable dhcpd
ln -s ‘/usr/lib/systemd/system/dhcpd.service‘ ‘/etc/systemd/system/multi-user.target.wants/dhcpd.service‘

因为在红帽RHCSA、RHCE或RHCA考试后都要重启您的实验机再执行判分脚本。

所以请读者在日常工作中也要记得将需要的服务加入到开机启动项中:”systemctl enable dhcpd“。

此时在DHCP客户机上重启网卡设备,即可自动获取到IP地址:

14.4 分配固定IP地址

DHCP协议的术语预约指的就是保证局域子网中特定设备总是获取到相同的IP地址,换句话说dhcpd服务会将某个IP地址私藏下来,只有匹配到特定主机了才会拿出来分配,而要做IP地址与主机的绑定,需要使用下面的参数格式:

编辑
host 主机名称 {        
  hardware ethernet 该主机的MAC地址;  
  fixed-address 欲指定的IP地址;    
}        

查看到要绑定IP地址的主机mac地址(00:0c:29:27:c6:12):

在DHCP配置文件中添加绑定语句:

ddns-update-style none;
ignore client-updates;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.50 192.168.10.150;
option subnet-mask 255.255.255.0;
option routers 192.168.10.1;
option domain-name "linuxprobe.com";
option domain-name-servers 192.168.10.1;
default-lease-time 21600;
max-lease-time 43200;

host linuxprobe {
hardware ethernet 00:0c:29:27:c6:12;
fixed-address 192.168.10.88;
}
}

确定配置参数填写正确后重启dhcpd服务:

[[email protected] ~]# systemctl restart dhcpd

DHCP客户机重新加载网卡设备后查看到顺利绑定到了指定的IP地址,不错哦~

出现问题?大胆提问!

因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~

Linux技术交流请加A群:560843(),B群:340829(推荐),C群:463590(推荐),点此查看全国群

*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。

14.5 DHCP中继代理

DHCP中继代理(即DHCP Relay Agent)用于转发来自于另一个没有DHCP服务器子网段中客户端的DHCP请求,即当一台DHCP客户端发起请求后,此时DHCP中继代理就会将已经预先定义好的DHCP服务器的信息转发给客户端。

如果客户机与DHCP服务器处在同一个子网段,则客户机自然能够顺利动态获取到IP地址,但若客户机与DHCP服务器处在不同的子网段或物理网段,则需要DHCP Relay Agent来处理和转发DHCP协议信息,换句话说,DHCP中继代理可以让每个物理子网不再必需配有一台DHCP服务器,而是将请求转发给指定的DHCP服务器。

在BOOTP模式中执行dhcrelay服务(DHCPv4):

第1步:复制服务程序

[[email protected] ~]# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/

第2步:编辑服务程序

[[email protected] ~]# vim /etc/systemd/system/dhcrelay.service
在ExecStart参数中添加指定DHCP服务器地址
 ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.10.1
 如果希望仅某个网卡专门用于监听DHCP请求,则在ExecStart选项中追加-i参数,默认全部网卡均监听。
 ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.10.1 -i eno16777736

第3步:启动dhcrelay中继服务程序。

[[email protected] ~]# systemctl --system daemon-reload
[[email protected] ~]# systemctl restart dhcrelay
[[email protected] ~]# systemctl enable dhcrelay

坦白讲,一般DHCP中继功能在日常工作使用较少,或由路由器负责DHCP中继功能,极少用红帽Linux系统搭建。

时间: 2024-10-24 09:43:05

第14章 使用DHCP动态管理主机地址的相关文章

linux学习14章-使用DHCP动态管理主机地址和15章使用Postfix与Dovecot部署邮件系统

2019年12月14日 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数. 简单来说,DHCP协议就是让局域网中的主机自动获得网络参数的服务.在图14-1所示的拓扑图中存在多台主机,如果手动配置每台主机的网络参数会相当麻烦,日后维护起来也让人头大.而且当机房内的主机数量进一步增加时(比如有100台,甚至1000台),这个手动配置以及维

使用DHCP动态管理主机地址

一.动态管理主机协议DHCP 1)DHCP是一种基于UDP协议且仅限用于局域网的协议,主要用途是为局域网网络设备自动分配IP地址. 2)DHCP服务成语术语: 作用域:一个完整的网段,DHCP服务根据作用域来管理网络的分布.分配IP地址及其他参数: 超级作用域:用于支持同一物理网络上多个逻辑IP地址分配子网.包含作用域的列表,并对子作用域统一管理: 排除范围:将某些IP地址在作用域中排除,避免这些IP地址分配给DHCP客户机: 地址池:在定义DHCP服务的作用域和排除范围后,剩余的地址用来动态分

linux学习-使用DHCP动态管理主机地址

1 动态主机管理协议 DHCP动态主机管理协议(Dynamic Host Configuration Protocol)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设备或网络供应商自动分配IP地址,通常会应用在大型的局域网环境中或局域网内存在比较多的移动办公设备,DHCP协议能够实现集中的管理.分配IP地址. DHCP服务程序能够使局域网内的主机自动且动态的获取IP地址.子网掩码.网关地址以及DNS服务器地址等信息,且能够有效的提升地址使用率,提高配置效率,减少管理和维

使用DHCP服务动态管理主机地址

动态主机配置协议(DHCP,Dynamic Host Configuration Protocol),该协议用于自动管理局域网内主机的IP地址.子网掩码.网关地址及DNS地址等参数,可以有效地提升IP地址的利用率,提高配置效率,并降低管理与维护成本. 动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数. dhcpd是Linux系统中用于

使用DHCP动态配置主机地址

前言: DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,在网络中架设一台专用的DHCP服务器,负责集中分配各种网络地址参数. DHCP协议相关的数据包:RARP→discovery→offer→request→ack 实验环境:Centos6.5,配置好本地yum仓库 Server:192.168.1.1 Client1:DHCP获得地址 client2:获得DHCP保留地址192.168.1.10 服务端配置:↓↓ [[email prote

Linux的虚拟机拷贝到另外的操作系统时,NAT方式的静态IP无效,一直是获取的DHCP动态地址

一.问题: 1.Linux虚拟机在A机的虚拟机中是NAT方式DHCP动态获取IP,设置了静态地址,IP地址不会发生变化,但是拷贝到B机上的虚拟机后,一直获取的时动态IP地址,无法得到静态IP. 2.执行/etc/init.d/network restart报错: [[email protected] init.d]# ./network restart 正在关闭接口 ens33: 错误 : [/etc/sysconfig/network-scripts/ifdown-eth] 设备 具有 MAC

C++ primer plus读书笔记——第12章 类和动态内存分配

第12章 类和动态内存分配 1. 静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域运算符来指出静态成员所属的类.但如果静态成员是整形或枚举型const,则可以在类声明中初始化. P426-P427类静态成员的声明和初始化 //strnbad.h class StringBad { private: static int num_strings; … }; //strnbad.cpp int StringBad::num_strings = 0; 不能在类声明中初始化静态

第14章 启动文件详解—零死角玩转STM32-F429系列

第14章     启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料<STM32F4xx 中文参考手册>第十章-中断和事件:表 46. STM32F42xxx 和 STM32F43xxx 的向量表:MDK中的帮助手册—ARM Development Tools:用来查询ARM的汇编指令和编译器相关的指令. 14.1 启动文件简介 启动文件由汇编编写,是

第14章 启动文件详解

第14章     启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料<STM32F4xx 中文参考手册>第十章-中断和事件:表 46. STM32F42xxx 和 STM32F43xxx 的向量表:MDK中的帮助手册-ARM Development Tools:用来查询ARM的汇编指令和编译器相关的指令. 14.1 启动文件简介 启动文件由汇编编写,是