服务器配置教案 Help

5-1 搭建dhcpd服务

介绍

DHCP协议: (Dynamic Host Configuration Protocol)动态主机配置协议。避免了手工配置静态IP的麻烦,自动获取局域网IP,局域网的路由器就自带了dhcpd服务。

实验设计:
虚拟机linux做dhcp服务器,虚拟机windows做客户端,两者的网络适配器都选择仅主机并取消vmware网卡自带的dhcp服务,这样两台机器在同一网段内互通,并且客户机将通过广播请求到自建dhcp服务。

路由器后台界面,从中可以看到dhcp服务相关的参数,一些同学也在家中设置过路由器:

5-1路由器后台界面

客户机准备

  • 选择一: 机房自带的Windows Server 2016

  • 选择二: 克隆另一台CentOS虚拟机出来。 虚拟机列表/CentOS 8-鼠标右键/电源/🟥关闭客户机。


    虚拟机列表/CentOS 8-鼠标右键/管理/克隆,向导过程中选择完整克隆 ,其余点下一步,这样会复制虚拟硬盘克隆出的第二台机器是独立的。

网络环境准备

仅主机(host only)模式: 虚拟机仅能跟宿主机通信因此叫仅主机 。连接同一块虚拟机网卡的虚拟机间可以互相访问,模拟局域网环境,常用于测试。与NAT模式相似,区别是无互联网出口。

  1. (机房中)确认宿主机Windows中的VMware虚拟机网卡启用中:
    Vmware Workstation安装后会生成对应三种网络模式的网卡,vmnet0 桥接/vmnet1 仅主机/vmnet8 NAT。 而机房电脑因为还安装有其它虚拟化软件和网络布线模拟软件、为了防止冲突禁用了,导致虚拟机无法连接仅主机模式的网卡。如果已经是启用状态则不需要改动。

    Windows系统设置/网络和Internet/更改适配器选项,选中vmnet1网卡/鼠标右键-启用。

    5 1
  2. 编辑虚拟网卡(virtual network editor), 禁用vmware网卡自带的dhcp服务
    因为要测试自建的dhcp服务,要关闭vmware网卡vmnet1自带的dhcp服务。如果灰色不能编辑,先进行windows账户授权(有些像linux上的sudo)。
    Vmware软件界面顶部菜单栏-编辑/编辑虚拟网络。
    先选中VMnet1仅主机网卡。然后取消勾选 ✅使用本地dhcp为虚拟机分配IP。

    5 1
  3. (可选但建议)编辑虚拟网卡(virtual network editor),设置网卡网段:
    在上一步的对话框中,编辑vmnet1网卡网段为192.168.1.0 ,方便后面记忆书写。如果不修改,配置静态ip时和配置dhcpd.conf时的网段都应该与此处vmnet1网段保持一致,否则连不上网卡。见上图。

  4. 设置仅主机, 服务机客户机都要设置: 虚拟机列表鼠标右键/编辑设置/网络适配器,选择到🔘仅主机

    5 1

  5. 重启虚拟机中网卡:
    虚拟机中的网卡连接的就是刚才我们编辑设置的网卡,开关网卡以加载最新配置。

    • 方法一 虚拟机桌面右上角/设置图标/网络/以太网卡开关,见上图。

    • 方法二 nmcli device down ens33nmcli device up ens33

设置静态IP

原因:
dhcpd服务启动时需要绑定工作网卡,监听来自同网段中其它客户机发来的广播请求,否则无法启动服务。
(其它教程普遍缺少这一步骤,可能因为关闭自带dhcp的步骤放到了后面,前面已获取ip,因此在他们的教程中启动服务未出现错误。)
物理服务器自带网卡,而虚拟机只有连上了vmware的虚拟网卡才算是有网卡。
但虚拟网卡自带的dhcpd关闭后,导致虚拟机网卡自动连不上,表现为点击网卡开关后,显示正在连接 ,过一会后超时失败,开关变为关闭状态。
所以要手动设置IP。

  1. (跳过)设置静态IP(命令行): nmcli命令,详见2-3节,略。

  2. 设置静态IP(图形界面): 选择手动并填入信息如下图,因为是仅主机模式不是桥接模式,因此ip可以照抄下图

    5 1 ip
  3. 验证静态ip符合网卡网段:
    打开网卡开关,显示已连接。信息显示ip在vmnet1设置网段中,无自动分配的dns地址。

    5 1 ip

安装

软件名: 服务端dhcp-server,客户端dhcp-client。(老版本CentOS中叫dhcp。)

(可选)检测是否已安装

yum list installed | grep dhcp

(跳过)在线安装

yum install dhcp-server dhcp-client

离线安装

  1. 老师下发离线安装包到学生机桌面。宿主机中复制,虚拟机中图形化文件管理器中粘贴,即下载安装包到/root目录下。

  2. 解压缩解包

tar -zxvf dhcp-installer.tar.gz
  1. 安装

rpm -iv --nodeps --force ./dhcp-installer/*.rpm
  1. (可选)验证安装,能看到默认配置文件和软件版本


    rpm -r dhcp

配置

  1. (可选)阅读模板文件
    cat /usr/share/doc/dhcp-server/dhcpd.conf.example

  2. 配置文件dhcpd.conf:

nano /etc/dhcp/dhcpd.conf

添加如下内容

option domain-name "example.com"; # 不重要,因为没有搭建dns服务器,这个域名找不到服务器,客户端也不会分配到dns地址。 # 不要抄写注释,在一些配置文件中不允许行内注释。 option domain-name-servers ns.example.com; default-lease-time 600; # ip释放时间 max-lease-time 7200; authoritative; # 权威服务器,即此配置有效 # 核心设置 subnet 192.168.1.0 netmask 255.255.255.0 { # 客户端子网网段、掩码 range dynamic-bootp 192.168.1.10 192.168.1.20; # 客户端可以获取的IP池范围,这里限制一个小范围,方便后面测试验证结果 option broadcast-address 192.168.1.255; # 广播地址 option routers 192.168.1.1; # 网关 } # 其它设置,略,自己实验,例如根据网卡MAC地址给一台电脑分配固定IP防止IP经常变动。

检查配置

dhcpd -t

启动服务

  1. 启动服务

systemctl start dhcpd
  1. 关闭防火墙

systemctl stop firewalld

或正规做法放通端口
firewall-cmd --add-service=dhcpd --permanent
systemctl restart firewalld

=== 以下为客户端 ===

客户端测试

这里使用同一台宿主机下的Windows虚拟机做客户端。(不能用宿主机windows做测试,因为其有多个网卡,多个dhcp服务器会导致客户端每次得到的ip非预期。)

  1. 客户机选择仅主机网卡: 客户端网卡适配器调整为仅主机模式。这样客户端与服务端处于同一虚拟网卡下,可以互通,可以ping服务端ip测试。

  2. 客户机重启网卡: 桌面右下角网络图标(鼠标右键打开网络设置)/高级网络设置-更改适配器选项/以太网卡-鼠标右键选禁用-鼠标右键选启用

  3. 验证成功: Windows以太网卡能分配到ip地址、在服务端配置的地址段中,dhcp服务器ip显示为服务器ip,掩码、网关、无dns服务器,这些特征都与服务端dhcpd.conf中一致,为成功🎉。 Windows Server 2016


    5 1windowsserver

    CentOS 8


    5 1centos8

    Windows 10(机房没有这个虚拟机)


    5 1windows10
  4. 服务器端查看释放的ip

cat /var/lib/dhcpd/dhcpd.leases

返回信息可见分配出去的ip、租约剩余时间,与客户机中的信息一致。

Last modified: 25 十一月 2024