当前位置: 首页 > news >正文

CentOS7配置DHCP服务器全攻略

在 CentOS 7 上配置 DHCP(Dynamic Host Configuration Protocol)服务器,可以实现对局域网内客户端的 IP 地址自动分配,同时支持高级功能,如 ​主机地址绑定(静态分配)、设备分类(class)、以及客户端重新获取 IP​ 等。

下面是对 ​CentOS 7 中 DHCP 服务器配置的全面总结,包括:


一、DHCP 服务简介

  • DHCP(Dynamic Host Configuration Protocol)​​:用于自动为客户端分配 IP 地址、子网掩码、网关、DNS 等网络参数。

  • 服务端软件​:在 CentOS 7 中通常使用 ​ISC DHCP Server,包名为 dhcp

  • 主配置文件​:/etc/dhcp/dhcpd.conf

  • 服务管理命令​:systemctl start/stop/restart/status dhcpd

  • 监听网卡​:默认监听所有网卡,也可指定。


二、安装 DHCP 服务

1. 安装 dhcp 软件包

yum install dhcp -y

2. 检查是否安装成功

rpm -qa | grep dhcp

你应该能看到类似 dhcp-4.2.5-XX.el7.x86_64的包。


三、配置 DHCP 服务器

1. 主配置文件路径

/etc/dhcp/dhcpd.conf

⚠️ 默认该文件可能为空或只有示例注释,你可以备份后清空,或者参考 /usr/share/doc/dhcp-*/dhcpd.conf.example来构建自己的配置。

2. 配置示例(基础 + 高级功能)

假设场景:
  • DHCP 服务器 IP:192.168.1.10

  • 分配的网段:192.168.1.0/24

  • 可分配 IP 范围:192.168.1.50 ~ 192.168.1.100

  • 网关:192.168.1.1

  • DNS:8.8.8.88.8.4.4

  • 默认租期:1天,最大租期:3天


3. 编辑配置文件 /etc/dhcp/dhcpd.conf

vi /etc/dhcp/dhcpd.conf

填入如下内容(根据需求调整):

# 全局配置
option domain-name "example.com";
option domain-name-servers 8.8.8.8, 8.8.4.4;default-lease-time 86400;    # 默认租约时间(秒),这里为1天
max-lease-time 259200;       # 最大租约时间,这里为3天# 指定监听的网络接口(可选,如果不指定则监听所有)
# subnet 192.168.1.0 netmask 255.255.255.0 {
#     range 192.168.1.50 192.168.1.100;
#     option routers 192.168.1.1;
#     option broadcast-address 192.168.1.255;
# }# 正式配置一个子网
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.50 192.168.1.100;           # 动态分配的IP范围option routers 192.168.1.1;                 # 网关option subnet-mask 255.255.255.0;           # 子网掩码option domain-name-servers 8.8.8.8, 8.8.4.4; # DNSoption broadcast-address 192.168.1.255;     # 广播地址default-lease-time 86400;max-lease-time 259200;
}

四、主机地址绑定(静态分配 / 固定IP)

有时候你希望某些设备(比如服务器、打印机、网络摄像头)每次都获取固定的 IP 地址,可以通过 ​MAC 地址绑定来实现。

示例:为某台设备固定分配 IP 192.168.1.100

subnet块内添加如下配置:

host printer {hardware ethernet 00:0c:29:xx:xx:xx;  # 替换为目标设备的 MAC 地址fixed-address 192.168.1.100;          # 指定固定IP
}

🔧 ​如何获取设备的 MAC 地址?​

  • Linux 客户端:ip linkifconfig

  • Windows 客户端:ipconfig /all,找到物理地址(Physical Address)

你可以为多个设备分别定义多个 host块。


五、设备分类设置(Class 匹配)

DHCP 支持基于 ​设备类型、厂商信息、用户类​ 等进行分类,从而为不同类别的设备分配不同的参数,比如不同的 DNS、网关等。

示例:基于 Class 匹配(简单示例)

# 定义一个 class,比如匹配某个特定的用户类或标识
class "special-devices" {match if substring (option vendor-class-identifier, 0, 5) = "MYDEV";
}subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.50 192.168.1.100;option routers 192.168.1.1;# 对于匹配 class "special-devices" 的设备,使用不同的 DNSpool {allow members of "special-devices";range 192.168.1.150 192.168.1.180;option domain-name-servers 1.1.1.1, 1.0.0.1;}# 其它普通设备pool {deny members of "special-devices";range 192.168.1.50 192.168.1.149;option domain-name-servers 8.8.8.8, 8.8.4.4;}
}

