DHCP 服务器的搭建



一、DHCP 服务

  • DHCP(Dynamic Host Configuration Protocal)就是动态主机配置协议,可以自动配置主机的 lP 地址、子网掩码、网关及 DNS 等 TCP/IP 信息。所以 DHCP 可以有效地降低客户端 IP 地址配置的复杂度和网络的管理成本。如果路由器能够转发 DHCP 请求,只需要在一个子网中配置 DHCP 服务器就可以向其他子网提供 TCP/IP 配置的服务支持 DHCP 的应用环境

1. DHCP 软件包

  • dhcp-4.2.5-47.el7.x86_64.rpm
     DHCP 主程序包,包括 DHCP 服务和中继代理程序,安装该软件包进行相应配置,即可以为客户机动态分配IP地址及其他 TCP/IP 信息。

  • dhclient-4.2.5-47.el7.x86_64.rpm
     客户端软件包(已安装)

  • dhcp-common-4.2.5-47.el7.x86_64.rpm
     DHCP 服务器开发工具软件包,为 DHCP 开发提供库文件支持。

2. DHCP 服务器的安装与运行管理

  • DHCP 服务的安装

    [root@localhost ~]# mount /dev/cdrom /mnt 
    [root@localhost ~]# rpm -ivh /mnt/Packages/dhcp-4.2.5-47.el7.x86_64.rpm
  • 启动、重启、查询服务的启动状态、停止
     systemctl start|stop|restart|reload|status dhcpd .service

  • DHCP 服务在系统开机时自动启动或不启动的命令格式如下:
     systemctl enable|disable dhcpd

  • 检查dhcpd进程
     ps -ef | grep dhcpd

  • 查看dhcpd运行的端口
     ss -nutap | grep dhcpd

二、配置单子网的DHCP服务

动态分配的 IP 地址的范围为 192.168.1.20~192.168.1.100
子网掩码为 255.255.255.0
默认网关为 192.168.1.254
客户端使用的 DNS 服务器的 IP 地址为 8.8.8.8
所在的域名为 xyz.edu,
并为其中的一台客户机保留 192.168.1.64 地址

1. 配置DHCP自身的网络参数

添加网络
1621988717997

虚拟机->设置->硬件->网络适配器->自定义->网络连接->自定义(VMnet9)
1621989008068

启动应用程序->系统设置->网络->有线->设置-> IPv4
1621952959542
1621953070703

2. 修改服务器的主配置文件

修改 DHCP 服务器的主配置文件 /etc/dhcp/dhcpd.conf →启动 DHCP 服务

[root@localhost ~]# cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf 
ddns-update-style interim;
ignore |allow client-updates;
option domain-name    "xyz.edu";
option domain-name-servers   8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0{
    range 192.168.1.20 192.168.1.100;
    option routers 192.168.1.254;
}
host teacher {
    hardware ethernet 00:0C:29:B8:2E:2A;        // 保留的网卡物理地址
    fixed-address 192.168.1.64;                  
}
[root@localhost ~]# systemctl restart dhcpd.service
[root@localhost ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[root@localhost ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@localhost ~]# firewall-cmd --reload
success

3. Linux客户端测试

Linux 客户端配置与测试。编辑客户端的网卡配置文件,将网卡获取 IP 地址的方式改为 dhcp →重启网络服务→查看客户端是否获取了 IP 地址等网络参数

  • 应用程序->系统设置->网络->有线->设置-> IPv4,设置 IPv4 Method自动(DHCP)关闭再打开有线连接,再查看有线->设置
    1621987902942

4. 查看租用情况

在服务器端使用 cat 命令查看租约文件 dhcpd.leases,了解租用情况

[root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5

server-duid "\000\001\000\001(?\301U\000\014)\270.*";

lease 192.168.1.20 {
  starts 2 2021/05/25 14:14:52;
  ends 2 2021/05/25 14:24:52;
  cltt 2 2021/05/25 14:14:52;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 00:0c:29:e9:4b:6c;
}

5. Windows 用户客户端

win + R 输入 cmd ,执行指令:
释放 IP 地址:ipconfig /release
重新申请 IP 地址:ipconfig /renew
执行:ipconfig /all

1621989409748

三、使用 DHCP 中继代理为多子网分配 IP 地址

由于 DHCP 客户端与 DHCP 服务器之间是通过广播包的通信方式,来寻找对方并获得 IP 地址等网络参数的,当服务器和客户端处在不同网段时,必须通过路由器或具有路由功能的三层交换机实现连接,但广播包是不能直接穿过路由器或三层交换机的(即路由器/三层交换机不能转发广播包)。因此,当 DHCP 客户端与 DHCP 服务器之间有路由器时,无法完成IP地址的申请和获取。其解决问题的方法有以下三种:

  • 在每个子网中分别部署一台 DHCP 服务器,让服务器为各自的子网中的客户端分配 IP 地址等网络参数。此方法管理分散且投入成本较大,在实际中很少采用。
  • 在网络中部署一台 DHCP 服务器,在路由器的每个子网接口或三层交换机的每个 VLAN 端口启动 DHCP 中继代理功能。此方法在实际工作中被广泛使用。
  • 在网络中部署一台DHCP服务器,在每个子网的 Linux/Winddows Server 主机中部署一台 DHCP 中继代理服务器。此方法管理集中但投入成本较大,实际中很少采用。

文章作者: AYang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AYang !
  目录