DHCP服务器

本文介绍了如何配置DHCP客户端,包括自动启动dhclient服务在udp 68端口,以及客户端信息文件的位置。同时,也讲解了DHCP服务器的配置相关文件和启动方法。

配置 DHCP 客户端

vim /etc/sysconfig/network-scripts/ifcfg-ens33
	BOOTPROTO="dhcp"
systemctl restart network
  1. 会自动启动 dhclient 服务 udp 68端口
  2. /var/lib/dhclient/dhclient.leases dhcp客户端信息文件
  3. 手动启动dhclient 是后台运行的
dhclient //后台运行
dhclient -d  //前台方式运行
nmcli device show ens33
nmcli connection show ens33

windows中命令

ipconfig/release 立即释放现在在从dhcp服务器获取的地址,优先旧的地址,重新申请ip
ipconfig/renew  强迫立即续约,获取一个新的租期

配置 DHCP 服务器

yum install dhcp -y

相关文件

/usr/lib/systemd/system/dhcpd.service
/usr/sbin/dhcpd
/etc/dhcp/dhcpd.conf

配置文件

option domain-name "xuepeng.com";
option domain-name-servers 180.76.76.76, 223.6.6.6;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.43.0 netmask 255.255.255.0 {
  range 192.168.43.100 192.168.43.200;
  range 192.168.43.210 192.168.43.220;
  option routers 192.168.43.2;
}
host centos7-43-17 {
option domain-name "study.com";
option domain-name-servers 8.8.8.8, 114.114.114.114;
default-lease-time 86400;
max-lease-time 864000;
hardware ethernet 00:0c:29:49:cb:28;
option routers 192.168.43.2;
fixed-address 192.168.43.206;
}

启动

 systemctl start httpd  // 会开启udp的67端口
### 定义 DHCP(Dynamic Host Configuration Protocol)服务器是一种用于动态分配IP地址及其他网络配置参数的网络服务。它能为网络中的客户端自动分配IP地址、子网掩码、网关、DNS服务器等信息,避免了手动配置的繁琐和错误。 ### 工作原理 当客户端启动时,会发送一个DHCP Discovery广播包,寻找可用的DHCP服务器DHCP中继代理收到此报文后,以单播方式向DHCP服务器转发该报文并等待回答。DHCP服务器收到请求后,会发送一个DHCP Offer报文,其中包含可用的IP地址和其他配置信息。DHCP中继代理收到此报文后,再将其发回主机。客户端收到Offer后,会发送一个DHCP Request报文,请求使用该IP地址。DHCP服务器确认后,会发送一个DHCP ACK报文,客户端就可以使用分配的IP地址进行网络通信。当租期达到50%时,客户机会再次发送DHCP Request包进行续约,如果服务器无响应,则在87.5%时再次发送续约请求,若仍然无响应,客户端会释放IP地址,并重新发送DHCP Discovery广播包来获取新的IP地址。当无任何服务器响应时,客户端会自动给自己分配一个169.254.x.x/16全球统一无效地址,用于临时内网通信 [^1][^3]。 ### 配置方法 配置DHCP服务器可从查看进程和端口开始,使用命令 `ps aux|grep dhcpd` 查看dhcpd进程,使用 `netstat -anplut|grep dhcp` 查看端口67 UDP是否正常监听。之后可进行客户机测试,以确保服务器配置生效 [^2]。 ### 其他信息 DHCP Relay(DHCPR)也被称为DHCP中继,可实现跨越物理网段处理和转发DHCP信息的功能。并非每个网络都需要部署DHCP服务器,推荐的做法是每个网络至少有一个DHCP中继代理,并配置好DHCP服务器的IP地址信息 [^1]。 ### 代码示例 以下是使用Python模拟DHCP服务器简单工作流程的示例代码: ```python import socket # 模拟DHCP服务器监听端口 server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.bind(('0.0.0.0', 67)) while True: data, client_address = server_socket.recvfrom(1024) # 这里简单模拟处理DHCP Discovery请求 if b'DHCP Discovery' in data: offer_message = b'DHCP Offer: 192.168.1.100' server_socket.sendto(offer_message, client_address) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值