DHCP服务搭建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7kNzXGBZ-1601434020970)(E:\笔记\centos\未命名文件 (1)].jpg)
dhcp工作过程
1.客户端TCP/IP地址与0.0.0.0绑定在一起,发送DHCP Discover (DHCP发现)广播信息包到本地子网,该信息包发送给UDP端口67(服务器端口)
2.DHCP 服务器都会接受DHCP Discover信息包,DHCP服务器会接收DHCP发现会检查是否有提供给请求客户端的空闲地址,如果有,则以DHCP Offer(DHCP提供)信息包作为响应, 所有发送DHCP Offer信息包的服务器都保留他们提供的ip地址(这个地址不会分配给其他的客户端),DHCP Offer 信息包广播发送到UDP端口68(客户端端口),响应是以广播的方式发送的,因为客户端没有能直接寻址的IP地址
3.客户端对提议进行响应,并且广播的方式发送 DHCP Request (DHCP 请求)信息包作为回应,相当于告诉服务器是的,我想让你给我提供服务,我接受你租用的期限,这个信息发送的整个子网中,网络中的所有服务端都可以读取这条信息包,那些提议没有被可以被客户端承认的DHCP服务器将保留的IP发送到客户端的的可用地址池,同时客户端可以利用DHCP请求询问服务器其他的配置选项
4.服务器接收到 DHCP请求 ,将会回送一个DHCP确认信息包作为响应,该信息包提供了客户端请求的任何其他信息,并且也是以广播方式发送的告诉客户端,一切准备好,记住你只能在有限的时间内租用该地址。
注意,如果第一步得不到DHCP的响应,客户端会使用 169.254.0.0/16网段中ip地址配置本机地址
DHCP 客户进行IP租约
取得ip租约后,DHCP 客户机必须定期更新租约,否则当租约到期,更不能在使用此Ip地址。按照RFC的默认规定,每当租用时间超过租约%50和%87时,客户机就必须发出DHCP发现,向DHCP服务器更新租约,DHCP客户机是以点对点的方式进行发送的不在进行广播。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XsN14bU4-1601434020973)(C:\Users\admin\Downloads\未命名文件 (3)].jpg)
具体过程为下
当租期已过去%50时,DHCP客户机向服务器发送DHCP发现 ,如果接受到DHCP的消息包,客户机就根据包中所提供的新的租期以及其他已经更新的tcp/ip参数,更新性能自己的配置,ip租用更新成功,如果没有收到服务器的恢复,客户机继续使用现有的IP地址
如果租期过去%50时未能联系,则客户机将在当前租期过去87.5时再次联系想起提供IP地址的DHCP。如果联系不成功,则重新开始ip租用过程
DHCP客户机重新启动时,将尝试更新上次关机时拥有的IP租用,如果更新未能成功,客户机将尝试联系现有IP租用时间想通过的子网上继续使用现有的ip地址,如果为未能于默认网关取得来呢西,客户机则认为自己已将被移到不同的子网上。
实验环境
配置环境 192.168.153.133
DHCP搭建步骤详解
服务端
1.DHCP软件的安装
yum install dhcp -y
如果有网络安装源请使用网络安装,如果没有网络请参考本人的另一条博客配置本地yum源
暂时关闭防火墙
systemctl stop firewalld
systemctl status firewalld
永久关闭防火墙
systemctl disable firwalld
selinux设置
配置文件 /etc/sysconfig/selinux
临时关闭:输入命令
setenforce 0
,重启系统后还会开启。
2、永久关闭:输入命令E
vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled
,然后保存退出。
配置DHCP 文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
解释DHCP 文件
ddns-update-style interim; #表示所支持的DNS动态更新类型 none不支持动态更新 interim DNS互动更新模式 ad-hoc表示特殊DNS更新模式 此行必选
ignore client-updates;#忽略客户端更新此参数只在服务器端使用
subnet 192.168.0.0 netmask 255.255.255.2{
#定义作用域指定子网网络号与DHCP服务器网络号相同
option routers 192.168.0.1; #默认网关
option subnet-mask 255.255.255.0;#子网掩码
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.1.1;
指定DNS服务器 配置多个DNS服务器:
option domain-name-servers 192.168.1.1,192.168.1.2;
}
range dynamic-bootp 192.168.0.128 192.168.0.254; #指定动态IP地址范围。可指定多个range,但所定义IP范围不能重复。
default-lease-time 21600; #定义默认IP租约时间,单位秒
max-lease-time 43200; #默认客户端IP租约时间的最大值
host ns {
#用于定义保留地址 就是IP MAC绑定的IP
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD; MAC
fixed-address 207.175.42.254; 定义DHCP客户端指定的IP地址。
}
service dhcpd stop
service dhcpd start
netstat -tlun
#注意,可能发现无法启动DHCP服务,原因是DHCP在启动的时候检查配置文件,发现并没有有效的作用域(和服务器同网段的作用域)
在生产环境中不建议使用
service network restart
一般的计算机都是多张网卡,
ifdown ifup
指定网卡命令 ;是没有逻辑关系的命令
tail -10 /var/lof/messages
客户端
1.设置DHCP自动获取
2.重启网卡服务
systemctl restart network
3.查看enss33IP地址.MAC地址
ifconfig ens33
1.ens33有IP需要先释放
[root@bogon ~]# dhclient -r ens33
dhclient是一个DHCP协议客户端,它使用DHCP协议或者BOOTP协议或在这两个协议都不可用时使用静态地址来配置一个或多个网络接口
-r 释放当前租约并停止正在运行的DHCP客户端
-d 强制dhclient作为前台进程运行。
注:如果释放不了,先执行-d选项获得一次再释放
[root@bogon ~]# ifconfig ens33 查看释放后的效果
2.使用dhclient命令来获得IP
[root@bogon ~]# dhclient -d ens33
停止正在运行的DHCP客户端
-d 强制dhclient作为前台进程运行。
注:如果释放不了,先执行-d选项获得一次再释放
[root@bogon ~]# ifconfig ens33 查看释放后的效果
2.使用dhclient命令来获得IP
[root@bogon ~]# dhclient -d ens33
实例可参考本人的另一篇博客