1、 DHCP协议
软件名:dhcp
程序名:dhcpd
1.1 DHCP 工作原理
客户机从DHCP服务器 获得IP地址的过程,称为DHCP的租约过程。
DHP的工作原理是四个报文:discover 、 offer 、 request 、ack
- discover :找寻DHCP服务器;
- offer:服务器回复discover报文,并且携带网络配置信息(ip 地址 网关 子网掩码等信息)
- request:客户机回复request报文,告知自己收到了 配置项,并且已经使用;
- ack:服务器回复ack报文,确定客户机可以使用分配的ip地址。
1.2 DHCP的分配方式
- 自动分配:不实用,一般不使用这个
- 手动分配:比如打印机、会议室投影设备
- 动态分配:使用完释放该ip,其他客户机可以使用。
2、实验
2.1 实验一:实现DHCP自动获取
2.1.1 安装软件
yum install dhcp -y
2.1.2 修改配置文件
- 查询配置文件
[root@localhost ~]# rpm -qc 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 ~]# cat /etc/dhcp/dhcpd.conf #主配置文件位置
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
##主配置文件里是空的,要去指定的路径查看
[root@localhost ~]# ls /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example #查看上面指定的路径
[root@localhost ~]# vim /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
#复制指定路径文件夹到 主配置文件下面
- 编辑配置文件(;代表结束 一定不能少!)
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
#复制原32-35 共4行 快捷键yy+P(大P)
32 subnet 192.168.125.0 netmask 255.255.255.0 { #网段 、 子网掩码
33 range 192.168.125.120 192.168.125.200; #设置地址池
34 option routers 192.168.125.2; #网关
35 option domain-name-servers 218.2.135.1; #DNS解析
36 }
#上面内容属于局部配置参数,优先级高于全局配置参数。
- 启动dhcp
systemctl start dhcpd #注意:dhcp后面有d,这是程序名称
2.1.3 验证 检测
2.1.3.1 在VM虚拟机中验证:
- 在VM8中,勾掉dhcp选项
- 修改(另一台设备)网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.1.3.2 在windows中验证:
实验结果: 按照dhcp配置文件设置的相关规则,获取了地址池内(192.168.125.20 - 192.168.125.50)的IP,即192.168.125.21
2.2 实验二:固定ip地址的DHCP
2.2.1 查看mac地址
- 第一种方法:
- 第二种方法:
2.2.2 设置配置文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
#修改83-85行
83 host fantasia {
84 hardware ethernet 00:0C:29:0F:72:90; #固定机器的mac地址,中间用":"隔开
85 fixed-address 192.168.125.201; #自定义ip地址,但必须和本机在同一网段。
86 }
[root@localhost ~]# systemctl restart dhcpd
附:windows中cmd操作命令:
ipconfig /release #释放
ipconfig /renew #更新所有适配器
ipconfig --help #帮助
ipconfig /all #显示详细信息
2.3 实验三:时间同步(优化)
[root@localhost ~]# date #查看时间
2024年 04月 25日 星期四 21:50:14 CST
[root@localhost ~]# date -s '-1 years' #当前时间 减去一年
2023年 04月 25日 星期二 21:50:41 CST
#时间不对,可能会影响上网。
2.3.1 ntpdate
外网环境同步时间
[root@localhost ~]# ntpdate ntp.aliyun.com
25 Apr 21:57:40 ntpdate[5584]: step time server 203.107.6.88 offset 31622391.477451 sec
[root@localhost ~]# date
2024年 04月 25日 星期四 21:57:49 CST
2.3.2 chrony
内网环境同步时间
[root@localhost ~]# yum install chrony.x86_64 -y #安装chrony软件
[root@localhost ~]#vim /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
# Allow NTP client access from local network. #允许哪个网段时间同步
#allow 192.168.0.0/16
allow 0.0.0.0 #允许所有,简单粗暴!
systemctl restart chronyd.service #改完配置文件,一定要记得重启服务!!!!
#切换电脑 同步时间
[root@wxj ~]# vim /etc/chrony.conf
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst #前面都注释掉
server 0.0.0.0 iburst #设置允许同步的网段
[root@wxj ~]# systemctl restart chronyd #重启服务
ntpdate + ip地址 #与指定设备 同步时间