Linux DHCP服务器交换机固定端口分配固定IP实践

本文介绍了在Linux环境下,通过DHCP服务器结合交换机实现固定端口分配固定IP的实践过程。内容包括实验环境的搭建、DHCP服务器的安装与配置,以及在不同交换机端口上的测试,最终成功实现了端口IP绑定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景

平时在工作中调试设备的时候,DHCP自动给出的IP不固定,会浪费不少时间,如果端口能固定IP,会方便一些。
水平有限,在网上找了不少资料,花费了一些时间,还有能改进的地方,希望能指正批评。如果转载, 请注明出处,谢谢!

实验环境

WINDOWS 10(LSTC)+VirtualBox5.22 + 华为ENSP(1.300.200T) +Ubntu18.04 ( VirtualBox虚拟机)

环境搭建

1、Windows 10 个人比较推荐LSTC系列版本,除了自带的Edge浏览器外,几乎没有捆绑其它插件,对于我这台配置比较低的15款Macbook 比较友好。
2、VirtualBox5.22.44(在WIN10上eNSP自带的5.18不好用,先装好这个再安装eNSP);
3、VMware 17 (非必须)可以安装虚拟网卡方便调试
4、eNSP安装比较简单,一路回车即可
5、uBuntu18.04可以在VM中也可以在VirtualBox中安装也可以在VM中安装(两者均测试通过),网卡采用桥接模式,方便和eNSP实验室中的交换机直接连接
6、抓包工具Wreshark (非必须)

上述环境的安装过程就不在详述,网上教程很多。资源放在云盘了。需要可以去下载
链接:https://pan.baidu.com/s/1Rl3z3cfAyGVChkbE5GFzZQ?pwd=z017
提取码:z017

网络拓扑图

端口分配固定IP 实验拓扑图

调试过程

本机IP 192.168.56.1
DHCP SERVER IP:192.168.56.254

DHCP SERVER 安装及配置

1、安装好Linux虚拟机,配置网卡IP:192.168.56.254
sudo vim /etc/netplan/xxxx.yaml

network:
    ethernets:
        enp0s3:
            dhcp4: no
            addresses: [ 192.168.56.254/24 ]
            gateway4: 192.168.56.1
            nameservers:
                    addresses: [192.168.56.1,114.114.114.114]
    version: 2

2、安装dhcp server服务器sudo apt install -y isc-dhcp-server
3、等待安装完成(1-2分钟左右)
4、配置dhcp-server
sudo vim /etc/dhcp/dhcpd.conf

option domain-name "example.org";
option domain-name-servers 192.168.56.254;
default-lease-time 7200;
max-lease-time 7200;
ddns-update-style none;

