DHCPv4

配置DHCPv4

如下表所示配置部署DHCPv4服务器

ParameterIPv4 value
Authoritative for the network segmentYes
Subnet192.168.62.0/24
Range of addresses to offer192.168.62.200 to 192.168.62.249
Default gatewayNone
Broadcast address of the subnet192.168.62.255
DNS server192.168.62.11
DNS search domainspvt.example.net, lab.example.com, example.com
Fixed ipv4 address192.168.62.12

workstation主机上的**/home/student/cr-network/files/dhcp**目录中提供了部分DHCP配置文件。

2.1 安装dhcp-server软件包。(配置之前要确定服务主机提供dhcp服务的网卡已经配置)

[root@servera ~]# yum -y install dhcp-server

2.2 编辑**/etc/dhcp/dhcpd.conf**文件,内容如下所示:

[root@servera ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example (注意:需要复制这一行,因为这是例子。)
#   see dhcpd.conf(5) man page
#
[root@servera ~]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp: overwrite '/etc/dhcp/dhcpd.conf'? yes
[root@servera ~]# 
[root@servera ~]# vim /etc/dhcp/dhcpd.conf
authoritative;
log-facility local7;

# A slightly different configuration for an internal subnet.
subnet 192.168.62.0 netmask 255.255.255.0 {
  range 192.168.62.200 192.168.62.249;
  option broadcast-address 192.168.62.255;
  option domain-name-servers 192.168.62.11;
  option domain-search "pvt.example.net", "lab.example.com", "example.com";
  default-lease-time 600;
  max-lease-time 7200;
}

host serverc {           #(配置固定IP地址时,需要有目标主机网口的mac地址)
  hardware ethernet 52:54:00:01:fa:0c;
  fixed-address 192.168.62.12;
}

2.3 使用dhcpd -t命令验证**/etc/dhcp/dhcpd.conf**的语法,如果命令报告任何错误,请在继续之前更正他们。

[root@servera ~]# dhcpd -t

2.4 启用并设置开机自启。

[root@servera ~]# systemctl enable --now dhcpd

2.5 确认服务正在运行。

[root@servera ~]# systemctl is-active dhcpd
active

2.6 将dhcp服务添加到防火墙规则中。

[root@servera ~]# firewall-cmd --add-service=dhcp
success
[root@servera ~]# firewall-cmd --add-service=dhcp --permanent 
success
[root@servera ~]# firewall-cmd --reload
success
[root@servera ~]# firewall-cmd --list-all | grep services
  services: cockpit dhcp dhcpv6-client ssh

2.7 在serverc主机上自动获取地址。

[root@serverc ~]# nmcli connection add con-name dhcp-ipv type ethernet ifname eth1
[root@serverc ~]# nmcli connection up dhcp-ipv
### DHCPv4协议详解 #### 动态主机配置协议(DHCP) 动态主机配置协议 (Dynamic Host Configuration Protocol, DHCP) 是一种用于简化网络管理的通信协议。通过该协议,管理员可以集中管理和自动分配IP地址和其他网络参数给局域网中的设备。 - **工作原理** 当客户端启动时会向本地网络广播请求消息寻找可用的服务端。服务器接收到此请求后提供包含IP地址在内的必要设置信息作为响应。这些信息通常包括但不限于子网掩码、默认网关以及DNS服务器的位置等[^1]。 - **报文交互过程** 整个流程涉及四个主要阶段: 1. 发现阶段:客户机发送DhcpDiscover报文来定位DHCP服务; 2. 提供阶段:一台或多台DHCP服务器回应带有可租用IP地址及其他选项的DhcpOffer报文; 3. 请求阶段:客户机会选择其中一个提议并通过发送DhcpRequest确认接受特定服务器所提供的资源; 4. 确认阶段:选定的DHCP服务器回复ACK/DHCPOFFER以完成交易并向客户提供所需的信息。 ```python import socket def dhcp_discover(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) message = b'\x01' # Message type: Discover server_address = ('<broadcast>', 67) client_address = ('', 68) try: sent = sock.sendto(message, server_address) data, _ = sock.recvfrom(4096) print('Received:', data.decode()) finally: sock.close() ``` #### 常见问题及其解决方案 ##### 租约到期无法续订 如果客户的租期结束前未能成功续约,则可能会失去当前使用的IP地址。为了避免这种情况发生,建议调整T1/T2时间间隔或者增加最大重试次数以便给予更多尝试的机会去联系到有效的DHCP Server来进行更新操作。 ##### 客户端获取错误的网关或DNS服务器 这可能是由于恶意攻击者冒充合法的DHCP服务器所致。为了防止此类事件的发生,应该启用安全措施比如采用DHCP snooping功能过滤非法的消息;另外还可以利用静态绑定的方式指定固定的映射关系从而绕过动态分配机制带来的不确定性因素影响正常通讯质量。 ##### 设备频繁更换不同网段内的位置却仍能保持连贯性的连接体验 对于移动性强的工作环境而言,可以通过配置Option 82属性携带附加识别符帮助追踪终端的具体接入点进而实现更加精准灵活地控制策略制定与实施效果评估分析等功能特性提升整体运维效率降低故障排查难度提高用户满意度水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值