Linux服务篇-DHCP解析

DHCP

1、简介

DHCP , Dynamic Host Configuration Protocol 动态主机配置协议

使用UDP协议工作
作用:
1、 给内部网络或网络服务供应商自动分配IP地址,主机名,域名,DNS等
2、 配合其它服务,实现集成化管理功能。如:无人执守安装服务器 工作模式:C/S模式

一个IP地址只能给一个主机提供,可以给某个主机提供特定的IP
有多个服务器存在时,不能查看被其他服务器转发出去的地址,客户机以最先获得IP地址的服务器为主

BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身,它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。

BOOTP的缺点:在设定前须事先获得客户端的硬件地址,MCA地址与IP的对应是静态的。缺乏“动态性 ”,若在有限的IP资源环境中,BOOTP的一对一对应会造成浪费。

路由器不允许BOOTP协议,DHCP是不可以跨网段的,dhcp由BOOTP发展而来,bootps代表服务端端口, bootpc代表客户端端口
端口号:67,68
Linux服务篇-DHCP解析_第1张图片

2、原理

DHCP Discovery请求地址,DHCP服务器回应offer,存在多个服务器,客户机只接收第一个回复它的offer的,然后以广播的形式回复request,统治所有的dhcp服务器,我将选择某服务器给我地址,服务器进行确认,然后把地址等信息给客户机
客户机重新登陆时,直接发送request请求,服务器回复继续请求原来地址ack确认,如果地址分配给其它用户使用了,服务器会给客户机回答一个DHCP nack否认信息,此时,客户机需要重新discover请求
Linux服务篇-DHCP解析_第2张图片
客户端以广播的形式发送请求报文,只有dhcp服务器会响应
服务器以广播的形式回复,确保地址么有冲突
客户端请求地址,服务器没有响应,客户端会为主机分发一个169.254.0.0/16网段的一个地址

查看路由

