当前位置:首页>Linux>Linux 下搭建 DHCP 服务步骤详解|一次部署终身省心

Linux 下搭建 DHCP 服务步骤详解|一次部署终身省心

  • 2026-09-04 21:21:42
Linux 下搭建 DHCP 服务步骤详解|一次部署终身省心

在局域网运维中,dhcp(动态主机配置协议)是刚需服务 ,自动分配 IP、子网掩码、网关、dns,告别手动配 ip 的繁琐与冲突。本文以isc dhcp server(linux主流稳定方案)为例,专注 centos/rhel 系统,从安装、配置到启动、排错,一步一图讲透,新手也能快速入门。

一、前期准备:3 个关键前提

  1. 服务器静态 ip
    dhcp 服务器必须固定 ip,禁止动态获取
  1. 网络互通
    服务器与客户端同网段,无 vlan / 防火墙拦截
  1. 端口放行
    dhcp 依赖udp 67(服务端)、 udp 68(客户端)

先查看网卡名与静态 ip(以ens33、192.168.2.104为例):

ip addr  # 查看网卡、IP信息

二、step1:安装 dhcp 服务

# CentOS 7yum install -y dhcp# CentOS 8/9/Rocky Linuxdnf install -y dhcp

三、step2:配置监听网卡(避免服务启动失败)

dhcp 需指定监听内网网卡,不配置会直接报错。

编辑 dhcp 监听配置:

vim /etc/sysconfig/dhcpd修改dhcpDARGS为实际网卡:dhcpDARGS="ens33"  # 替换为你的网卡名

四、step3:核心配置文件

dhcp 主配置文件:/etc/dhcp/dhcpd.conf,默认内容极少,先备份再覆盖配置:

#备份原始配置cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak#编辑配置vim /etc/dhcp/dhcpd.conf

完整配置

#全局配置(所有子网生效)ddns-update-style none;        # 关闭DNS动态更新(局域网必选)default-lease-time 86400;      # 默认租约1天(秒)max-lease-time 172800;         # 最大租约2天(秒)option domain-name "lan.local"; # 局域网域名option domain-name-servers 223.5.5.5, 114.114.114.114; # DNS(阿里+114)authoritative;                  # 声明为权威dhcp服务器#子网配置(核心:必须与服务器IP同网段)subnet 192.168.2.0 netmask 255.255.255.0 {range 192.168.2.10 192.168.2.200;  # 动态IP地址池option routers 192.168.2.1;         # 网关(路由器/网关IP)option subnet-mask 255.255.255.0;   # 子网掩码option broadcast-address 192.168.2.255; # 广播地址}#固定IP绑定(打印机/服务器/门禁,可选,根据实际情况配置)#host printer {#hardware ethernet 00:11:22:33:44:55; # 设备MAC地址#fixed-address 192.168.1.88;          # 绑定IP(不在地址池内)}

配置关键规则

  • subnet必须与服务器静态 IP 网段一致,否则服务无法启动
  • range为动态分配 IP 段,避开网关、固定 IP
  • 语句必须以;结尾,严格区分大小写
  • 固定 IP 需在子网内,且不在地址池

五、step4:防火墙与 selinux 放行

1. 防火墙放行 dhcp

firewall-cmd --add-service=dhcp --permanentfirewall-cmd --reloadfirewall-cmd --list-services  # 验证是否放行

2. 临时关闭 selinux(测试用,生成环境建议开启)

setenforce 0sed -i 's/SELINUX=enforcig/SELINUX=disabled/' /etc/selinux/config

六、step5:启动服务并设置开机自启

#启动服务systemctl start dhcpd#开机自启systemctl enable dhcpd#查看状态systemctl status dhcpd#重启(修改配置后必执行)systemctl restart dhcpd

七、step6:验证服务是否正常

1.服务端验证

1. 服务端验证#检查端口监听(看到UDP 67即正常)netstat -ulnp | grep dhcp#实时查看日志(排错神器)journalctl -u dhcpd -f

2. 客户端验证

windows:

ipconfig /release  #释放IPipconfig /renew    #获取IPipconfig           #查看IP、网关、DNS

linux 客户端:

dhclient ens33  #获取IPip addr         #查看配置

八、常见问题排错

1.服务启动失败

  1. 配置文件语法错误:执行dhcpd -t检查语法
  2. 子网与服务器 IP 不一致:核对subnet网段
  3. 监听网卡错误:检查/etc/sysconfig/dhcpd

2.客户端拿不到 ip

  1. 防火墙未放行 udp 67/68
  2. 同网段有其他 dhcp 服务器冲突
  3. 地址池耗尽或配置错误

3.固定 ip 不生效

  1. mac地址格式错误(必须xx:xx:xx:xx:xx:xx)
  2. 绑定ip在动态地址池内
  3. 未重启 dhcp 服务

九、轻量替代方案:dnsmasq

如果是家庭 / 小局域网,推荐dnsmasq(dhcp+dns+tftp 三合一,轻量简单):

# 安装yum install -y dnsmasq# 配置vim /etc/dnsmasq.confinterface=ens33dhcp-range=192.168.2.10,192.168.2.200,24hdhcp-option=option:router,192.168.2.1dhcp-option=option:dns-server,223.5.5.5# 启动systemctl enable --now dnsmasq

十、总结

linux 搭建 dhcp 核心就 4 步:装包→配监听→改配置→启服务,只要保证静态 ip、网段一致、端口放行,一次部署就能稳定运行。

本文配置可直接复制到生产环境,适配 centos7/8/9,新手跟着做零失败。

#运维#linux运维#dhcp搭建

最新文章

随机文章