《Linux就该这么学》培训笔记_ch14_使用DHCP动态管理主机地址
《Linux就该这么学》培训笔记_ch14_使用DHCP动态管理主机地址
文章最后会post上书本的笔记照片。
文章主要内容:
动态主机地址管理协议
动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是让局域网中的主机自动获得网络参数(IP地址、子网掩码、网关地址以及DNS地址等参数)。
DHCP涉及的常见术语:
- 作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数。
- 超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表。
- 排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。
- 地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围。
- 租约:DHCP客户端能够使用动态分配的IP地址的时间。
- 预约:保证网络中的特定设备总是获取到相同的IP地址。
作用域=地址池+排除范围。地址池才是真正可分配的IP地址范围。
租约有默认租约(软限制)和最大租约(硬限制)。
预约是通过绑定设备MAC和IP地址,使得该设备总是获取该IP地址。
部署dhcpd服务程序
安装dhcp服务程序:yum install -y dhcp。
dhcpd服务的配置文件:/etc/dhcp/dhcpd.conf。内容只有几行注释,配置文件需要自行编辑。注释中有指明可以参考示例文件/usr/share/doc/dhcp*/dhcpd.conf.example。
dhcpd服务程序配置文件的架构:
一个标准的配置文件应该包括全局配置参数、子网网段声明、地址配置选项以及地址配置参数。其中,全局配置参数用于定义dhcpd服务程序的整体运行参数;子网网段声明用于配置整个子网段的地址属性。
dhcpd服务程序配置文件中使用的常见参数以及作用:
参数 | 作用 |
ddns-update-style 类型(ddns:动态DNS地址更新技术) |
定义DNS服务动态更新的类型,类型包括: none(不支持动态更新)、interim(互动更新模式)与ad-hoc(特殊更新模式) |
allow/ignore client-updates | 允许/忽略客户端更新DNS记录 |
default-lease-time | 默认超时时间 |
max-lease-time | 最大超时时间 |
option domain-name-servers 8.8.8.8 | 定义DNS服务器地址 |
option domain-name "domain.org" | 定义DNS域名 |
range | 定义用于分配的IP地址池 |
option subnet-mask | 定义客户端的子网掩码 |
option routers | 定义客户端的网关地址 |
broadcast-address 广播地址 | 定义客户端的广播地址 |
ntp-server IP地址 | 定义客户端的网络时间服务器(NTP) |
nis-servers IP地址 | 定义客户端的NIS域服务器的地址 |
hardware 硬件类型 MAC地址 | 指定网卡接口的类型与MAC地址 |
server-name 主机名 | 向DHCP客户端通知DHCP服务器的主机名 |
fixed-address IP地址 | 将某个固定的IP地址分配给指定主机 |
time-offset 偏移差 | 指定客户端与格林尼治时间的偏移差 |
自动管理IP地址
实例1:保证至少100台设备能够使用机房的本地DHCP服务器自动获取IP地址并正常上网。
虚拟机先把服务端和客户机的自带dhcp服务关闭,以免冲突。
dhcp服务器192.168.10.10要做的:编辑dhcpd服务的配置文件,注意dhcpd服务配置文件中的每行参数后面都需要以分号(;)结尾,重启dhcpd服务并加入开机启动项。
vim /etc/dhcp/dhcpd.conf
ddns-update-style none; #设置DNS服务不自动进行动态更新
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 ; #定义默认租约时间(单位:秒)
max-lease-time ; #定义最大预约时间(单位:秒)
} #结束符
systemctl start dhcpd #重启dhcpd服务
systemctl enable dhcpd #把dhcpd服务加入启动项
客户机要做的:设置网卡为自动获取IP地址(多种配置网卡的方法,编辑网卡配置文件、nmtui、nm-connection-editor均可),重启网卡服务(systemctl restart network),查看网卡参数看是否自动获取了ip地址(ifconfig)。
分配固定IP地址
在DHCP中,“预约”用来确保局域网中特定的设备总是获取到固定的IP地址。即该地址只会分配给特定设备,即使特定设备不在该局域网内,该地址也不会分配出去。
MAC地址是网卡上面的一串独立的标识符,具备唯一性,不会存在冲突的情况。通过IP地址与设备MAC地址绑定即可实现为设备分配固定IP地址的功能。
dhcp服务器要做的:
- 获取特定设备的MAC地址(直接查看设备的网卡信息获得;或先通过启动dhcpd程序为设备分配IP地址,查看dhcp服务器本地的日志文件/var/log.message的相关记录,当中就会有分配过IP地址的设备的MAC地址信息);
- 按下面格式编辑dhcpd配置文件,重启dhcpd服务:
vim /etc/dhcp/dhcpd.conf
...
subnet x.x.x.x netmask x.x.x.x {
...
host 主机名称 { #包裹在作用域定义中
hardware ethernet 该主机的MAC地址;
fixed-address 欲指定的IP地址;
}
}
注意,Windows系统中看到的MAC地址,格式为xx-xx-xx-xx-xx-xx,间隔符为减号(-)。但是在Linux系统中,MAC地址的间隔符则为冒号(:),在Linux中配置dhcpd服务的IP地址与MAC绑定时,MAC的间隔符也为冒号(:)。
实例2:在实例1的基础上,配置dhcpd,使得特定客户机总是获取特定IP地址192.168.10.88。
dhcp服务器:
vim /etc/dhcp/dhcpd.conf
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 ;
max-lease-time ;
host linuxprobe {
hardware ethernet 00:0c:29:e9:be:e2;
fixed-address 192.168.10.88;
}
}
systemctl restart dhcpd
MAC地址为00:0c:29:e9:be:e2的客户机:重启网卡服务。查看网卡信息,能看到IP地址会变成192.168.10.88。
书本笔记
《Linux就该这么学》培训笔记_ch14_使用DHCP动态管理主机地址的更多相关文章
- Linux基础学习-使用DHCP动态管理主机地址
动态主机配置协议 部署dhcpd服务程序 参数 作用 ddns-update-style none; 设置DNS服务不自动进行动态更新 ignore client-updates; 忽略客户端更新DN ...
- Linux 最小化安装后IP的配置(DHCP获取IP地址)
图形化Linux的DHCP好配置,我就不讲了.主要将一下Linux最小化安装后IP的配置: linux最小化安装后没有ifconfig这个命令: yum install net-tools.x86_6 ...
- LInux 就该这么学 笔记分享
看了Linux就该这么学的前部分书,觉得写的还可以,就在网上找了下面这个同学写的笔记,觉得很详细,所以保存地址,供以后查阅参看.这里对作者表示感谢!!! 博客地址: https://www.cnblo ...
- Linux就该这么学笔记
https://www.linuxprobe.com/========================================================================= ...
- linux-RHEL7.0 —— 《Linux就该这么学》阅读笔记
目录 linux-RHEL7.0 安装部署 修改root密码 RPM(红帽软件包管理器) YUM(软件仓库) Systemd初始化进程 总结 linux命令 帮助命令 man 系统工作命令 echo ...
- 《Linux就该这么学》
参加了第19期课程的培训,感谢刘老师的辛苦付出,课程讲的很好,真心推荐老刘的这本书真是<Linux就该这么学>!!! 本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的 ...
- 《Linux就该这么学》第二期视频
Linux就该这么学--第二期学习笔记... ------------- 你的未来取决于你现在点点滴滴的努力 需要用到的一些工具: Vm11激活码 ---------- root在Linux系统中相当 ...
- 《Linux就该这么学》day3
ps:原谅我的书法出自鲁迅的<野草> <Linux就该这么学>书本介绍: 本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极 ...
- 《Linux就该这么学》day1-day2
ps:原谅我的书法出自鲁迅的<野草> <Linux就该这么学>书本介绍: 本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极 ...
随机推荐
- C++初探
//string1.cpp #include <iostream> int main() { using namespace std; ]={'d','o','g'}//这是char数组, ...
- 阿里云Centos7用putty ssh链接掉线
解决方法:修改云服务器 ssh 配置文件(修改前一定要先备份) (1)打开配置文件: vim /etc/ssh/sshd_config 1 (2)找到下面两行: ClientAliveInterval ...
- PIE SDK图像重采样算法
1.算法功能简介 图像重采样是指对采样后形成的由离散数据组成的数字图像按所需的像元位置或像元问距重新采样,以构成几何变换后的新图像.重采样过程本质上是图像恢复过程,它用输入的离散数字图像重建代表原始图 ...
- 何为KVM克隆和快照
KVM的克隆.快照都是老生常谈的问题,资料也非常多,这里只是针对个人实验的记录,方便以后查阅. 虚拟机克隆 虚拟机的克隆操作是再频繁不过了,安装好第一台虚拟机后就可以进行基础设置,已此虚拟机为模板,以 ...
- HighChat动态绑定数据 数据后台绑定(三)
今天看了几位大佬的博客,学到了一些,现在分享一下,也作为以后的参考 不多说看代码 1.后台代码 public ActionResult Ajax2() { ReportData reportData ...
- vue-cli随机生成port源码
const portfinder = require('portfinder'): const port = await portfinder.getPortPromise(): 两行代码 端口搜索范 ...
- 跟着9张思维导图学习Javascript js 关键字和保留字 css3中的BFC,IFC,GFC和FFC
跟着9张思维导图学习Javascript 学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将 po 出我收集的 9 张 javascript 相关的思维导图(非原创). 思维导图小ti ...
- dos2unix的使用
由于在DOS(windows系统)下,文本文件的换行符为CRLF,而在Linux下换行符为LF,使用git进行代码管理时,git会自动进行CRLF和LF之间的转换,这个我们不用操心.而有时候,我们需要 ...
- Elasticsearch高版本安装head插件
安装Elasticsearch 1.安装Elasticsearch-6.5.4.tar.gz [merce@info5 ~]$ cd /appmerce/zrapp/ [merce@info5 zra ...
- 201671030126 赵佳平 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...