subnet 192.168.56.0 netmask 255.255.255.0 {
   
   
        range 192.168.56.10 192.168.56.20;
        option broadcast-address 192.168.56.255;
        option subnet-mask 255.255.255.0;
        option routers 192.168.56.254;
}
host s1_p10{
   
   
     host-identifier option agent.circuit-id "S1_P_10";
     fixed-address 192.168.56.110;
}
host s2_p2{
   
   
     host-identifier option agent.circuit-id "S2_p2";
     fixed-address 
<think>嗯,用户想知道如何检查DHCP是否正确分配IP地址。首先,我需要回忆一下DHCP的工作流程。DHCP客户端在启动时会发送Discover广播,服务器回应Offer,然后客户端Request,服务器确认ACK,这样客户端就获得了IP地址。那验证是否正确分配的话,应该从客户端和服务器两边检查。 首先,客户端这边,用户可能需要查看自己获得的IP地址是否在DHCP服务器的地址池范围内。比如在Windows系统里可以用ipconfig命令,Linux用ifconfig或者ip addr show。另外,检查租约时间是否合理,如果租约太短可能会有频繁续租的问题。 然后,服务器端的话,需要确认DHCP服务是否正常运行。比如在Linux下可以用ps命令查看dhcpd进程是否存在,或者用systemctl status dhcpd.service检查服务状态。服务器日志也很重要,查看/var/log/syslog或者messages,看是否有分配IP的记录或者错误信息。 网络连通性也不能忽视,客户端和服务器之间是否有防火墙阻挡了DHCP的广播包?DHCP用的是UDP端口67和68,如果中间有路由器或交换机配置了DHCP中继,可能需要检查中继配置是否正确。 还有,DHCP服务器配置是否正确,比如地址池、保留地址、排除范围这些有没有错误。比如引用4提到锐捷设备配置静态分配时,需要指定客户端的MAC地址和分配IP,可能配置错误导致分配不对。 另外,用户可能遇到的问题比如IP冲突,这时候可以ping一下分配IP看是否有响应,或者用arp检查MAC地址是否匹配。如果客户端拿到169.254开头的IP,说明DHCP失败,进入了APIPA模式,这时候需要检查网络连接是否正常,DHCP服务器是否可达。 还有,用抓包工具像Wireshark分析DHCP交互过程,看四步握手是否完成,服务器有没有发送ACK包,里面的IP信息是否正确。这能更直观地看到问题所在。 可能需要综合多个步骤来排查,比如先客户端检查,再服务器状态,然后网络连通性,最后具体配置。用户可能不太清楚这些步骤,所以回答时要结构清晰,分点说明,每个步骤给出具体的命令或方法,方便他们逐步操作。</think>### 如何验证DHCP分配IP地址是否正确? #### 一、客户端验证步骤 1. **查看客户端IP配置** - **Windows系统**: 执行命令 `ipconfig /all`,检查获得的IP地址是否在DHCP服务器定义的地址池范围内,并确认租约期限、子网掩码、网关和DNS服务器信息是否与服务器配置一致。 **示例输出**: ``` IPv4 Address............: 192.168.1.100 Subnet Mask.............: 255.255.255.0 Default Gateway.........: 192.168.1.1 DHCP Server.............: 192.168.1.1 Lease Obtained..........: 2023-10-01 10:00 Lease Expires...........: 2023-10-02 10:00 ``` - **Linux系统**: 执行 `ifconfig` 或 `ip addr show`,检查IP地址和网关信息。 2. **检查IP地址冲突** - 使用 `ping <分配IP地址>` 测试该IP是否已被占用。若收到响应,则可能存在IP冲突,需检查DHCP服务器的排除地址配置[^4]。 - 使用 `arp -a` 查看ARP表中该IP对应的MAC地址是否与客户端匹配。 3. **验证DHCP交互过程** - 使用抓包工具(如Wireshark)捕获DHCP流量,确认客户端与服务器完成完整的 **DHCP四步交互**(Discover → Offer → Request → ACK),并检查ACK报文中的IP地址字段[^3]。 --- #### 二、服务器端验证步骤 1. **检查DHCP服务状态** - **Linux(如ISC DHCP)**: 执行 `systemctl status dhcpd` 或 `ps aux | grep dhcpd`,确认服务是否运行。 - **Windows Server**: 通过“DHCP管理器”查看服务器状态,确认作用域是否激活[^2]。 2. **查看DHCP服务器日志** - **Linux**:检查 `/var/log/syslog` 或 `/var/log/messages`,搜索与客户端MAC地址相关的分配记录。 - **Windows**:在“事件查看器”中筛选DHCP服务相关日志,确认IP分配事件。 3. **核对地址池配置** - 检查DHCP作用域的地址范围、排除地址和保留地址(如引用4中提到的静态分配配置),确保分配IP地址未超出范围或冲突[^4]。 --- #### 三、网络连通性排查 1. **验证DHCP广播可达性** - 客户端发送的Discover报文为广播(目标地址255.255.255.255),若跨网段需确认路由器是否配置DHCP中继(如 `ip helper-address` 命令)。 2. **检查防火墙规则** - 确保服务器和客户端的UDP端口67(服务器)和68(客户端)未被防火墙阻塞[^3]。 --- #### 四、典型问题场景 - **客户端获取169.254.x.x地址**: 表示DHCP失败(APIPA地址),需检查客户端与服务器的物理连接、DHCP服务是否启动[^1]。 - **IP地址频繁变更**: 检查DHCP租约时间配置(默认通常为8天),过短的租期可能导致频繁续租。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值