centos7网卡配置文件丢失的修复办法

本文解决VMware虚拟机中网卡配置文件缺失的问题,指导如何手动创建ifcfg-eno16777736配置文件,设置静态IP及网络参数,并重启network服务使配置生效。

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

有时候当我们用VMware打开虚拟机后会发现 /etc/sysconfig/network-scripts 下没有对应的网卡的配置文件 ifcfg-eth* , 用ifconfig 显示出来的是lo的网卡,
在这里插入图片描述
使用ifconfig -a 可以显示隐藏的网卡。
在这里插入图片描述
进入网卡配置文件目录找不到对应的配置文件,
在这里插入图片描述
所以我们要新建一个配置文件ifcfg-eno16777736,这里的网卡是eno16777736(每台机子的编号可能不一样)
vim ifcfg-eno16777736
将以下配置内容复制进去,wq保存退出,

TYPE=Ethernet
BOOTPROTO=static
IPADDR=这里填你想要设置的IP地址
GATEWAY=如果需要填写网关的话
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes

最后重启network服务即可。
systemctl restart network

### CentOS 7 中 network-scripts 目录缺失的原因及解决方案 #### 原因分析 在某些情况下,`/etc/sysconfig/network-scripts/` 目录下可能会缺少预期的网卡配置文件(如 `ifcfg-eth0` 或其他类似的命名)。这可能是由于以下几个原因造成的: 1. **硬件识别问题** 如果系统未能正确检测到物理或虚拟网卡设备,则不会生成相应的配置文件。这种情况通常发生在虚拟化环境中,例如 VMware 虚拟机中[^3]。 2. **网络接口名称变更** 在较新的 Linux 发行版(包括 CentOS 7),默认启用了 systemd 的预测性网络接口命名规则(Predictable Network Interface Names, PNIN)。因此,传统上以 `ethX` 命名的网卡被重命名为类似于 `ensXX`、`enpXsY` 等形式的名字。 3. **手动删除或误操作** 用户可能无意间删除了 `/etc/sysconfig/network-scripts/` 下的相关配置文件,或者通过编辑工具破坏了其内容结构[^2]。 4. **未启用特定服务** 若系统的 `NetworkManager` 或传统的 `network.service` 没有正常运行,也可能导致无法创建或加载这些配置文件[^4]。 --- #### 解决方案 以下是针对上述情况的具体解决措施: ##### 方法一:重新生成网卡配置文件 如果确认是因为硬件变化或其他因素丢失了原有的配置文件,可以通过以下方式重建它们: ```bash cd /etc/sysconfig/network-scripts/ touch ifcfg-your_interface_name_here # 替换 your_interface_name_here 为实际接口名 (e.g., ens33) chmod 644 ifcfg-your_interface_name_here ``` 接着按照标准模板填写必要的参数,例如: ```plaintext TYPE=Ethernet BOOTPROTO=static # 使用 static 表示静态 IP;dhcp 则表示动态分配 NAME=your_interface_name_here DEVICE=your_interface_name_here ONBOOT=yes # 是否随系统启动而激活该网卡 IPADDR=192.168.x.y # 静态 IP 地址 NETMASK=255.255.255.0 GATEWAY=192.168.x.z # 默认网关地址 DNS1=8.8.8.8 # 可选 DNS 服务器之一 DNS2=8.8.4.4 # 备用 DNS 服务器 ``` 完成修改之后重启网络服务来应用更改: ```bash systemctl restart network.service ``` ##### 方法二:调整预测性网络接口命名行为 对于那些希望恢复旧式的 ethX 编号模式的人群来说,可以尝试禁用 Predictable NIC Naming 功能并强制采用 BIOS 提供的传统编号机制。具体做法如下所示: 编辑 GRUB 启动引导器配置文件加入额外内核选项: ```bash vi /etc/default/grub ``` 找到 `GRUB_CMDLINE_LINUX=` 这一行,在其中追加下面的内容: ```plaintext net.ifnames=0 biosdevname=0 ``` 保存退出后再更新 grub 并重新启动机器即可生效。 ```bash grub2-mkconfig -o /boot/grub2/grub.cfg && reboot ``` ##### 方法三:排查与修复损坏的服务组件 当怀疑是某个后台进程干扰到了正常的网络功能时,建议先停止并禁用掉潜在冲突源——即 NetworkManager 工具集: ```bash systemctl stop NetworkManager systemctl disable NetworkManager ``` 随后再单独开启经典风格的基础网络框架支持: ```bash systemctl enable network.service systemctl start network.service ``` 另外还需注意检查是否存在安全策略阻碍通信连接的情况,比如关闭 SELinux 和防火墙设施等步骤也是常见的辅助手段之一: ```bash setenforce 0 # 将当前会话切换至宽松模式 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config # 修改永久设定值 systemctl stop firewalld.service systemctl disable firewalld.service ``` --- ### 总结 综上所述,面对 CentOS 7 上出现的 `/etc/sysconfig/network-scripts/` 文件夹内容异常状况,可以从多个角度出发寻找根本诱因,并采取相应对策予以纠正。无论是补充遗漏的数据项还是优化整体环境布局都需谨慎行事以免引发更多连锁反应。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值