DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络管理协议,用于自动分配和管理TCP/IP网络中的IP地址、子网掩码、默认网关、DNS服务器等参数。DHCP使得网络管理员能够集中并自动地管理网络中计算机的TCP/IP配置信息,减少手动设置的工作量,同时确保了网络资源的有效利用
①DHCP客户端请求:
当一台新的设备加入到网络中时,它会广播一个DHCP Discover报文,请求DHCP服务器为其提供网络参数。
②DHCP服务器响应:
DHCP服务器接收到Discover报文后,会选择一个未被使用的IP地址,然后向DHCP客户端发送一个包含该IP地址和其他网络参数的DHCP Offer报文。
③DHCP客户端确认:
DHCP客户端收到Offer报文后,会选择其中一个DHCP服务器的offer,并向该服务器发送一个DHCP Request报文,请求使用提供的IP地址。
④DHCP服务器确认:
DHCP服务器收到Request报文后,会向DHCP客户端发送一个DHCP Ack报文,确认IP地址的分配。
在整个过程中,如果DHCP客户端希望续约其租期,将在租期快结束时发送DHCP Renew或DHCP Rebind请求来更新租约;如果DHCP服务器同意续约,则发送DHCP Acknowledgment进行确认。当客户端不再需要IP地址时,可以发送DHCP Release消息释放IP地址资源
DHCP的分配方式有三种
1.自动分配:分配到一个IP地址后永久使用
2.手动分配:由DHCP服务器管理员专门指定IP地址
3.动态分配:使用完后释放该IP,供其它客户机使用
首先第一步:yum? install? dhcp? -y? 安装dhcp程序
安装完之后直接使用systemd服务是无法打开的
可以看到,这个配置文件类似于手册一样,所以读取这个文件是无法开启的
现在来修改一下这个配置文件
先将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example文件内容内容复制到/etc/dhcp/dhcod.conf中,然后再去修改它
设置全局DNS为114.114.114.114(8.8.8.8),租约单位为秒
注意:要以封号结尾
保存退出后,重新启动一下服务就可以打开了
这个时候我们去验证一下
使用Linux系统验证
将客户机的网址获取方式改为dhcp
保存退出后重启网卡? systemctl? restart network??
如果你是使用远程服务,如Xshell连接的,此时会直接断开,因为IP地址改变,远程登录服务匹配不到IP地址
使用Windows系统验证
修改获取地址方式为dhcp
首先获取客户机的MAC地址
将客户机的MAC地址写到配置文件中
重启dhcpd服务后,再去客户机查看?
在Linux系统中,时间同步是一个关键的系统维护任务,确保所有系统时钟与世界协调时间(UTC)保持一致。
是一个基于 Network Time Protocol (NTP) 的命令行工具,用于手动将本地系统时间与远程 NTP 服务器的时间进行同步。它通过一次性获取并设置当前系统时间来快速调整系统时钟,但并不提供持续性的时间同步服务。
在较早的 Linux 发行版中,ntpdate常被用来一次性同步时间。然而,现代系统更推荐使用如ntpd?或chrony这样的完整 NTP 守护进程,它们不仅可以实现精确的时间同步,还可以逐步调整系统时钟,以减少对系统的潜在冲击,并且能更好地处理网络延迟和抖动带来的影响。
上述命令会从 NTP 公共池(pool.ntp.org)中的一个服务器同步时间,但请注意,不建议在运行了ntpd?或chronyd的系统上直接使用ntpdate,因为它可能会干扰这些守护进程正在进行的精细时间调整工作。如果需要在已安装了 NTP 守护进程的系统上进行时间同步,应使用相应守护进程提供的管理命令或配置文件来进行操作。
Chrony是一个现代的网络时间同步服务,它提供了更高的精确度和更快的时间同步速度,并且在各种网络环境(包括间歇性连接、高延迟网络以及虚拟机)下表现出色。通常情况下,Chrony会以平滑的方式逐渐调整系统时钟以减少对系统的潜在影响,例如避免引起正在运行的应用程序或服务出现问题。然而,在某些特殊场景下,如果需要立即纠正系统时间,可以使用chronyc ?makestep命令。不过请注意,频繁使用此命令可能会影响系统的稳定性,应当谨慎操作,并尽量依赖Chrony自动的、渐进式的时间同步机制
首先确保chronyd服务已经开启,系统应该是默认开启,如果没有开启则需要手动
输入:chronyc ?sources
210 Number of sources = 4:表示当前有4个时间源(NTP服务器)。
每一行代表一个NTP服务器的信息,各列含义如下:
^*
、^+
、^-
?和?^?
?符号分别代表不同的状态:
^*
?表示当前首选或活跃的时间源。
^+
?表示良好的时间源,但并非首选。
^-
?表示源不可达或者错误,当前未用于时间同步。
^?
?表示源未知,通常意味着它尚未被Chrony成功查询过。
139.199.215.251?
139.199.214.202?
ntp.wdc2.us.leaseweb.net
?和?ntp6.flashdance.cx
?是各个NTP服务器的名称或IP地址。
Stratum
?列表示服务器在NTP层次结构中的层级,数值越小表示距离UTC标准时间越近。例如,Stratum 2服务器是从Stratum 1服务器获取时间的。
Poll
?列是Chrony向该服务器请求时间更新的频率。
Reach
?列用二进制位表示该服务器可达性及最新样本的质量。这里的数字和符号(如377
、61
等)表示在过去8次尝试中联系到服务器的次数。
LastRx
?列显示最后一次从该服务器接收到响应的时间(以秒为单位)。
Last sample
?列提供了关于最后接收到的时间样本的详细信息,包括偏移量(相对于本地时钟)、抖动以及精度估计。例如?-2009us[-2130us] +/- 107ms
?表示本地时钟比这个NTP服务器慢约2.009微秒至2.130微秒,并且这个测量值的误差范围大约在±107毫秒内。????????
输入:chronyc tracking
Reference ID:标识参考时钟源的ID(这里为139.199.215.251)。
Stratum:表示系统的层级,这里是3,意味着该系统的时间来源于一个Stratum 2级别的NTP服务器。
Ref time (UTC):显示了参考时钟最后一次更新的时间,这里的日期是2024年1月11日02:43:22(请注意这是一个示例数据,并非实际日期)。
System time:描述本地系统时间与NTP服务器时间的偏差,这里是慢了0.000316353秒。
Last offset:上一次同步后的偏移量,此处为-0.000121256秒,即本地时间略快于NTP服务器时间。
RMS offset:所有样本平均偏移量的标准差,这里是0.065495297秒,表示平均误差水平。
Frequency:频率偏差,10.391 ppm(百万分之一)慢,说明本地时钟运行速度略慢于准确值。
Residual freq:残余频率,-0.005 ppm,进一步细化频率误差。
Skew:时钟偏差斜率,0.438 ppm,反映时钟速率随时间的变化程度。
Root delay:从本地系统到参考时钟源之间网络延迟的时间,这里是0.038137767秒。
Root dispersion:由于网络抖动和服务器处理时间导致的时间不确定性,这里是0.021367520秒。
Update interval:Chrony与NTP服务器之间的更新间隔,这里是1030.2秒。
Leap status:闰秒状态,显示为“Normal”,表示目前不存在即将发生的闰秒事件
在内网环境中,如果只允许有一台电脑可以连接网络的情况下,其它机器是无法从网络中同步时间,此时需要搭建一台本地时间同步的服务器
①修改服务器配置文件
需要有一台可以连接网络的机器,首先修改其配置文件
chrony服务的配置文件在/etc/chrony.conf中,添加:server? ?网络服务器地址? ?iburst??
网络时间服务器可以添加也可以不添加,它会自动从多个时间地址池中选择同步,也可以将所有选项(3-6行)删除,添加自己特定的网络时间服务器
添加客户机的时间同步服务器为自己设置的服务器地址
服务器和客户机都设置好后,两边都需要重启一下服务,重新加载配置文件
将设置的服务器时间调整
客户机的时间会自动与服务器时间同步