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

【网络运维】Linux:简单DHCP服务器的部署

DHCP 服务器简单部署

DHCP 服务介绍

在大型网络中,系统静态分配IP地址面临问题:

  1. 确保不要同时在多个系统上使用同一个地址。
  2. 部署新系统通常需要手动分配其IP地址。在云环境中,实例的网络是自动化配置的。

动态主机配置协议(DHCP-Dynamic Host Configuration Protocol)提供了一种自动配置网络参数的方法,例如IP地址,默认网关,DNS服务器和域或NTP服务器。在网络中部署DHCP服务器,您可以集中控制这些参数。

DHCP有两种协议:

  • 用于IPv4网络的 DHCPv4
  • 用于IPv6网络的 DHCPv6

本文只介绍DHCPv4。

在DHCP服务器上,可以使用journalctl --unit= dhcpd.service命令来访问客户端与服务端通信消息。 以下摘录显示了客户端通过DHCP请求IP地址。

DHCPDISCOVER from 00:0c:29:26:13:b5 via eth0
DHCPOFFER on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0
DHCPREQUEST for 10.1.8.101 (10.1.8.2) from 00:0c:29:26:13:b5 (hosta) via
eth0
DHCPACK on 10.1.8.101 to 00:0c:29:26:13:b5 (hosta) via eth0

在租约到期之前,客户端会定期向服务器发送 DHCPREQUEST 数据包,以确保服务器不会收回IP地址。

部署 DHCP 服务器

要配置DHCPv4服务器,请首先使用ip addr命令确认您的网络接口配置是否指定了BROADCAST地址。

2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:e5:be:0f brd ff:ff:ff:ff:ff:ffinet 10.1.8.10/24 brd 10.1.8.255 scope global ens160valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fee5:be0f/64 scope link valid_lft forever preferred_lft forever

服务器必须具有静态IP地址。

安装 DHCP 软件
# 安装软件包
[root@server ~]# yum install -y dhcp# 配置防火墙,放行dhcp服务
[root@server ~]# firewall-cmd --add-service=dhcp
[root@server ~]# firewall-cmd --add-service=dhcp --permanent
配置 DHCP 服务器

dhcpd服务使用/etc/dhcp/dhcpd.conf配置文件。 dhcp软件包提供/usr/share/doc/dhcp-*/dhcpd.conf.example 配置文件示例。

[root@server ~]# /bin/cp /usr/share/doc/dhcp-*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@server ~]# vim /etc/dhcp/dhcpd.conf

典型的DHCP配置示例:

subnet 10.1.8.0 netmask 255.255.255.0 {range 10.1.8.101 10.1.8.200;option domain-name-servers 223.5.5.5,223.6.6.6;option domain-name "furongwang.cloud";option routers 10.1.8.2;option broadcast-address 10.1.8.255;default-lease-time 600;max-lease-time 7200;
}

配置说明:

  • authoritative,指示服务器对其所管理的子网具有权威性。
  • subnet,提供的子网详。
  • range,指定服务器在该范围内分配IP地址。
  • option routers,指定服务器提供默认网关地址。
  • option domain-name-servers,指定服务器提供DNS名称服务器。
  • option domain-search,指定服务器提供DNS域搜索列表。
  • default-lease-time,提供网络信息默认租期,如果客户端不要求任何特定的租期。单位秒。
  • max-lease-time,指示服务器可以从客户端请求接受的最大租期。单位秒。

客户端系统上的NetworkManager使用domain-name-serversdomain-search更新resolv.conf文件中的nameserversearch参数。

验证 DHCP 配置
# 验证配置文件语法
[root@server ~]# dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
启用并启动服务
# 启用并启动服务
[root@server ~]# systemctl enable dhcpd --now# 查看服务状态
[root@server ~]# systemctl status dhcpd

配置 DHCP 客户端

