目录
一、DHCP服务基础
1.1.DHCP服务概述
1.2.DHCP的优点
1.3.DHCP的分配方式
1.4.DHCP的租约过程
1.4.1 客户机请求IP地址
1.4.2 服务器响应
1.4.3.客户机选择IP地址
1.4.3 服务器确定租约
1.4.4 重新登录
1.4.5 更新租约
二、DHCP动态配置主机地址
2.1.DHCP服务
2.2.可分配的地址信息主要包括
2.3.配置DHCP服务实验步骤如下
2.3.1 故障排查
2.3.2.查看dhcpd 分配租约时间
2.3.3.查看dhcpd的日志
2.3.3.抓包
2.3.4.安装抓包工具
2.3.5 查看dhcp客户端的分配状态
三、实现DHCP中继服务
3.1.实验网络拓扑图
3.2.步骤
3.2.1.配置ensp模拟器上的设备
3.2.2.DHCP 服务器配置
3.2.3 验证网络适配器是否添加成功
3.2.4 配置网卡信息
3.1.5.验证网卡信息是否配置成功
Dynamic Host Configuration Protocol ,动态主机配置协议,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤:
●DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的P地址池中查找是否有合法的IP地址提供给客户机
●如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
●DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP名。
●DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。
●当客户机收到DHCPACK消息时,配置lP地址,完成TCP/IP的初始化
●ODHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
●当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
●客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
注意:当主机分配到169.254.0.0 的网段地址,说明dhcp未分配到地址给客户机,此时应该查看DHCP的服务器
●为大量客户机自动分配地址,提供集中管理
●减轻管理和维护成本、提高网络配置效率
●网卡的IP地址、子网掩码
●对应的网络地址、广播地址
●默认网关地址
●DNS服务器地址
第一步:将网卡信息地址配置为软连接,便于后面的操作 ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /root/ens33 第二步:关闭网络管理器NetworkManager systemctl stop NetworkManager 第四步:关闭防火墙 systemctl stop firewalld 第三步:通过yum 下载安装dhcp yum -y install dhcp
route add default gw 192.168.1.2 dev ens33
第三步:通过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 第四步:通过vim命令打开/etc/dhcp/dhcpd.conf 复制 文本中/usr/share/doc/dhcp*/dhcpd.conf.example # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page 第五步:将/usr/share/doc/dhcp*/dhcpd.conf.example 中的内容拷贝到/etc/dhcp/dhcpd.conf cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf 第六步:修改/etc/dhcp/dhcpd.conf 在subnet 最后的代码模块下添加一个新的subnet # subnet 后面跟的是网段 netmask后面是子网掩码 subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.3 192.168.1.100; #网址分配范围 option routers 192.168.1.2; # 网关地址 default-lease-time 600; #分配后默认有效时间 max-lease-time 7200; #最大有效时间 } 第七步:启动dhcp服务 systemctl start dhcpd 第八步: 查看dhcp服务启动状态 [root@localhost ~]# systemctl status dhcpd ● dhcpd.service - DHCPv4 Server Daemon Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled) Active: active (running) since 四 2021-05-06 09:05:49 CST; 56s ago Docs: man:dhcpd(8) man:dhcpd.conf(5) Main PID: 77007 (dhcpd) Status: "Dispatching packets..." Tasks: 1 CGroup: /system.slice/dhcpd.service └─77007 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
less -m /var/lib/dhcpd/dhcpd.leases
dhcp 的前身时bootp
yum -y install wireshak*
需要先在虚拟机上进行如下操作
添加网络适配器
后给could1 进行配置如下
sw1:
sys #进入系统 sys sw1 vlan b 10 20 30 #创建vlan 10 20 30 #以下是给接口进行设置vlan int e0/0/2 p l a p d v 10 int e0/0/3 p l a p d v 20 int e0/0/4 p l a p d v 30 int e0/0/1 p l t p t a v a
RW1:
sys sys RW1 dhcp enable vlan b 10 20 30 int g0/0/1 p l t p t a v a int vlanif 10 ip add 192.168.10.254 24 dhcp select relay dhcp relay server-ip 192.168.1.20 int vlanif 20 ip add 192.168.20.254 24 dhcp select relay dhcp relay server-ip 192.168.1.20 int vlanif 30 ip add 192.168.1.2 24
yum -y install dhcp
通过ifconfig -a 的命令进行验证
第一步:cp -a /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens37 第二步:vim /etc/sysconfig/network-scripts/ifcfg-ens37 第三步设置网卡信息 TYPE=Ethernet BOOTPROTO=static NAME=ens37 DEVICE=ens37 ONBOOT=yes IPADDR=192.168.2.2 GATWAY=192.168.2.254 #DNS1=114.114.114.114 第四步:保存 第五步:重启网卡 systemctl restart network 第六步:关闭linux自身的网络管理器,避免被干扰 systemctl stop NetworkManager 第七步:设置网络管理器的开机自启动为关闭状态 systemctl disable NetworkManager
执行:ifconfig 命令查看
3.1.6.设置dhcp 配置文件
第三步:通过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 第四步:通过vim命令打开/etc/dhcp/dhcpd.conf 复制 文本中/usr/share/doc/dhcp*/dhcpd.conf.example # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page 第五步:将/usr/share/doc/dhcp*/dhcpd.conf.example 中的内容拷贝到/etc/dhcp/dhcpd.conf cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf 第六步:修改/etc/dhcp/dhcpd.conf 在subnet 最后的代码模块下添加一个新的subnet # subnet 后面跟的是网段 netmask后面是子网掩码 subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.3 192.168.1.100; #网址分配范围 option routers 192.168.1.2; # 网关地址 default-lease-time 600; #分配后默认有效时间 max-lease-time 7200; #最大有效时间 } subnet 192.168.20.0 netmask 255.255.255.0 { range 192.168.20.3 192.168.20.100; #网址分配范围 option routers 192.168.20.254; # 网关地址 default-lease-time 600; #分配后默认有效时间 max-lease-time 7200; #最大有效时间 } subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.3 192.168.10.100; #网址分配范围 option routers 192.168.10.254; # 网关地址 default-lease-time 600; #分配后默认有效时间 max-lease-time 7200; #最大有效时间 } 第七步:启动dhcp服务 systemctl start dhcpd 第八步: 查看dhcp服务启动状态 [root@localhost ~]# systemctl status dhcpd ● dhcpd.service - DHCPv4 Server Daemon Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled) Active: active (running) since 四 2021-05-06 09:05:49 CST; 56s ago Docs: man:dhcpd(8) man:dhcpd.conf(5) Main PID: 77007 (dhcpd) Status: "Dispatching packets..." Tasks: 1 CGroup: /system.slice/dhcpd.service └─77007 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid