DHCP
了解DHCP服务
DHCP(Dyname Host Configuration Protocol,动态主机配置协议)
由Internet工作任务小组设计开发
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
了解DHCP服务
使用DHCP的好处
减少管理员的工作量
避免输入错误的可能
避免ip地址冲突
当更改ip地址段时,不需要重新配置每个用户的ip地址
提高了ip地址的利用率
方便客户端的配置
DHCP的分配方式
自动分配:分配到一个ip地址后永久使用
手动分配:由DHCP服务器管理员专门指定ip地址
动态分配:使用完后释放该ip工其他客户机使用 ·、
DHCP的租约过程
客户机从dhcp服务器获得ip地址的过程称为DHCP的租约过程
分为四个步骤
服务器的响应
DHCP服务器接收到来自客户机请求ip地址的信息时,在自己的ip地址池中查找是否有合法的ip地址提供给客户机
如果有,DHCP服务器将此ip地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
客户机选择ip地址
DHCP客户机从接收到的第一个DHCP Offer消息中提取ip地址,发出ip地址的DHCP服务器将该地址保留,这样改地址就不能再分配给另一台DHCP客户机
服务器确定租约
DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包好有ip地址的有效租约和其他可配置的信息
当客户机收到DHCP ACK消息时,配置ip地址,完成TCP/IP的初始化
重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCP DDDDDiscvoe信息,而是直接发送给包含前一次所分配的ip地址的DHCP Request请求信息
更新租约
当DHCP服务器向客户机出租的ip地址租期达到50%时,就需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
使用DHCP动态配置主机地址
DHCP服务
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括
网卡的ip地址子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
安装DHCP服务器软件
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
DHCP软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
dhcp.conf的内容构成
全局设置,作用于整个DHCP服务器
ddns-update 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地址池
opiton subnet-maks参数:设置客户机的子网掩码
option routers参数:设置客户机的默认网关地址
host主机声明,作用于单个主机
hardware ethernet参数:指定对应主机的MAC地址
fixed-address参数:指定为该主机保留的ip地址
启动DHCP服务
[root@localhost dhcp]# systemctl restart dhcpd
[root@localhost dhcp]# netstat -nuap | grep “67”
udp 0 0 0.0.0.0:67 0.0.0.0:* 17862/dhcpd
查看租约文件 /var/lib/dhcpd/dhcpd.lease
[root@localhost dhcp]# less /var/lib/dhcpd/dhcpd.leases
lease 20.0.0.100 { //分配的客户端IP
starts 1 2020/07/06 01:32:20; //租期时间
ends 1 2020/07/06 01:42:20;
cltt 1 2020/07/06 01:32:20;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:27:b0:7f; //客户端MAC地址
uid “\001\000\014)’\260\177”;
client-hostname “hu-PC”;
}
开启一台CentOS7和一台window10的虚拟机
在CentOS7中执行
[root@localhost ~]# setenforce 0
[root@localhost ~]# iptables -F
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# yum install dhcp* -y
然后更改两台主机为仅主机模式,绑定vmnet1网卡
[root@localhost ~]# rpm -q dhcp //查看dhcp包的安装情况
dhcp-4.2.5-68.el7.centos.1.x86_64
[root@localhost ~]# rpm -qc dhcp //查看dhcp的配置文件
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases
[root@localhost ~]# cd /etc/dhcp
[root@localhost dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]# vim dhcpd.conf
复制dhcp模板 /usr/share/doc/dhcp*/dhcpd.conf.example
删掉* 换成- 按两下tab键
[root@localhost dhcp]# cp /usr/share/doc/dhcp-/dhcpd.conf.example
dhcp-4.2.5/ dhcp-common-4.2.5/
复制到/etc/dhcp目录下
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost dhcp]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost dhcp]# systemctl restart network
[root@localhost dhcp]# ifconfig //查看地址是否生效
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf
:set nu
shift+G
(一共104行)
光标移动到server后
d$ 删除到行尾
输入地址
12
option domain-name-servers 8.8.8.8;
:wq
[root@localhost dhcp]# netstat -nuap
[root@localhost dhcp]# systemctl start dhcpd
[root@localhost dhcp]# netstat -nuap
更改window10为自动获取IP地址
全局和子段中的配置冲突时
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf
option domain-name-servers 9.9.9.9;
重启DHCP服务
[root@localhost dhcp]# systemctl restart dhcpd
在Windows10中
释放
再重新获取
子段中的9.9.9.9生效
复制其中的MAC地址
在CentO S7中
[root@localhost dhcp]# vim /etc/dhcp/dhcpd.conf
复制的mac地址-改成:
:wq 保存退出
重启DHCP服务
[root@localhost dhcp]# systemctl restart dhcpd
在Windows10中
释放
再重新获取