本发明涉及计算机技术领域,更具体的说是涉及一种linux系统下绑定网卡识别顺序的方法。
背景技术:
linux系统对于识别到的网卡设备,会给网卡的每个网口分配一个网口名字,在我们使用网卡的时候,首先要知道哪个名字对应哪个物理设备,所以如果在使用的过程中网卡网口的名字发生变化,就会影响网卡的使用。
网络适配器(网卡),作为服务器的基础子部件系统之一,也是网络环境的基础接口,它的规格越来越高,一台设备的网口数量也越来越多,双网口、四网口甚至更多。
在使用linux系统时,当你安装或更新某张网卡的驱动或网卡相关程序之后,网卡会出现所谓的“漂移现象”,主要表现为:
1、网卡顺序改变:例如网卡网口名称由eth0变成eth1;
2、网卡名称改变:例如网卡网口名称由eth0变成__tmp53419215341193__;
3、不同网卡网口顺序颠倒或者交叉等。
技术实现要素:
针对以上问题,本发明的目的在于提供一种linux系统下绑定网卡识别顺序的方法,通过对网卡网口的mac地址和网口名称进行绑定,避免了在对网卡进行安装、更新驱动或者安装网卡相关程序而发生的网口名称改变问题。
本发明为实现上述目的,通过以下技术方案实现:一种linux系统下绑定网卡识别顺序的方法,包括如下步骤:
步骤1:在linux系统下识别网卡名称分别对应的物理设备;
步骤2:获取每个网口的mac地址;
步骤3:绑定mac地址与网口名称;
步骤4:确保网口名称与该设备驱动相互对应。
进一步,所述步骤1包括:
步骤11:通过命令:ifconfig–a查看所有网络设备的名称;
步骤12:将服务器上所有网卡的网口依次连接到交换机上查看连接状态,并标记好每个网口的名称。
进一步,所述步骤12包括:每次只能接一个网口,接上后通过命令:ethtoolethx(其中x=0,1,2…)来查看是否连着网线,如果命令查看到ethx“linkdetected:yes”表示ethx状态为连接网线,如果“linkdetected:no”则表示ethx网口没有连线。
进一步,所述步骤2具体为:通过命令ifconfig–a|grep–ihwaddr获取每个设备mac地址。
进一步,所述步骤3具体为:通过修改网卡网口配置文件ifcfg-ethx绑定mac地址与网口名称。
进一步,所述步骤3包括:
步骤31:通过命令:find/-nameifcfg-ethx查找网口ethx的网卡配置文件路径;
步骤32:根据需要将mac地址绑定名称的配置信息添加到指定网口的配置文件中;
步骤33:重启系统。
进一步,如果当前linux系统采用redhat,则网口ethx的网卡配置文件路径为/etc/sysconfig/network-scripts/ifcfg-ethx;如果当前linux系统采用suse,则网口ethx的网卡配置文件路径为/ect/sysconfig/network/ifcfg-ethx。
进一步,所述步骤4包括:查看驱动对应关系的文件modprobe.conf,判断modprode.conf文件中网卡设备对应的网口名称与该设备驱动是否相互对应,如果是,直接结束;如果否,则手动修改对应关系后结束。
对比现有技术,本发明有益效果在于:本发明提出的一种linux系统下绑定网卡识别顺序的方法,在linux系统下通过对网卡网口的mac地址和网口名称进行绑定,避免了当安装或更新某张网卡的驱动或网卡相关程序之后,网卡会出现所谓的“漂移现象”,本发明实现方式简单快捷,实用性强,易于推广,对于网卡在linux系统下的应用有现实意义。
本发明基于linux系统,通用性强,应用广泛,使用效果稳定可靠。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
附图1是本发明实施例一的方法流程图。
附图2是本发明实施例二的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1所示的一种linux系统下绑定网卡识别顺序的方法,包括如下步骤:
步骤1:在linux系统下识别网卡名称分别对应的物理设备。
步骤2:获取每个网口的mac地址。
步骤3:绑定mac地址与网口名称。
步骤4:确保网口名称与该设备驱动相互对应。
本实施例提供了一种linux系统下绑定网卡识别顺序的方法,通过对网卡网口的mac地址和网口名称进行绑定,避免了在对网卡进行安装、更新驱动或者安装网卡相关程序而发生的网口名称改变问题。
实施例二:
如图2所示的一种linux系统下绑定网卡识别顺序的方法,包括如下步骤:
步骤1:通过命令:ifconfig–a查看所有网络设备的名称。
步骤2:将服务器上所有网卡的网口依次连接到交换机上查看连接状态,并标记好每个网口的名称。
步骤2中,每次只能接一个网口,接上后通过命令:ethtoolethx(其中x=0,1,2…)来查看是否连着网线,如果命令查看到ethx“linkdetected:yes”表示ethx状态为连接网线,如果“linkdetected:no”则表示ethx网口没有连线。
步骤3:通过命令ifconfig–a|grep–ihwaddr获取每个设备mac地址。
例如:“eth0linkencap:ethernethwaddra0:36:9f:54:f5:fe”。
步骤4:通过修改网卡网口配置文件ifcfg-ethx绑定mac地址与网口名称。
首先,通过命令:find/-nameifcfg-ethx查找网口ethx的网卡配置文件路径。通常redhat系统网口ethx的网卡配置文件路径为:/etc/sysconfig/network-scripts/ifcfg-ethx;suse系统网卡配置文件路径为:/ect/sysconfig/network/ifcfg-ethx。
然后,根据需要将mac地址绑定名称的配置信息添加到指定网口的配置文件中。如果我们想要指定网口mac地址为mac1的设备名称为ethn,那么将mac地址绑定名称的配置信息:
device=ethn
hwaddr=mac1(例如:mac1=a0:36:9f:54:f5:fe)
添加到ethn的配置文件即可。
最后,重启系统,使修改后的配置文件生效。
步骤5:查看驱动对应关系的文件modprobe.conf。判断modprode.conf文件中网卡设备对应的网口名称与该设备驱动是否相互对应,如果是,直接结束;如果否,则手动修改对应关系后结束。
例如eth0使用的驱动为ixgbe,eth1使用的驱动为i40e,那么modprobe.conf文件中eth0、eth1对应的驱动信息为:
aliaseth0ixgbe
aliaseth1i40e
如果对应关系正确,直接结束;如果对应关系不对,需要手动进行修改后再结束。
本实施例提供了一种linux系统下绑定网卡识别顺序的方法,在linux系统下通过对网卡网口的mac地址和网口名称进行绑定,避免了当安装或更新某张网卡的驱动或网卡相关程序之后,网卡会出现所谓的“漂移现象”。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。