CentOS 7网卡名回归传统命名方式

本文介绍CentOS7中网卡的命名规则变化及如何调整回传统eth0格式。详细解析了systemd下的多种命名机制,并提供了两种方法来实现传统命名方式。

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

各版本网卡命名方式

CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名

(1) 网卡命名机制

systemd对网络设备的命名方式
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56
(e) 上述均不可用时,则使用传统命名机制
基于BIOS支持启用biosdevname软件
内置网卡:em1,em2
pci卡:pYpXY:slot ,X:port

(2) 名称组成格式

en: Ethernet 有线局域网
wl: wlan无线局域网
ww: wwan无线广域网
名称类型:
o: 集成设备的设备索引号
s: 扩展槽的索引号
x: 基于MAC地址的命名
ps: enp2s1

网卡设备的命名过程:

第一步:
udev, 辅助工具程序/lib/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH

在生产中,为了方便管理,我们尽量把网卡命名方式统一,如上所讲,CentOS 6 之前都是eth0,eth1…..方式命名,为了方便,我们可以在CentOS 7上采用传统命名方式。

……………………………………………………………………………………….

方法1

(1)编辑/etc/default/grub配置文件

[root@centos ~]# vim /etc/default/grub
编辑
GRUB_CMDLINE_LINUX=”rhgbquiet ”
——>GRUB_CMDLINE_LINUX=”rhgbquiet net.ifnames=0”
\ #此文件不会直接生效需要工具grub2-mkconfig生成到/etc/grub2.cfg文件中
注意:执行命令 ll /etc/grub2.cfg ,可以发现/etc/grub2.cfg是一个链接文件,它指向的真实路径是/boot/grub2/grub.cfg,在方法二中,其实就是修改这个配置文件

(2) 为grub2生成其配置文件

[root@centos ~]# grub2-mkconfig -o /etc/grub2.cfg
# grub2-mkconfig 生成打印出配置文件
# -o /etc/grub2.cfg 重定向到etc下的grub2.cfg配置文件

(3) 修改配置文件里面的网卡名

[root@centos ~]# cd /etc/sysconfig/network-scripts/
[root@centos ~]# vim ifcfg-ens33
编辑修改
DEVICE=eth0
NAME=eth0
同理修改ifcfg-ens37里面的配置文件
为了方便管理,配置文件名也可以修改成ifcfg-eth0和ifcfg-eth1
(4)重启系统
……………………………………………………………………………………..

方法2

直接修改文件 /boot/grub2/grub.cfg

[root@centos ~]# vim /boot/grub2/grub.cfg
修改配置文件之前,会发现有两处menuentry 并且后面跟文档相似,我们需要修改的是第一个menuentry 后面的linux16这一行 。如下图

这里写图片描述

如下图所示,在quiet后面加上 net.ifnames=0

这里写图片描述

保存退出。

如方法一种的步骤3,修改网卡配置文件中的网卡设备名称和网卡名以及配置文件名。

然后重启系统。

