Linux中DHCP配置指南指南(配实验步骤与注释)

Linux中DHCP配置指南指南

一、DHCP基础概念

  1. 功能
    • 动态分配IP地址、子网掩码、网关、DNS等网络参数
    • 适用场景:
      • IP地址资源不足的子网(如ISP)
      • 设备位置频繁变动的网络(如移动办公)
  2. 核心术语
    • 端口 :服务端 UDP 67,客户端 UDP 68(IPv6使用 546
    • 组件:DHCP服务器、客户端、中继代理(路由器)
    • 管理单元:作用域(Subnet)、地址池、租约、保留地址

二、DHCP工作流程(DORA四阶段)

1. Discover(发现阶段)
  • 客户端 :广播发送 DHCP Discover 报文
  • 目的:寻找可用DHCP服务器
  • 报文特点:包含客户端MAC地址
2. Offer(提供阶段)
  • 服务器 :响应 DHCP Offer 报文(广播)
  • 内容
    1. IP地址
    2. 子网掩码
    3. DNS
    4. 租期时间
    5. 服务器标识
3. Request(请求阶段)
  • 客户端 :广播 DHCP Request 报文
  • 作用
    1. 接受特定服务器的Offer
    2. 续租时直接发送(跳过Discover/Offer)
4. Acknowledge(确认阶段)
  • 服务器 :发送 DHCP ACK 确认分配(广播)
  • 客户端:收到后激活网络配置
  • 异常 :若收到 DHCP NAK,客户端需重启流程

跨网段通信

中继代理通过 giaddr 字段传递客户端网关信息,实现跨子网IP分配


三、DHCP服务搭建

1. 搭建服务器环境

bash 复制代码
vim /etc/yum.repos.d/server.repo		# 搭建本地yum仓库
	[aa]
	name=aa1
	baseurl=file:///mnt
	enabled=1
	gpgcheck=0

mount /dev/cdrom /mnt/					# 挂载镜像
yum -y install dhcp						# 下载 DHCP

2. 服务器配置文件

  1. 编辑主配置文件

    bash 复制代码
    cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    # -4.2.5 为下载的DHCP版本
    
    vim  /etc/dhcp/dhcpd.conf			# 编辑主配置文件
    	subnet 172.16.30.0 netmask 255.255.255.0 {				# 定义子网和子网掩码
      	range 172.16.30.50 172.16.30.100;						# 定义地址池
      	#option domain-name-servers ns1.internal.example.org;	# 定义 DNS 服务器
      	#option domain-name "internal.example.org";				# 定义域
      	option routers 172.16.30.1;								# 定义网关
      	#option broadcast-address 10.5.5.31;					# 定义广播地址
      	default-lease-time 600;									# 默认租约时间
      	max-lease-time 7200;									# 最大租约时间
    	}
    
    host desktop30 {							# 为特定的 mac 主机定义固定的 IP 地址
      hardware ethernet 00:0c:29:0d:1c:a5;		# 主机的 mac 地址
      fixed-address 172.16.30.60;				# 提供的 IP 地址
    }
  2. 重启服务并设置下次启动生效

    bash 复制代码
    systemctl restart dhcpd						# 重启服务
    systemctl enable dhcpd						# 下次开机自启
  3. 关闭防火墙

    bash 复制代码
    systemctl stop firewalld					# 关闭防火墙 
    systemctl disable firewalld					# 禁用防火墙
  4. 设置 seLinux

    bash 复制代码
    setenforce 0								# 临时改成 permissive 模式
    vim /etc/selinux/config						# 进入配置文件,改成 disabled 模式
    	SELINUX=disabled

3. 客户端配置

  1. 配置客户端网卡文件

    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens33		# 配置网卡
    	BOOTPROTO=dhcp
    	ONBOOT=yes
    
    systemctl restart network					# 重启服务
    1. 查看客户端 IP
    bash 复制代码
    ip a

四、DHCP中继服务搭建

1. 服务器配置文件

下载dhcp(同上)

  1. 编辑主配置文件

    bash 复制代码
    cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    # -4.2.5 为下载的DHCP版本
    
    vim  /etc/dhcp/dhcpd.conf			# 编辑主配置文件
    	subnet 192.168.100.0 netmask 255.255.255.0 {			# 自身网段
    	}
    	# A slightly different configuration for an internal subnet.
    	subnet 192.168.200.0 netmask 255.255.255.0 {			# 定义子网和子网掩码
      	range 192.168.200.50 192.168.200.100;					# 定义地址池
      	option routers 192.168.200.254;							# 定义网关
      	default-lease-time 600;									# 默认租约时间
      	max-lease-time 7200;									# 最大租约时间
    	}
  2. 重启服务并设置下次启动生效(同上)

  3. 关闭防火墙(同上)

  4. 设置 seLinux(同上)

3. 中继配置

下载dhcp(同上)

  1. 开启ip转发

    bash 复制代码
    vim /etc/sysctl.conf
    	net.ipv4.ip_forward = 1
    
    sysctl -p /etc/sysctl.conf
  2. 配置网卡

    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens36
  3. 开启dhcp中继

    bash 复制代码
    dhcrelay 192.168.100.10

客户端配置

  1. 配置客户端网卡文件

    bash 复制代码
    vim /etc/sysconfig/network-scripts/ifcfg-ens33		# 配置网卡
    	BOOTPROTO=dhcp
    	ONBOOT=yes
    
    systemctl restart network					# 重启服务
  2. 查看客户端 IP

    bash 复制代码
    ip a
相关推荐
bantinghy1 小时前
Linux系统TCP/IP网络参数优化
linux·网络·tcp/ip
星期天要睡觉1 小时前
Linux 综合练习
linux·运维·服务器
saynaihe1 小时前
proxmox8升级到proxmox9
linux·运维·服务器
Delphi菜鸟1 小时前
docker 部署RustDesk服务
运维·docker·容器
Orchestrator_me1 小时前
CentOS交换区处理
linux·运维·centos
zru_96022 小时前
centos 系统如何安装open jdk 8
java·linux·centos
FLS1682 小时前
VMwaer虚拟机安装完Centos后无法联网问题
linux·运维·centos
OctopusMonster2 小时前
centos下gdb调试python的core文件
linux·运维·centos
wanhengidc2 小时前
云手机可以息屏挂手游吗?
运维·网络·安全·游戏·智能手机
一只小白菜~2 小时前
实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
运维·网络·计算机网络·智能路由器