/ 服务器 / 22浏览

Ubuntu DHCP服务器搭建手册

一、手册说明

本手册适用于Ubuntu 20.04/22.04 LTS主流服务器版本,采用官方ISC-DHCP服务组件,完整覆盖DHCP服务器安装、配置、启动、测试及运维排查全流程,可实现局域网设备自动分配IP地址、子网掩码、网关、DNS、租期等网络参数,适用于企业内网、实验室网络、小型局域网等场景部署。

DHCP(动态主机配置协议)核心作用:替代手动配置终端网络参数,避免IP冲突,简化局域网网络管理,支持动态IP分配、固定IP绑定等核心功能。

二、前期准备(必做)

2.1 环境要求

 操作系统:Ubuntu 20.04 / 22.04 LTS(桌面版、服务器版均可)

 网络条件:服务器单网卡固定静态IP,禁止DHCP自动获取IP(核心前提)

 权限要求:拥有root权限或sudo管理员权限

 网络规划:提前规划网段、IP地址池、网关、DNS、租期参数,服务器静态IP需避开分配地址池

2.2 网络规划示例

本次部署通用规划(可根据实际网络修改):

 服务器网卡:ens33(通过 ip a 命令查询本机网卡名)

 服务器静态IP:192.168.10.1/24

 网关地址:192.168.10.1

 DHCP分配地址池:192.168.10.10 - 192.168.10.100

 DNS服务器:公共DNS 223.5.5.5、114.114.114.114

 默认租期:600秒(10分钟),最大租期:7200秒(2小时)

2.3 配置服务器静态IP

Ubuntu 20.04/22.04 默认使用netplan管理网络,通过以下命令配置静态IP:

1. 查看netplan配置文件名称(默认在/etc/netplan/目录)
        
ls /etc/netplan/通常生成文件如 00-installer-config.yaml 

2. 编辑配置文件
       
sudo nano /etc/netplan/00-installer-config.yaml

3. 写入静态IP配置(严格对齐yaml格式,禁止空格错乱)
        network:
  ethernets:
    ens33:  # 替换为自己的网卡名称
      addresses: [192.168.10.1/24]
      gateway4: 192.168.10.1
      nameservers:
        addresses: [223.5.5.5,114.114.114.114]
  version: 2 

4. 生效网络配置
        
sudo netplan apply 

5. 验证静态IP配置
        
ip a 

三、DHCP服务安装

Ubuntu官方默认DHCP服务包为 isc-dhcp-server,执行以下命令安装:

1. 更新软件源缓存
        
sudo apt update 

2. 安装DHCP服务
       
sudo apt install isc-dhcp-server -y 

3. 安装完成后,默认服务状态为关闭,需手动配置启动

四、核心配置文件修改

DHCP服务核心配置文件:/etc/dhcp/dhcpd.conf,需修改网段、地址池、网关、DNS、租期等核心参数。

4.1 备份默认配置文件(防出错)

Plain Text
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak 

4.2 编辑主配置文件

Plain Text
sudo nano /etc/dhcp/dhcpd.conf

清空文件原有内容,写入以下完整配置(适配前期网络规划):

Plain Text
# 全局配置:默认租期、最大租期(单位:秒)
default-lease-time 600;
max-lease-time 7200;

# 域名与DNS配置
option domain-name "local.network";
option domain-name-servers 223.5.5.5, 114.114.114.114;

# 子网网段配置,匹配服务器静态IP网段
subnet 192.168.10.0 netmask 255.255.255.0 {
    # DHCP分配IP地址池范围
    range 192.168.10.10 192.168.10.100;
    # 网关地址
    option routers 192.168.10.1;
    # 子网掩码
    option subnet-mask 255.255.255.0;
    # 广播地址
    option broadcast-address 192.168.10.255;
}

修改完成后,保存退出(nano编辑器:Ctrl+O保存,回车确认,Ctrl+X退出)

4.3 指定DHCP监听网卡