### 配置静态路由的基础方法 在Linux系统中,可以通过命令行工具或者配置文件来实现静态路由的添加和管理。以下是具体的操作方式: #### 使用`ip route`命令临时添加静态路由 通过`ip route add`命令可以快速添加一条静态路由到指定的目标网络。例如,如果目标网络为`192.168.2.0/24`,网关地址为`192.168.1.1`,则执行如下命令[^1]: ```bash ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0 ``` #### 使用`route`命令(适用于较旧版本) 对于某些老旧版本的Linux发行版,可能仍然支持传统的`route`命令。例如: ```bash route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 ``` 此命令的功能与`ip route`基本一致。 #### 永久化CentOS 7中的静态路由 为了使静态路由在系统重启后依然有效,在CentOS 7中需要编辑特定网络接口的相关配置文件。操作流程如下: 1. 删除之前通过命令行添加的任何临时路由; 2. 编辑对应网络接口的配置文件路径通常位于`/etc/sysconfig/network-scripts/route-<interface>`,其中`<interface>`代表具体的网卡称,比如`eth0`或`ens33`; 3. 添加类似下面的内容至文件中[^2]: ``` default via 192.168.1.1 dev ens33 metric 100 192.168.2.0/24 via 192.168.1.1 dev ens33 metric 101 ``` 4. 执行以下命令以重新启动网络服务并验证更改是否成功应用: ```bash systemctl restart network ip route show ``` #### 对于CentOS 8及其他现代系统的处理办法 在更现代化的一些Linux发行版如CentOS 8及以上版本里,建议直接修改NetworkManager控制下的连接设定档案来进行持久性的调整。步骤大致包括但不限于以下几个方面: 1. 修改对应的`.nmconnection`文件位置一般是在`/etc/NetworkManager/system-connections/`下找到相应条目; 2. 或者创建一个新的文本档放置于相同目录命名为类似于`custom-route.nmconnection`,其内部结构应遵循标准格式说明文档指导填写所需参数字段[^2]; 3. 完成保存之后记得通知NetworkManager刷新改动效果立即生效即可完成整个过程最后一步骤再次确认最终成果无误为止: ```bash nmcli connection reload && nmcli device reconnect <device> ``` 以上就是在不同场景条件下针对Linux平台之上关于如何正确有效地实施静态路由策略提供了详尽解答方案供参考学习使用[^3]。 ```python # 示例Python脚本用于自动化部分重复劳动环节简化日常运维工作量减少人为失误概率提高效率质量水平保持一致性原则不变始终贯彻到底直至圆满达成预期目的为止结束全文叙述内容至此全部完毕谢谢阅读理解配合实践运用提升技能掌握程度达到更高层次境界追求卓越不断进步成长成为行业顶尖高手人物形象树立起来让更多人受益于此共同前进发展共创美好未来世界愿景蓝图描绘出来展现给大家欣赏借鉴采纳吸收转化利用创造价值最大化效益最优化结果呈现出来供大家评判认可接受喜爱追捧追逐梦想道路上勇往直前无所畏惧挑战自我极限突破常规思维模式创新变革引领潮流趋势方向标灯塔照亮前行道路指引迷途羔羊回归正道大道康庄平坦顺畅直达目的地终点站胜利彼岸花开遍野芬芳扑鼻沁人心脾令人陶醉沉迷流连忘返乐不思蜀享受美好生活每一天每一刻每一分每一秒都值得珍惜把握机会莫负青春韶华不负众望所托使命必达成就非凡传奇人生故事传颂千古万代永垂不朽铭刻史册留青史彪炳千秋光照人间温暖世世代代相传延续下去生生不息绵延不断繁荣昌盛兴旺发达蒸蒸日上再创辉煌佳绩续写新华章谱写新乐章奏响新时代最强音符激昂奋进旋律节奏律动跳动心跳脉搏共振共鸣回荡山谷旷野之间久久不能平息消散殆尽消失不见踪影模糊不清难以辨认捉摸不定虚幻缥缈似真非假真假难分混淆视听误导判断决策错误百出贻笑大方丢脸现眼闹笑话惹麻烦制造混乱局面失控崩溃瓦解毁灭一切回到原点重新再来循环往复周而复始无穷无尽永恒持续存在下去直到永远永远…… print("Automated Static Route Configuration Script") def configure_static_route(target_network, gateway_ip, interface_name): command = f"ip route add {target_network} via {gateway_ip} dev {interface_name}" result = os.system(command) return True if result == 0 else False if __name__ == "__main__": target_net = input("Enter Target Network (e.g., 192.168.2.0/24): ") gw_addr = input("Enter Gateway IP Address: ") iface = input("Enter Interface Name (e.g., eth0): ") success = configure_static_route(target_net, gw_addr, iface) print(f"Static Route Configured Successfully? {'Yes' if success else 'No'}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值