⚠️ classpool的搭配使用较为灵活,可以实现策略路由、不同网段分配、DNS 控制等高级功能。但配置也相对复杂,适合有定制需求的场景。


六、启动与启用 DHCP 服务

1. 启动 DHCP 服务

systemctl start dhcpd

2. 设置开机自启

systemctl enable dhcpd

3. 检查服务状态

systemctl status dhcpd

如果看到 active (running)表示服务已经正常启动。


七、防火墙与 SELinux 设置

1. 开放 DHCP 服务端口(UDP 67/68)

DHCP 服务使用:

  • UDP 67​:服务器端

  • UDP 68​:客户端

如果启用了防火墙(firewalld),需要放行 DHCP 服务:

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

如果你使用的是传统 iptables,需要允许 UDP 67/68 端口。

2. SELinux(通常无需特别配置)

默认情况下,只要 DHCP 配置正确,SELinux 不会阻止其运行。如有问题,可以暂时设置为宽松模式测试:

setenforce 0

(生产环境请谨慎,建议正确配置安全策略)


八、客户端如何获取/重新获取 DHCP 地址

1. Linux 客户端获取 IP(DHCP)

  • 自动获取(通常系统启动时自动获取):

    dhclient
  • 手动重新获取 IP(释放并重新请求):

    dhclient -r      # 释放当前IP
    dhclient         # 重新获取IP

    或者:

    nmcli connection down <连接名> && nmcli connection up <连接名>

2. Windows 客户端

  • 自动获取:通常默认开启

  • 手动更新:

    • 命令提示符下:

      ipconfig /release
      ipconfig /renew

九、DHCP 服务日志查看

DHCP 服务日志默认在:

journalctl -u dhcpd -f   # 实时查看 DHCP 服务日志

或者查看系统日志:

tail -f /var/log/messages

通过日志可以排查:

  • 是否有客户端成功获取 IP

  • 是否有地址冲突

  • 配置是否生效等


十、总结:关键配置要点

功能

配置要点

基础 DHCP 服务

修改 /etc/dhcp/dhcpd.conf,定义 subnetrangerouterDNS

主机地址绑定(固定IP)​

使用 host块 + hardware ethernet(MAC) + fixed-address

设备分类设置

使用 class定义设备类型,配合 poolallow/deny实现差异化分配

服务启停

systemctl start/enable/disable/status dhcpd

客户端获取IP

Linux: dhclient,Windows: ipconfig /renew

防火墙

开放 UDP 67/68,或放行 dhcp服务

日志排查

journalctl -u dhcpd/var/log/messages


📌 附加建议

  • 如果你的网络中已有其他 DHCP 服务器(比如路由器),请确保只启用一个,避免 IP 冲突。

  • 可以给不同 VLAN 或网段配置多个 subnet块,但需要 DHCP 服务支持中继(dhcp relay)。

  • 建议备份 /etc/dhcp/dhcpd.conf文件,以便出错时快速恢复。

http://www.dtcms.com/a/574842.html

相关文章:

  • 做游戏网站需要哪些许可昆明百度推广开户费用
  • YAML的使用
  • 天天新网站网站开发 招聘
  • 毕业设计的网站商洛网站设计
  • 微小店网站建设价格为什么那么多人建网站做博客
  • 做自行车网站应该注意什么网页个人简历模板
  • pgsql:connection failed connection to server at
  • STM32H743-ARM例程38-UART-IAP
  • 深圳定制巴士怎么预约如何进行搜索引擎优化 简答案
  • 网站开发维护人员重庆seo杨洋
  • 如何推进网站建设html5网页制作案例
  • 全能网络工具箱:NETworkManager助力运维
  • 重庆市住建厅网站网站设置字体样式
  • 瑞安地区建设网站大连电力工程招标网
  • 石家庄有学校交做网站和优化的吗wordpress 页面评论 调用
  • 哈尔滨高端网站建设wordpress移动底部菜单
  • 免费SSL证书的更新流程
  • 查询网站域名泉州手机网站建设价格
  • Spring解决循环依赖其实就用了个递归
  • 成品网站管系统东莞想做网站
  • 重庆可做网站 APP租用服务器做视频网站
  • 全自动削皮机方案,果蔬去皮机/削皮机MCU控制方案开发设计
  • 北京价格微网站建设茶叶价格网站建设
  • Rust 练习册 2:深入理解 Cell
  • 龙华做网站西安微网站开发
  • 国外有网站备案制度吗制作视频网站建设
  • 创建本地网站站酷设计官方网站
  • LeetCode 416 - 分割等和子集
  • 网站开发命名规范iis创建网站
  • 物流公司网站 源码开发区邮编