在CentOS 8 / RHEL 8上安装和配置DHCP服务器和客户端

本指南将引导您逐步在CentOS 8 / RHEL 8 Linux服务器上安装DHCP服务器和DHCP客户端。如果您的问题是如何在CentOS 8 / RHEL 8上安装和配置DHCP服务器,则本指南适合您。组织中部署的DHCP服务器使网络管理非常容易。减轻为组织中的所有计算机手动分配IP地址并让DHCP服务器执行此任务的麻烦可能非常无聊且不必要地重复。

在本指南中,我们将在CentOS 8 / RHEL 8机器上安装和配置DHCP服务器和客户端。涵盖服务器端设置和所有必需的客户端配置。开始配置动态主机配置协议(DHCP)服务器,以便为本地网络上的客户端主机分配IP地址。

步骤1:在CentOS 8 / RHEL 8上安装DHCP服务器

使用dnf安装程序安装DHCP服务器软件包。

sudo dnf -y install dhcp-server 

这将安装必要的依赖关系,以便在CentOS 8 / RHEL 8上运行DHCP服务器。

步骤2:在CentOS 8 / RHEL 8上配置DHCP服务器

在CentOS 8 / RHEL 8上编辑DHCP服务器配置文件。

sudo vi /etc/dhcp/dhcpd.conf 

在配置文件中输入以下参数:

  • 域名: example.com
  • DNS服务器: ns1.example.com
  • DHCP网络: 192.168.20.0
  • DHCP子网掩码: 255.255.255.0
  • 分配的IP地址范围: 192.168.20.30192.168.20.200
  • 默认网关: 192.168.20.1
  • DHCP租约时间: 600
  • DHCP最大租约时间: 7200

DHCP服务器配置文件如下所示:

# Set DNS name and DNS server's IP address or hostname
option domain-name     "example.com";
option domain-name-servers     ns1.example.com;

# Declare DHCP Server
authoritative;

# The default DHCP lease time
default-lease-time 600;

# Set the maximum lease time
max-lease-time 7200;

# Set Network address, subnet mask and gateway

subnet 192.168.20.0 netmask 255.255.255.0 {
    # Range of IP addresses to allocate
    range dynamic-bootp 192.168.20.30 192.168.20.200;
    # Provide broadcast address
    option broadcast-address 192.168.20.255;
    # Set default gateway
    option routers 192.168.20.1;
}

更改配置文件后,启动并启用dhcpd服务。

sudo systemctl enable --now dhcpd

如果您运行的是firewalld,请通过网络访问服务端口。

sudo firewall-cmd --add-service=dhcp --permanent 
sudo firewall-cmd --reload

步骤3:配置DHCP客户端

在Linux机器上安装DHCP客户端以自动获取IP地址。

----------- CentOS 8 / RHEL 8 / Fedora -----------
$ sudo dnf -y install dhcp-client 

----------- CentOS 7/6 -----------
$ sudo yum -y install dhcp-client

手动请求DHCP IP地址

您可以使用dhclient命令手动请求IP地址。

$ sudo dhclient 
E.g:
$ sudo dhclient eth0

# Confirm
$ ip ad
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:10:47:63 brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.106/24 brd 192.168.20.255 scope global noprefixroute dynamic eth0
       valid_lft 3594sec preferred_lft 3594sec
    inet6 fe80::5054:ff:fe10:4763/64 scope link 
       valid_lft forever preferred_lft forever

永久配置– CentOS / RHEL / Fedora与systemd

  • 使用nmcli编辑配置
ifname="eth0"
nmcli connection modify ${ifname} ipv4.method auto
nmcli connection down ${ifname}; nmcli connection up ${ifname}
  • 手动编辑网络配置文件
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"

保留设置-Debian

$ sudo nano /etc/network/interfaces
iface ens3 inet dhcp

$ sudo systemctl restart [email protected]

保存设置-Ubuntu

$ sudo nano /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: yes

$ sudo netplan apply 

对于Windows用户,请检查Windows客户端的配置以从DHCP服务器获取IP。

通过DHCP服务器保留IP地址

如果您有MAC地址,则可以为网络中的计算机或设备保留IP地址。

$ sudo vi /etc/dhcp/dhcpd.conf
# Add lines like below for each host
host myserver {
    hardware ethernet 00:50:56:8c:20:fd;
    fixed-address  192.168.20.100;
}

相关指南:

在Windows Server 2019上安装和配置DHCP服务器

如何将FTP站点添加到Windows Server 2019

如何在CentOS 8 / RHEL 8 Linux上设置TFTP服务器

如何在CentOS 8 / RHEL 8上配置iSCSI启动器

Sidebar