DHCP:dynamic host configuration protocol动态主机配置协议 曾用bootp(老旧系统)
应用规模:终端超过五台,建议使用
分配信息: IP 地址
NETMASK 掩码
GATEWAY 网关
DNS1 DNS服务器
DNS2
DOMAIN 域名
优点:自动获取,方便配置,防止冲突
缺点:相比手动配置,DHCP服务端配置繁琐
架构组成:客户,服务
专有名词:
dhcp客户端:需要获取ip等信息
dhcp服务端:提供ip等信息
dhcp作用域:可分配ip地址连续范围,如192.168.18.0/24,其IP范围为1-254
排除范围:一个网段中不能被分配的ip
dhcp地址池:作用域减排除范围,可用地址
保留地址(地址绑定):将ip和mac地址绑定
租约:服务器和客户端IP租用期限(租约时间限制,生产环境,建议时间为8-10小时)
dhcp共享作用域(dhcp超级作用域):一堆作用域的集合
中继代理:用于在不同网段中,转发DHCP请求信息的设备
工作流程: 租用请求:客户端网络启动后,会向网络中广播一个DHCP请求信息,所有机器都会收到(包括服务端和其它的客户端),不是 dhcp服务端的主机会丢掉信息
客户 租用提供 服务:服务端给客户回应,提供一个没有被使用ip
租用选择:如果当前网络中有多个dhcp服务端,客户端会收到多个回应,一般客户机会选择首先收到的ip,并且广播一条信息, 声明已经接受一个服务端ip
(租用确认之前,服务器仅提供ip地址,不提供其他)
租用确认:服务端收到客户端声明信息,会将余下信息(掩码和网关等)发送给客户机
状态:
租约时间(租约更新):
过去50%时:客户端主动联系服务端,如果收到回应,会使用服务端重新分配的ip(可能是之前的,可能为新),如果没有收到回应,继续使用
过去75%时:客户端主动联系服务端,如果收到回应,会使用服务端重新分配的ip(可能是之前的,可能为新),如果没有收到回应,继续使用
过去87.5%时:客户端主动联系服务端,如果收到回应,会使用服务端重新分配的ip(可能是之前的,可能为新),如果没有收到回应,客户端会重新开始租约过程,使用网内其它dhcp服务端提供的ip。如果网内没有dhcp服务端回应,客户端仍可使用之前的地址,直到租约到期
注意:客户端重 取的IP,重启后会主动联系dhcp服务端,如果租约没有到期,且得到服务端回应,客户机会继续使用之前的IP,否则会每五分钟尝试一次IP租用
租用失败:
windows会自动设置成169.254.*.*
linux上没有地址
配置文件 配置文件:/etc/dhcp/dhcpd.conf
模板文件:/usr/share/doc/dhcp*/dhcpd.conf.sample
中继代理配置文件:/etc/sysconfig/dhcrelay
租约文件: 服务:/var/lib/dhcpd/*leases
客户:/var/lib/dhclient/*leases
安装:yum -y install dhcp
步骤:
服务器和客户端需要在一个网段
1. 安装dhcp服务(前提是挂载镜像并做好yum源才可安装dhcp)
# yum -y install dhcp
2. 配置dhcp服务器
# vim /etc/dhcp/dhcpd.conf
(将模板文件复制在配置文件中,可在配置文件中找到模板文件的路径。
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf)
1. 删除没用的:空行和注释
2. 删除没用的作用域,只留一个最全的作用域
3. 局部/全局互为缺省,可只留一个(建议留局部)
4. 地址绑定(可留可删)
5. 作用域内可删除域名和广播地址
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.200 192.168.7.249;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option routers 192.168.7.1;
default-lease-time 600;
max-lease-time 7200;
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5;
fixed-address 192.168.7.222;
}
3. 启动服务
先把虚拟机变成仅主机模式,然后给自己配同网段ip
# systemctl start dhcpd.service
查看状态:systemctl status dhcpd.service
重启服务:systemctl restart dhcpd.service
关闭服务:systemctl stop dhcpd.service
4. 测试
找一个客户端,尝试获取地址
作业:
第一题:自己搭建一个环境,让另一台虚拟机获取相应网段ip
1.首先做一个yum源,安装dhcp服务,
2.编辑配置文件,删除多余内容,编辑剩余内容
3.把自己的主机网络模式设置成仅主机,
3.启动服务:systemctl start dhcpd.service
4.测试:另开一台虚拟机,然后设置网络模式为仅主机,(因为第一台虚拟机是仅主机,那么他和物理机是同一网段,第二台虚拟机也设置为仅主机,那么说明这两台虚拟机是同一网段,)然后获取IP,则获取到的是在配置文件中设置的网段
成功!
第二题:给该虚拟机绑定ip地址,然后该虚拟机获取地址时获取到指定IP
1.在配置文件中编辑对应物理机mac地址和对应ip
2.重启dhcp服务
重启服务:systemctl restart dhcpd.service
3.重启该虚拟机,然后获取IP,得到相应IP地址
成功!