实验目的
- 熟悉DHCP服务;
- 掌握并理解四次交互;
- 掌握Linux系统搭建DHCP服务环境。
二、 实验主要内容
- 实现DHCP基本服务;
- 实现HDCP固定分配IP;
- 实现DHCP中继推送。
三、 实验环境与准备
- 安装Workstation17
- 安装四台Rocky9系统的虚拟机
- 一台中继推送路由转发路由器(由rocky9版本的虚拟机代替,其中里面有两块网卡)
- 两台nat模式的虚拟机(由rocky9版本的虚拟机代替里面有一块网卡)
- 两台仅主机模式的虚拟机(由rocky9版本的虚拟机代替里面有一块网卡)
- 一台window10的虚拟机
- 一台windos10的虚拟机(里面有一块网卡)
四、实验分析与设计思路
实验分析:基于DHCP原理
设计思路:
实验一:
①通过写DHCP服务器的dhcp的配置文件;
②关闭node网卡配置中的manual替换为auto,自动获取。
实验二:
①通过写DHCP服务器的dhcp的配置文件,绑定MAC;
②关闭node网卡配置中的manual替换为auto,自动获取。
实验三:
①通过写DHCP服务器的dhcps的配置文件,由server-relay&&route做中继推送,以及路由转发。
②node1-4前两个为一个网段(nat),后两个为一个网段(主机);
③关闭node网卡配置中的manual替换为auto,自动获取相应DHCP中的ip
五、详细实验过程
实验一:实现DHCP基本服务
- 虚拟机:
-
- DHCP-server
- node-1
- DHCP-server配置
-
- DHCP-server 配置详情
#使用yum search dhcp 去查看服务
[root@node ~1]#yum search dhcp
上次元数据过期检查:0:49:17 前,执行于 2024年08月10日 星期六 13时08分26秒。
=============================================================== 名称 和 概况 匹配:dhcp ===============================================================
dhcp-client.x86_64 : Provides the ISC DHCP client daemon and dhclient-script
dhcp-common.noarch : Common files used by ISC dhcp client, server and relay agent
dhcp-relay.x86_64 : Provides the ISC DHCP relay agent
dhcp-server.x86_64 : Provides the ISC DHCP server
dhcpcd.x86_64 : A minimalistic network configuration daemon with DHCPv4, rdisc and DHCPv6 support
dhcpd-pools.x86_64 : ISC dhcpd lease analysis and reporting
dhcpdump.x86_64 : Parse DHCP packets
dhcping.x86_64 : DHCP daemon ping program
nagios-plugins-dhcp.x86_64 : Nagios Plugin - check_dhcp
wide-dhcpv6.x86_64 : DHCP Client and Server for IPv6
=================================================================== 概况 匹配:dhcp ===================================================================
dnsmasq.x86_64 : A lightweight DHCP/caching DNS server
dnsmasq-utils.x86_64 : Utilities for manipulating DHCP server leases
kea.x86_64 : DHCPv4, DHCPv6 and DDNS server from ISC
kea-devel.x86_64 : Development headers and libraries for Kea DHCP server
kea-libs.x86_64 : Shared libraries used by Kea DHCP server
#下载dhcp-sercvice服务
yum install -y dhcp-server
#查看是否安装安装
yum install -y dhcp-server
上次元数据过期检查:0:54:47 前,执行于 2024年08月10日 星期六 13时08分26秒。
软件包 dhcp-server-12:4.4.2-19.b1.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
#进入dhcp配置文件进行配置/etc/dhcp/dhcp.conf
##查看配置文件 rpm -ql dhcp-server
#发现/etc/dhcp/dhcp.conf没有任何文件
#这时需要从 dhcp-server里面的配置文件里面读取示例/usr/share/doc/dhcp-server/dhcpd.conf.example
cat /usr/share/doc/dhcp-server/dhcpd.conf.example > /etc/dhcp/dhcp.conf
-
- 配置dhcp文件
#进入dhcp配置文件进行配置/etc/dhcp/dhcp.conf
#修改配置信息如图 "dhcp-配置信息"(匹配原则:最小匹配原则,如果不满足②的情况下自动匹配①)
#xxhf123.org 设置的是域
#223.6.6.6 设置的是dns服务器
#ip网关等 dns 服务 租约时间
#并注释掉 27-45行
-
- 配置信息做好,重启服务,并查看服务是否启动 ss -unl 查看服务状态发现已经处于活跃状态,此时查看服务状态通过查看67号dhcp服务端端口已经打开
#配置信息做好,重启服务
systemctl enable --now dhcp
#查看服务是否启动 (通过查看67号dhcp服务端端口已经打开)
ss -unl | grep “67”
- node-1配置信息
-
- 配置网卡,及自动分配ip
#配置网卡信息 如何更改如图3
vim /etc/NetworkManager/system-connections/eth0.nmconnection
#配置好之后,重新加载网卡的配置文件,重启网卡
nmcli con reload eth0
nmcli con down eth0 ;nmcli con up eth0;
- 测试:进入dhcp文件查看状态
[root@node-1 ~]# vim /var/lib/dhcpd/dhcpd.leases
实验二:HDCP固定分配IP
- 基于实验一完成实验 二
- 虚拟机:
-
- DHCP-server
- node-2
- DHCP-server
-
- 配置dhcp配置文件进行配置
#进入dhcp配置文件进行配置/etc/dhcp/dhcp.conf
vim /etc/dhcp/dhcp.conf
#重启一下服务
systemctl restart dhcpd
- node-2配置
-
- 配置网卡,及自动分配ip
vim /etc/NetworkManager/system-connections/eth0.nmconnection
#配置好之后,重新加载网卡的配置文件,重启网卡
nmcli con reload eth0
nmcli con down eth0 ;
nmcli con up eth0;
- 测试:查看node-2服务
vim /var/lib/dhcp/dhcpd.lease
实验三:实现DHCP中继推送
- 基于实验一中的配置完整实验三
- 虚拟机:
-
- DHCP-server
- 中继推送&&路由服务的服务器 Service
- NAT模式虚拟机 node-1
- NAT模式虚拟机 node-2
- 仅主机模式虚拟机 node-3
- 仅主机模式虚拟机 node-4
- DHCP-server配置
-
- 添加dhcp66网段的服务
添加另一个网段的dhcp②服务
#配置/etc/dhcp/dhcpd.conf
-
- 添加一个网段路由去往192.168.66.0
ip r a 192.168.66.0/24 via 192.168.10.130
查看是否有添加的上面的这个路由
route -n
- dhcp-relay&&router
-
- 他的作用是作为路由器与中继器使用
- 注意:这里的dns网关可以不用写
-
- 添加两块网卡
#设置另一块网卡的ip
nmcli connection add con-name eth1 ifname eth1 type ethernet autoconnect yes ipv4.method manual ipv44.addresses 192.168.66.100/24
#重启一下服务
nmcli connection reload
#查看连接状态
nmcli connection show
NAME UUID TYPE DEVICE
eth0 7ba00b1d-8cdd-30da-91ad-bb83ed4f7474 ethernet eth0
eth1 60cfdc65-f95c-4da1-8a66-c39db70d6702 ethernet eth1
lo 28d08c7c-a674-4b57-ab33-ce1827c46122 loopback lo
[root@node-relayrouter system-connections]#
-
- 打开核心路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
-
- 下载中继推送服务
#下载中继推送服务
yum install -y dhcp-relay
#查看是否启动成功
ss -unl
-
- 进行中继推送
dhcrelay 192.168.10.130
- 设置仅主机模式的node-3 node-4虚拟机
-
- node-3设置网卡为配置,及自动分配ip
vim /etc/Net/sys/eth0
#重启网卡配置 重启网卡之后ip就配置好了
nmcli connection reload
nmcli con down eth0; nmcli con up eth0;
-
- 配置node-4设置网卡为配置,及自动分配ip
vim /etc/Net/sys/eth0
#重启网卡配置 重启网卡之后ip就配置好了
nmcli connection reload
nmcli con down eth0; nmcli con up eth0;
- 测试查看dhcp服务器,tail /var/dhcp/dhcpd/dhcp.leases日志
tail /var/lib/dhcpd/dhcp.leases
六、实验结果及分析
- 实验一结果及分析
-
- 结果
- 实验二结果及分析
-
- 结果
- 实验二结果及分析
-
- 结果
七、总结
实验总结:
- 理解:
-
- 通过此次实验,可以理解为前两个实验(基本服务,固定分配)为第三个实验的基石;
- 通过本次实验让我再次理解到了vim的重要,其中在编写时经常遇到问题,不能减少时间;
- 通过本次实验,理论与实验相结合,再次理解完成。
- 问题:通过本次实验,遇到三个问题
-
- 在命令的书写方面,存在不理解情况,需要找笔记;
- 在进入配置文件时,偶尔进错位置;
- 在配置网卡时,总是忘记注释IP