Centos 配置eth0 提示Device does not seem to be present

本文介绍了CentOS系统中网络故障的几种常见修复方法,包括删除并重建网络规则文件、更改网卡名称设置以及针对特定硬件环境的手动配置调整。

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

一.故障现象:
[root@c1node01 ~]# service network restart
Shutting down loopback insterface:                                                       [   OK  ]
Bringing up loopback insterface:                                                            [   OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.                    [FAILED]
 
解决办法:
[root@c1node01 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules
[root@c1node01 ~]# reboot ………………
[root@c1node01 ~]# service network restart
Shutting down loopback insterface:                                                         [   OK   ]
Bringing up loopback insterface:                                                              [   OK   ]
Bringing up interface eth0:                                                                     [   OK   ]
[root@c1node01 ~]#
 
二.另一种方法
造成这样的原因,是因为在虚拟机(Vmware)中移动了Centos系统对应的文件,导致重新配置时,网卡的MAC地址变了,输入ifconfig -a,找不到eth0
·······
 
安装完一个centos虚拟机,又拷贝一份,开机后网卡无法正常启动,报错:Device eth0 does not seem to be present, 
delaying initialization

解决:# mv /etc/sysconfig/network-scripts/ifcfg-eth0 
sysconfig/network-scripts/ifcfg-eth1

vim 
sysconfig/network-scripts/ifcfg-eth1

修改DEVICE="eth0" 
为DEVICE="eth1"

然后重启启动网卡尝试下
 
三.比第一种更深入一点
 
 

故障前的操作:

DELL刀片装的是CentOS6.3的操作系统,网卡识别的是em1和em2,由于工作需要做了槽位调整,并启动了刀片

 

故障现象:

启动后网络不通,通过iDRAC登录后route查看缺省路由正常;

重启网络服务:

[root@nodeA ~]# service network restart Shutting down loopback insterface: [ OK ] Bringing up loopback insterface: [ OK ] Bringing up interface em1: Device em1 does not seem to be present,delaying initialization. [FAILED]

 

分析问题和解决:

之前在别的文章中我们提过70-persistent-net.rules文件,所以看了一下:

[root@nodeA ~]# vi /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key.

# PCI device 0x14e4:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x14e4:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

发现NAME的名称不正确,依次将上述红色字体中的eth0改为em1,eth1改为em2;

*切记:网卡编号由MAC地址大小决定,MAC越小网卡编号越小;

如下:

…………

# PCI device 0x14e4:0x163a (bnx2)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1e", ATTR{type}=="1", KERNEL=="eth*", NAME="em2"

# PCI device 0x14e4:0x163a (bnx2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:b6:fd:ab:76:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="em1"

保存退出~!

[root@nodeA ~]#reboot

………………

问题解决~!

<think>首先,用户的问题是:“解决启动网络接口 enss33 时出现 Device name does not seem to be present 错误”。用户提到了错误信息“Device “ens33“ does not exist.”,这来自于引用[4]。 从引用中,我看到用户遇到了网络接口问题: - 引用[1]和[3]提到在Linux系统中,ifconfig命令没有显示ens33接口,只有环回口。 - 引用[3]提供了一个解决方案:执行/sbin/dhclient命令,成功启用了网络接口。 - 引用[4]直接提到错误“Device “ens33“ does not exist.”,这发生在脚本中尝试使用ens33时。 用户的问题焦点是启动ens33时出现“Device name does not seem to be present”错误。注意,用户写了“enss33”,但引用中是“ens33”,可能是个笔误。我应该假设是ens33。 系统级指令: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户可见层指令: - 回答结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 参考引用: - [^1]: 描述了ifconfig无ens33,执行/sbin/dhclient成功。 - [^2]: 提到尝试添加HWADR字段但未成功。 - [^3]: 详细描述了问题,执行/sbin/dhclient解决了问题。 - [^4]: 直接错误“Device “ens33“ does not exist.”。 用户的问题本质是网络接口ens33不存在或未启动。解决方案可能包括: 1. 检查网络接口名称是否正确:使用`ip link show`或`ifconfig -a`查看所有接口。 2. 尝试启动接口:使用`ifup ens33`或`dhclient ens33`。 3. 如果接口不存在,检查配置文件:如/etc/sysconfig/network-scripts/ifcfg-ens33。 4. 从引用[3]看,执行`/sbin/dhclient`可能帮助启用接口。 回答结构: - 逐步指导用户解决问题。 - 确保清晰、逻辑性强。 - 结尾生成相关问题。 由于问题涉及Linux网络配置,我需要提供命令和步骤。确保使用中文。 生成相关问题:基于主题,生成3个相关问题。 完整回答框架: 1. **理解问题**:解释错误原因。 2. **检查当前状态**:指导用户确认接口状态。 3. **解决方案步骤**: - 步骤1:检查接口是否存在。 - 步骤2:尝试启动接口。 - 步骤3:检查配置文件。 - 步骤4:应用从引用中的解决方案。 4. **验证**:如何验证问题解决。 5. **相关问题**:生成3个相关问题。 添加引用标识:在相关部分末尾添加[^n]。 数学表达式:用户问题不涉及数学,但如果需要,可以添加。例如,在解释网络概念时,但可能不必要。保持简单。 最终回答用中文。</think>### 解决启动网络接口 ens33 时出现 "Device name does not seem to be present" 错误 在 Linux 系统中,启动网络接口 ens33 时出现 "Device name does not seem to be present" 错误(或类似提示如 "Device 'ens33' does not exist"),通常表示系统无法识别或加载该网络接口。这可能是由于接口未正确配置、驱动问题、配置文件错误或网络服务未启动所致。根据您的描述和参考信息(如引用[3]和[^4]),我将逐步指导您解决此问题。整个过程基于真实可靠的 Linux 网络管理实践,请按顺序操作。 --- ### 步骤 1: 确认网络接口状态 首先,检查系统中是否存在 ens33 接口及其当前状态。使用以下命令查看所有网络接口: ```bash ip link show # 显示所有接口的链接状态 ifconfig -a # 显示所有接口的详细信息(包括未激活的) ``` - **预期结果**:如果 ens33 存在,但状态为 `DOWN`,您会看到类似 `ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000` 的输出。 - **问题诊断**:如果输出中完全看不到 ens33,可能接口名称错误、驱动未加载或配置文件缺失。这类似于引用[3]中描述的 "网络接口 ens33 不见了"[^3]。 --- ### 步骤 2: 尝试手动启动接口 如果接口存在但未激活,执行以下命令尝试启动它: ```bash sudo ifup ens33 # 启动接口(需 NetworkManager 或 network-scripts 支持) sudo dhclient ens33 # 动态获取 IP 地址(如引用[3]所示,执行 /sbin/dhclient 可能解决问题)[^3] ``` - **解释**:`dhclient` 命令会触发 DHCP 客户端服务,为接口分配 IP 地址并激活它。在引用[3]中,用户通过执行 `/sbin/dhclient` 成功启用了 ens33 接口[^3]。 - **检查结果**:再次运行 `ifconfig` 或 `ip addr show ens33`。如果接口状态变为 `UP` 且有 IP 地址(如 `inet 192.168.x.x`),则问题已解决。 --- ### 步骤 3: 检查并修复配置文件 如果手动启动失败,接口配置文件可能有误。编辑 ens33 的配置文件: ```bash sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 # CentOS/RHEL 系统路径 ``` - **关键配置项**: - `ONBOOT=yes`:确保系统启动时自动激活接口。 - `BOOTPROTO=dhcp`:使用 DHCP 获取 IP(或 `static` 并设置 `IPADDR`、`NETMASK` 等)。 - `NAME=ens33` 和 `DEVICE=ens33`:名称必须一致。 - 如果引用[2]提到的 HWADR(MAC 地址)缺失,添加 `HWADDR=xx:xx:xx:xx:xx:xx`(使用 `ip addr` 查到的 MAC 地址)[^2]。 - **保存后重启网络服务**: ```bash sudo systemctl restart network # 或 sudo nmcli con reload ``` --- ### 步骤 4: 排查驱动和系统服务 如果以上步骤无效,问题可能涉及驱动或系统服务: 1. **检查驱动加载**: ```bash lspci | grep -i ethernet # 查看网卡硬件信息 lsmod | grep e1000 # 检查驱动是否加载(e1000 是常见虚拟网卡驱动) ``` - 如果驱动未加载,使用 `sudo modprobe e1000`(根据硬件型号调整)。 2. **重启网络管理服务**: ```bash sudo systemctl restart NetworkManager # 现代系统常用 sudo systemctl restart network # 传统 systemd 服务 ``` --- ### 步骤 5: 验证问题解决 - **验证命令**: ```bash ping 8.8.8.8 # 测试网络连通性 ifconfig ens33 # 确认接口状态和 IP ``` - **成功标志**:接口显示 `UP` 状态且有有效 IP 地址,网络访问正常。 --- ### 常见原因和预防措施 - **根本原因**:此错误通常源于: - 接口配置文件错误(如 `ONBOOT=no`)。 - DHCP 服务未正确分配 IP(解决:`dhclient`)。 - 虚拟机或物理机网卡驱动问题(解决:更新内核或驱动)。 - 系统更新后配置冲突(解决:备份并重建配置文件)。 - **预防建议**:定期检查 `/etc/sysconfig/network-scripts/` 下的配置文件,并使用 `systemctl enable network` 确保网络服务开机自启。 根据引用[3],执行 `dhclient` 是快速有效的解决方案,尤其当接口 "只是未 UP" 而非不存在时[^3]。如果问题依旧,请提供 `ip link show` 的输出,我会进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值