目录
引言:
一、DHCP介绍
1.dhcp概述
2.使用DHCP的好处
3.使用dhcp的原因
二、DHCP的模式及分配方式
1.dhcp 的模式(典型的C/S模式)
2.dhcp的分配方式
三、DHCP工作原理
1.客户机请求IP地址
2.服务器响应
3.客户机选择IP地址
4.服务器确定租约
5.重新登陆
6.更新租约
7.为什么会获得169.254.0.0/16网段的地址
四、使用DHCP动态配置主机地址
1.DHCP服务
2.可分配的地址信息主要包括
3.安装DHCP服务器DHCP服务器软件
4.主配置文件
5.启动DHCP服务
6.使用DHCP客户端
五、CentOS7环境中配置命令步骤
1.设置DHCP配置文件
2.设置全局配置(一般默认)
3.网段声明
4.host主机声明
5.最后开启服务
六、案例:动态分配IP地址
1.ensp上设置云服务器主机
2.ensp上配置三层交换机lsw2
3.ensp上配置二层交换机lsw1
4.配置网卡IP
5.重启网卡,查看网卡信息
6.安装dhcp,查看并找到配置文件
7.编辑dhcp配置文件
8.选择虚拟机网络类型
9.关闭防火墙并进行ping验证
七、总结
DHCP是TCP/IP网络中的计算机自动分配tcp/Ip参数的协议,减少了ip地址的浪费和维护成本,除此之外还能减少配置ip时的各种错误。
DHCP(Dynamic Host Confiquration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配tcp/Ip参数的协议,是一个应用层协议,使用UDP的67和68端口。DHCP的前身是BooTp协议(BootstrapProt0co1),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BooTp更加复杂,功能更强大。(如果使用wire shark抓包过滤协议是用bootp而不是dhcp)
网络工程师任务小组组织指定,用来简化主机地址分配管理主
要分配以下,入网参数
-IP地址/子网掩码/广播地址
-默认网关地址、DNS服务器地址
-PXE引导设置(TFTP服务器地址、引导文件名)
由于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的地址,不仅造成了IP地址的浪费,也会为 ISP服务商带来高额的维护成本。而使用DHCP服务则有以下好处:
1.减少管理员的工作量。
2.避免输入错误的可能。
3.避免IP地址冲突。
4.当网络更改P地址段时,不需要再重新配置每个用户的IP地址。
5.提高了IP地址的利用率。
6.方便客户端的配置。
DHCP服动设所产错,同时也避免了把一个地址分配给多台工作站所造成的地址冲突。DHCE提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。
在网络中假设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址、子网掩码、默认网关地址、DNS服务器地址、广播地址),其他主机作为DHcP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程
DHCP服务端和客户端需要保持通信,DHCP基于UDP协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。
server端:DHCP Server(运行dhcp服务) UDP服务:监听端口67 ( bootps)
client端:DHCP Client(运行dhcp程序) UDP服务:监听瑞口68 ( bootpc)
1.自动分配是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久地使用这 个IP地址。
2.手动分配是由DHCP服务器管理员专门指定IP地址。
3.动态分配是当DHCP客户机第一次从DHCP服务器获取地址后,并非永久地使用该地址,而是在 每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用。
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
当客户机收到DHCPACK消息时,配置IP地址,完成TCP/IP的初始化
DHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCPACK报文,则租期事新成功(即相期从0开始计算):如果收到DHCPNAK报文,则重新发送DHCP DTSCOVER报文请求新的IP地址。
当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCE REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCPAK报文,则重新发DHCP DISCOVER报文请求新的IP地址。
一开始HCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCP DISCOVER广播包,请求租用地址。任何接收到DHCPDTSCOVERI播包并且能够提供IP地址的DHCP服务器,都会通过udp端口68给客户机回应一个DHCP OFFER广播包,提供一个IP地址。但是,DHCP客户机在发出IP租用请求的DHCP DISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应 ,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Window s的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址。
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
DHCP软件包的主要文件
主配置文件:letc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
ddns-update-style interim; ###全局配置参数
subnet 192.168.0.0 netmask 255.255.255.0 { ###网段声明
option routers 192.168.0.1; ###配置选项
.....
default-lease-time 21600; ###配置参数
......
host ns {
fixed-address 207.175.42.254; ###主机声明
}
全局设置,作用于整个DHCP服务器
ddns-update-style none;
default-lease-time 21600;
max-lease-time 43200;
option domain-name "domain.org";
option domain-name-servers 202.106.0.20;
Subnet网段声明,作用于整个子网段
range参数:设置用于分配的IP地址池
option subnet-mask参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
[root@localhost ~]# vi /etc/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0{
range192.168.4.128 192.168.4.131;
option subnet-mask 255.255.255.0;
option routers 192.168.4.1;
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# netstat -anpu | grep ":67"
udp 0 0 0.0.0.0:67 0.0.0.0:* 5684/dhcpd
查看租约文件/varllibldhcpd/dhcpd.lease
[root@localhost ~]# less /varllibldhcpd/dhcpd.leases
lease 192.168.4.131{ ###分配得客户端IP
starts 4 2017/05/11 17:27:15; ###租期时间
ends 4 2017/05/11 23:27:15;
cltt 4 2017/05/11 17:27:15;
binding state active;
hardware ethernet 00:0c:29:3b:ff:76; ###客户端MAC地址
}
两种使用方式
修改网卡配置文件(如ifcfg-ens33)
BOOTPROTO=dhcp
使用dhclient命令
dhclient [-d] [网络接口名]
[root@localhost ~]# viletclsysconfig/network-scriptslifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
[root@localhost ~]# ifdown ens33 ; ifup ens33
yum -y install dhcp #首先安装dhcp,系统默认没有安装
cd /etc/dhcp
less dhcpd.conf #看一下dhcp配置文件,大多无内容
cd /usr/share/doc/dhcp-4.2.5 #dhcp配置文件参考模板
less dhcpd.conf.example #查看配置文件参考模板
cp /usr/share/doc/dhcpd.conf.example /etc/dhcp/dhcpd.conf #将模板文件复制到配置文件中
vim /etc/dhcp/dhcpd.conf #进入编辑dhcp配置文件
default-lease-time 21600; #默认租约为 6 小时,单位为秒
max-lease-time 43200; #最大租约为 12 小时,单位为秒
option domain-name "……"; #指定默认域名
option domain-name-servers ……; #指定 DNS 服务器地址
ddns-update-style none; #禁用 DNS 动态更新
作用于整个子网段,部分配置参数优先级高于全局配置参数
subnet 192.168.80.0 netmask 255.255.255.0 { #首先声明dhcp服务器网段以及子网掩码
range 192.168.80.10 192.168.80.20; #设置ip地址池
option routers 192.168.80.254; #指定默认网关
}
subnet 192.168.1.0 netmask 255.255.255.0 { #其次声明其他网段以及子网
range 192.168.1.100 192.168.1.200; #设置ip地址池
option routers 192.168.1.254; #指定默认网关
}
……
给单机分配固定的IP地址
host hostname { #指定需要分配固定IP地址的客户机名称
hardware ethernet xx:xx:xx:xx:xx:xx; #指定该主机的MAC地址
fixed-address 192.168.80.100; #指定保留给该主机的IP地址
}
systemctl start dhcpd #开启dhcp服务
systemctl stop firewalld #关闭防火墙
sentenforce 0 #关闭防火墙
netstat -naup | grep 67 #查看服务是否启动
tail -f /var/log/messages #如果启动失败,可以通过查看日志文件来排查错误
客户端验证:
ipconfig /release
ipconfig /renew
接下来进入虚拟机来配置
接下来去到ensp中主机dhcp动态获取一下IP
DHCP工作原理
DHCP服务器配置方法
DHCP客户端获取IP地址
DHCP中继原理与配置