Linux基础_dhcp动态获取IP

本文详细介绍了如何在Linux环境下搭建并配置DHCP服务器,包括安装DHCP服务器软件包、编辑配置文件dhcpd.conf,以及如何使客户端通过DHCP方式自动获取IP地址的过程。

    网络配置可以配置为静态网络,也可以配置为动态网络。静态网络配置可以参考《Linux基础_设置网络的三种方式》这篇博客,所谓的动态网络,就是在网络重启时自动从dhcp服务器上自动获取IP,不需要人为的配置。本篇博客主要讲述了dhcp服务器的简单搭建。安装包分享给大家,请自行下载:

  https://pan.baidu.com/s/1VSFiqygEzq05ZiWNdsm0LA

下载完成之后,进行安装,如下:

其中i参数表示安装,v表示显示安装过程,h表示hash加密。

  node1(172.25.254.160)主机作为dhcp服务器,安装完dhcp之后,需要进行配置,配置文件为/etc/dhcp/dhcpd.com文件,由下图可以发现,该文件中没有内容。

在注释行说明了以/usr/share/doc/dhcp*/dhcp.conf.example文件作为参考,所以将该文件拷贝到decpd.conf文件中

在拷贝时会询问是否要覆盖原文件,输入y,表示同意。打开dhcpd.conf文件进行编辑,如下:

  第7行表示服务的域,第8行为DNS,第10行表示默认租约期,11行为最大租约期,30表示网络段,31行range表示分配的网络范围,32行表示网关。然后将多余的内容删掉。重启dhcp服务器。32行的网关和第8行的DNS,配置文件设置的数,当客户端获取IP时,其DNS和网关就是文件中设置的值。

  node2作为测试机,编辑eth0网卡的配置文件/etc/sysconfig/network-scrip/ifcfg-westos,如下:

将网络方式改为dhcp获取方式,然后重启网络,此时node2主机就从dhcp服务器上获取了一个IP,如图,所获取的IP为172.25.254.10/24:

在服务器上,可以通过查看文件/var/lib/dhcpd/dhcp-leases文件知道,给哪台主机分配了IP,如下:

从上图可知,给mac地址为52:54:00:ed:ee:6e(node1)的网卡分配了172.25.254.10的IP地址。

Linux 系统中,eno3 网络接口 DHCP 自动获取 IP 地址失败,可以尝试以下解决办法: ### 检查 DHCP 服务 - 确认 DHCP 服务器是否正常工作。在 Debian 上,DHCP 服务为 `isc-dhcp-server`;在 CentOS 上是 `dhcpd`。可以通过以下命令查看服务状态并尝试重启: - **Debian 系统**: ```bash systemctl status isc-dhcp-server systemctl restart isc-dhcp-server ``` - **CentOS 系统**: ```bash systemctl status dhcpd systemctl restart dhcpd ``` 同时,可以检查日志文件来确认服务是否正常通信,Debian 系统的日志文件为 `/var/log/syslog`,CentOS 系统为 `/var/log/messages` [^2]。 ### 检查网络接口状态 - 确保 eno3 网络接口已启用,可以使用以下命令启用接口: ```bash ip link set eno3 up ``` - 检查接口是否存在硬件问题,可使用 `ethtool` 命令查看接口状态: ```bash ethtool eno3 ``` ### 清除 DHCP 租约信息 - 有时候旧的租约信息可能会导致获取 IP 失败,可以删除相关租约文件并重新尝试获取 IP: - **Debian 系统**: ```bash sudo rm /var/lib/dhcp/dhclient.eno3.leases sudo dhclient eno3 ``` - **CentOS 系统**: ```bash sudo rm /var/lib/dhclient/dhclient-eno3.lease sudo dhclient eno3 ``` ### 配置文件检查 - 查看网络配置文件是否存在错误,在 Debian 系统中可以检查 `/etc/network/interfaces` 文件;在 CentOS 系统中,检查网络卡的初始化脚本,如 `/etc/sysconfig/network-scripts/ifcfg-eno3`,确保没有手动配置静态 IPDHCP 冲突 [^1]。 ### 防火墙检查 - 防火墙可能会阻止 DHCP 请求,临时关闭防火墙并尝试重新获取 IP: - **Debian 系统(使用 ufw)**: ```bash sudo ufw disable sudo dhclient eno3 ``` - **CentOS 系统(使用 firewalld)**: ```bash sudo systemctl stop firewalld sudo dhclient eno3 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值