# 添加一个自动获取ip连接,假设网卡设备名为ens36
[root@client ~]# nmcli connection add con-name ens36-dhcp type ethernet ifname ens36
[root@client ~]# nmcli connection up ens36-dhcp# 验证
[root@client ~]# ip addr show ens36
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:e9:a1:14 brd ff:ff:ff:ff:ff:ffinet 10.1.8.133/24 brd 10.1.8.255 scope global noprefixroute dynamic ens36valid_lft 1107sec preferred_lft 1107secinet6 fe80::fe4a:9b9b:ee25:3ab7/64 scope link noprefixroute valid_lft forever preferred_lft forever

基于 MAC 地址预留IP地址

在配置文件中,host声明可以将MAC地址绑定到IP地址。 此配置对于始终为特定系统的网络接口提供相同的IP地址特别有用,尤其是Web或数据库系统之类的服务器。

客户端MAC地址查看:

[root@client ~]# ip link show ens192
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ffaltname enp11s0

在以下示例中,服务器始终为MAC地址是00:0c:29:26:13:b5的系统分配10.1.8.20地址。

/etc/dhcp/dhcpd.conf最后添加如下内容:

host client.linux.fun {hardware ethernet 00:0c:29:26:13:b5;fixed-address 10.1.8.30;
}

为对应MAC地址的端口预留了10.1.8.30的ip地址。
重启服务。

[root@server ~]# systemctl restart dhcpd

客户端验证:

# 激活连接
[root@client ~]# nmcli connection up dynamic# 验证
[root@client ~]# ip addr show ens192
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:26:13:b5 brd ff:ff:ff:ff:ff:ffaltname enp11s0inet 10.1.8.30/24 brd 10.1.8.255 scope global dynamic noprefixroute ens192valid_lft 245sec preferred_lft 245secinet6 fe80::95db:2216:1a36:615/64 scope link noprefixroute valid_lft forever preferred_lft forever

客户端对应端口ip变为预设的ip地址。

http://www.lryc.cn/news/611690.html

相关文章:

  • Profinet转Ethernet IP网关接入五轴车床上下料机械手控制系统的配置实例
  • 03-mysql/redis/apache安装记录
  • 开疆智能ModbusTCP转Profinet网关连接安川YRC1000机器人配置案例
  • PHP官方及第三方下载地址全指南(2025最新版)
  • apache-superset config.py、superset_config.py完整配置项解读
  • SQL的条件查询
  • SQL120 贷款情况
  • CSS高频属性速查指南
  • 基于智能体技术的AIGC源码
  • ABP VNext + SQL Server Temporal Tables:审计与时序数据管理
  • 从 0 到 1:写一个能跑在大体量应用后台的 C++ 协程库
  • 怎么免费建立自己的网站步骤
  • Docker 数据存储路径(解决默认docker路径位置磁盘空间不足的情况)
  • 家庭宽带中的服务器如何被外网访问?
  • RequestBodyAdviceAdapter是什么有什么用
  • [Linux]学习笔记系列 -- [arm][debug]
  • MCP 协议:AI 时代的 “万能转接头”,从 “手动粘贴” 到 “万能接口”:MCP 协议如何重构 AI 工具调用规则?
  • Linux 中 Git 操作大全
  • Go语言 单元测试
  • 鸿蒙app 开发中 全局弹窗类的封装 基于PromptAction
  • LazyLLM教程 | 第3讲:大模型怎么玩:用LazyLLM带你理解调用逻辑与Prompt魔法!
  • AI_提示词Prompt
  • MCP-PromptX AI小说创作使用教程
  • 百度智能云给“数字人”发工牌
  • 纯血鸿蒙(HarmonyOS NEXT)应用开发完全指南
  • HarmonyOS 5 入门系列-鸿蒙HarmonyOS示例项目讲解
  • day20|学习前端
  • 合同全生命周期管理系统是什么?
  • 基于php的个人健康管理系统设计与实现/vue/php开发
  • 数据结构(四)内核链表、栈与队列