[root@qianshuiliyu ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.172.168.1   0.0.0.0         UG    0      0        0 ifcfg-wang
0.0.0.0         192.172.168.1   0.0.0.0         UG    1024   0        0 ifcfg-wang
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 ifcfg-wang
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.172.168.0   0.0.0.0         255.255.255.0   U     0      0        0 ifcfg-wang

使用时间
DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新租约。
更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。(就是合同快到期了,提前续约)
租期超过50%:续约(request)。(续不上继续用)
租期到87.5%:再次续约。(续不上找别人)
解除租约:dhcprelease(随时都可以)

3、安装

dhcp-common-4.1.1-25.P1.el6.x86_64.rpm   
#包括DHCP客户端和服务端共同需要的一些文件
dhclient-4.1.1-25.P1.el6.x86_64.rpm     
  #dhcp客户端
dhcp-4.1.1-25.P1.el6.x86_64.rpm     
 # dhcp 服务端包

查看安装包

[root@qianshuiliyu ~]# yum list all |grep dhcp
源 'local' 在配置文件中未指定名字,使用标识代替
dhcp-common.x86_64                     12:4.2.5-27.el7             @anaconda/7.0
dhcp-libs.x86_64                       12:4.2.5-27.el7             @anaconda/7.0
dhcp.x86_64                            12:4.2.5-27.el7             local        
dhcp-libs.i686                         12:4.2.5-27.el7             local    

挂载之后进行安装
Linux服务篇-DHCP解析_第3张图片

4、配置文件与参数说明

查找配置文件路径
Linux服务篇-DHCP解析_第4张图片

这里里面说DHCP服务的配置文件在那个路径,让你查看这个模板
Linux服务篇-DHCP解析_第5张图片
将所给路径的配置文件复制过来进行使用替换掉当前的配置文件

[root@qianshuiliyu ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

编辑配置文件

重启要在编辑完配置文件之后,如果不设置配置文件启动会失败,dhcp服务器配置的IP地址和默认配置文件里定义的地址段不相同
在启动DHCP服务之前,需要给DHCPServer配置一个静态的IP地址,临时的就可以

Linux服务篇-DHCP解析_第6张图片

参数
在花括号{}里面的参数以分号;作为分隔。一个分号一句话,只在{}里面有效

# option definitions common to all supported networks...
# 定义全局配置,默认支持所有的网络选项.
option domain-name "example.org";
# 为客户端指定所属的域(地址池)
option domain-name-servers ns1.example.org, ns2.example.org;
# 为客户端指定DNS服务器地址
default-lease-time 600;
# 默认租赁时间,秒
max-lease-time 7200;
# 最大租赁时间,当客户端超过租约时间,保留7200s,没有请求,就给别人用了
log-facility local7;
# 日志类型为  local7
subnet 网络号 netmask 掩码 {
     
range 起始IP 结束IP ;
# 指定地址范围,可以过个,地址不能重复
option routers IP
# 户端指定默认网关
option domain-name xx
客户端指定默认的域(地址池)
option domain-name-servers IP 地址
# 客户端指定DNS 服务器地址

host 主机名 {
      #匹配的时候按照真实的主机名进行匹配,这里方便你查看
hardware 类型硬件地址,MAC地址
fixed-address IP地址 #进行绑定的ip
}
}


修改配置文件的内容为,配置文件这里特别容易出问题,内容没错也可能导致失败,那样就重新cp
Linux服务篇-DHCP解析_第7张图片

租约信息,保存地址
最开始是空的,因为刚配置没有分配的地址,

[root@qianshuiliyu dhcp]# cat /var/lib/dhcpd/dhcpd.leases 

查看服务
在这里插入图片描述
在这里插入图片描述

5、实战

可以添加一个网卡,也可以用当前的网卡,我这里用当前的,都要保证c/s在同一个网络
Linux服务篇-DHCP解析_第8张图片
开机之后查看网卡,客户机与服务器的

如果添加新网卡,进行查看,不显示加-a参数

[root@qianshuiliyu ~]# ifconfig -a
============================================================
# 启动关闭的网卡
[root@qianshuiliyu ~]#ifconfig eno33554992 up 

修改服务器网卡地址,要与配置文件在同一个网络,否则启动失败

[root@qianshuiliyu ~]# ifconfig eno33554984 192.168.1.30
# 这个地址要与配置文件的在同一个网段

启动服务

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

在客户机上设置自动获取,或者在配置文件里进行设置

Linux服务篇-DHCP解析_第9张图片
Linux服务篇-DHCP解析_第10张图片
Linux服务篇-DHCP解析_第11张图片
Linux服务篇-DHCP解析_第12张图片
查看路由
Linux服务篇-DHCP解析_第13张图片
此时就有租约信息了
Linux服务篇-DHCP解析_第14张图片

6、超级作用域(了解)

超级作用域是DHCP 服务器的一种管理功能,使用超级作用域可以将多个作用域组合为单个管理实体,进行统一的管理操作。

使用超级作用域,DHCP 服务器能够具备以下功能: • 通过这种方式,DHCP 服务器可为单个物理网络上的客户机提供多个作用域的租约。
支持 DHCP 和BOOTP 中继代理,能够为远程DHCP 客户端分配TCP/IP 信息,搭建DHCP 服务器时,可以根据网络部署需求,选择使用超级作用域。
现有网络IP 地址有限,而且需要向网络添加更多的计算机,最初的作用域无法满足要求,需要使用新的IP 地址范围扩展地址空间。
客户端需要从原有作用域迁移到新作用域;当前网络对IP 地址进行重新规划,使客户端变更使用的地址,使用新作用域声明的IP 地址。

格式
shared-network 超级作用域名称 { #作用域名称,标示超级作用域
[参数]
该参数对所有子作用域有效,可以不配置
subnet 网络号 netmask 子网掩码 {
[参数]
[声明]
}
}

Linux服务篇-DHCP解析_第15张图片

你可能感兴趣的:(LINUX篇,linux,运维,centos,安全)