DHCP之【自动获取】和【固定IP地址】

280 阅读3分钟

1、 DHCP协议

软件名:dhcp

程序名:dhcpd

1.1 DHCP 工作原理

客户机从DHCP服务器 获得IP地址的过程,称为DHCP的租约过程。

image.png

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 修改配置文件

  1. 查询配置文件
 [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
  1. 查看主配置文件
 [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
 #复制指定路径文件夹到  主配置文件下面
  1. 编辑配置文件(;代表结束 一定不能少!)
 [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 }
 #上面内容属于局部配置参数,优先级高于全局配置参数。
  1. 启动dhcp
 systemctl  start dhcpd    #注意:dhcp后面有d,这是程序名称

2.1.3 验证 检测

2.1.3.1 在VM虚拟机中验证:

  1. 在VM8中,勾掉dhcp选项

image.png

  1. 修改(另一台设备)网卡配置
 vim /etc/sysconfig/network-scripts/ifcfg-ens33

image.png

image.png

2.1.3.2 在windows中验证:

image.png

image.png

image.png

image.png 实验结果: 按照dhcp配置文件设置的相关规则,获取了地址池内(192.168.125.20 - 192.168.125.50)的IP,即192.168.125.21

2.2 实验二:固定ip地址的DHCP

2.2.1 查看mac地址

  1. 第一种方法:

image.png

  1. 第二种方法:

image.png

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地址  #与指定设备 同步时间