配置服务监听指定网卡,避免多网卡场景服务异常:

1. 编辑网卡配置文件
        
sudo nano /etc/default/isc-dhcp-server

2. 找到 INTERFACESv4 字段,修改为自己的网卡名称(如ens33)


        
INTERFACESv4="ens33"

3. 注释掉IPv6监听配置(无需IPv6可关闭),保存退出

五、服务启动与自启配置

5.1 校验配置文件语法

启动前必须校验配置,避免语法错误导致启动失败:

Plain Text
sudo dhcpd -t 

显示 Config file syntax OK 即为配置正常。

5.2 启停DHCP服务

Plain Text
# 启动服务
sudo systemctl start isc-dhcp-server
 



# 查看服务状态
sudo systemctl status isc-dhcp-server
 



# 重启服务(修改配置后必执行)
sudo systemctl restart isc-dhcp-server
 



# 停止服务
sudo systemctl stop isc-dhcp-server

5.3 设置开机自启

Plain Text
sudo systemctl enable isc-dhcp-server 

六、固定IP绑定(静态IP预留)

针对服务器、打印机等需要固定IP的设备,可通过MAC地址绑定固定IP,在 dhcpd.conf 文件末尾添加以下配置:

Plain Text
# 固定IP绑定格式:主机名、MAC地址、固定IP
host fixed-device {
    hardware ethernet 00:0c:29:xx:xx:xx;  # 目标设备MAC地址
    fixed-address 192.168.10.20;           # 预留固定IP
}

修改完成后重启DHCP服务生效:sudo systemctl restart isc-dhcp-server

七、功能测试验证

7.1 客户端测试

1. 将同一网段的终端设备(电脑、虚拟机)网络设置为自动获取IP

2. 断开重连网络,查看获取的IP是否在192.168.10.10-100区间内

3. 验证网关、DNS是否与配置一致,测试网络连通性

7.2 查看DHCP分配日志

查看IP分配记录、租期信息,排查分配异常:

Plain Text
# 查看实时日志
tail -f /var/log/syslog | grep dhcpd
 



# 查看已分配IP记录
cat /var/lib/dhcp/dhcpd.leases

八、防火墙配置(可选)

Ubuntu默认开启ufw防火墙时,需放行DHCP服务端口(UDP 67、68端口):

Plain Text
# 放行DHCP端口
sudo ufw allow 67/udp
sudo ufw allow 68/udp

# 重载防火墙
sudo ufw reload

九、常见故障排查

9.1 服务启动失败

 原因1:配置文件语法错误 → 执行 sudo dhcpd -t 校验修复

 原因2:服务器未配置静态IP → 重新配置静态IP并生效

 原因3:监听网卡配置错误 → 核对/etc/default/isc-dhcp-server网卡名称

9.2 客户端无法获取IP

 检查服务器与客户端是否同一网段、网络互通

 检查防火墙是否放行67/68端口

 检查地址池是否耗尽,租期配置是否异常

9.3 IP冲突问题

 确保服务器静态IP不在DHCP地址池范围内

 排查局域网内是否存在其他DHCP服务器(路由器、其他设备)

十、服务卸载

如需卸载DHCP服务,执行以下命令:

Plain Text
sudo systemctl stop isc-dhcp-server
sudo systemctl disable isc-dhcp-server
sudo apt remove isc-dhcp-server -y

十一、运维常用命令汇总

功能描述

执行命令

校验配置语法

sudo dhcpd -t

查看服务状态

sudo systemctl status isc-dhcp-server

重启DHCP服务

sudo systemctl restart isc-dhcp-server

查看分配日志

tail -f /var/log/syslog | grep dhcpd

查看IP租赁记录

cat /var/lib/dhcp/dhcpd.leases

 

Peregrine
Ubuntu 系统 Apache+PHP 安装配置手册
Ubuntu Web服务器搭建手册
基于 Ubuntu 系统的 OSSEC 服务端安装配置与功能详解