linux读取网卡顺序,Linux 多网卡判别顺序邦定_浪墩儿的博客-程序员宝宝

技术标签: linux读取网卡顺序  

Linux 多网卡识别顺序邦定

转自:http://linux.chinaunix.net/bbs/thread-1175497-1-1.html

使用linux系统时会出现这样的情况,当你安装了某个网卡的驱动程序时,或者安装了与网卡相关的程序后。

网卡会出现所谓的漂移现象。(注意:不是飘逸)。可能的表象为:

(1):网卡顺序颠倒,比如之前你的网线连接的网口为eth0,当安装某个网卡的驱动后,可能它的名字变为eth0或者eth3,等等情况。

(2):网卡名字改变,这种情况倒不是eth0到eth1的改变,而是很诡异的变化,比如eth0找不到了,多了个网卡名字叫 __tmp3183921382193__

这个确实让人很恼火。因为有人可能会通过ifconfig | grep eth来获取信息从而完成一些开发工作,如果网卡名字变得乌七八糟了,程序肯定会出错。

(3):光口网卡和电口网卡顺序乱了,或者交叉。

总之我们的目的就是:能够指定某个网卡的名字为我们想要的物理设备。做法如下:

第一步,识别谁是谁。

要使用网卡,首现要知道哪个名字对应的哪个物理设备,做法为:从交换机拉一根网线,从上到下挨个接到网卡上面,注意每次只能接一个网卡,接上后通过ethtool命令来查看是否连着网线,比如

[[email protected] ~]# ethtool eth0

Settings for eth0:

Supported ports: [ MII ]

Supported link modes:   10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Supports auto-negotiation: Yes

Advertised link modes:  10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Advertised auto-negotiation: Yes

Speed: 100Mb/s

Duplex: Full

Port: MII

PHYAD: 2

Transceiver: external

Auto-negotiation: on

Supports Wake-on: g

Wake-on: d

Link detected: yes

看到了eth0的状态为连接着网线。如果Linked detected:no,则说明没有连接网线。

如此区分开哪个设备的名字是什么,标注好。

第二步:获取每个网卡的MAC地址

ifconfig -a能看到所有网络设备。

通过 ifconfig -a | grep HWaddr 来获取每个设备的MAC地址。

比如:

[[email protected] ~]# ifconfig  -a | grep HWaddr

eth0      Link encap:Ethernet  HWaddr 00:30:48:7F:B5:CA

eth1      Link encap:Ethernet  HWaddr 00:30:48:7F:B5:CB

eth2      Link encap:Ethernet  HWaddr 00:04:23:A6:81:E0

eth3      Link encap:Ethernet  HWaddr 00:04:23:A6:81:E1

拿到了每个网卡的MAC地址。

第三步:进行MAC和网卡名称绑定。

我们都知道,对于RedHat的系统,网络的配置文件在:/etc/sysconfig/network-scripts/ifcfg-ethX

中存着,N=0,1,2。。。

比如:[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

# nVidia Corporation MCP55 Ethernet

DEVICE=eth0

ONBOOT=yes

HWADDR=00:30:48:7f:b5:ca

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.42.231

GATEWAY=192.168.42.1

BOOTPROTO=static

#NAMESERVER=202.106.0.20

这个文件是对网卡进行初始化的配置文件。

比如如果我们想指定网卡MAC地址为MAC1的设备名称为ethn,那么,修改文件

/etc/sysconfig/network-scripts/ifcfg-ethn

在里面添加MAC地址绑定和名字的配置信息

DEVICE=ethn

HWADDR=MAC1(比如00:30:48:7f:b5:ca)

其它配置信息不受影响。

当对所有网卡实现绑定后,reboot系统,应该就可以了。

还有一点需要注意,就是驱动对应关系的文件:

/etc/modprobe.conf

要在该文件中修改,确保某个设备使用的就是对应它的驱动,比如:

cat /etc/modprobe.conf

alias eth0 forcedeth

alias eth1 forcedeth

alias scsi_hostadapter aic79xx

alias scsi_hostadapter1 sata_nv

alias scsi_hostadapter2 usb-storage

alias eth2 e1000

alias eth3 e1000

说明eth0和eth1用的forcedeth的驱动,eth2和eth3用的是e1000的驱动。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42403124/article/details/116681112

智能推荐

清华博士生导师亲授:高考志愿计算机/AI专业填报指南_深度学习世界的博客-程序员宝宝

.bizsvr_00 {max-width: 100%;box-sizing: border-box !important;word-wrap: break-word !...

【git】- 分支更新master最新内容?!_变优秀的小白的博客-程序员宝宝_git 只更新master

导语:git之路–分支更新master最新内容?!作者:变优秀的小白Github:关注YX-XiaoBai爱好:Americano More Ice !相信很多git小白刚入门时都会遇到的问题,反正我遇到了????问题当你准备提交自己完成的分支时,发现master已经更新了,此时就需要在你本地分支上更新master的内容才能提交解决切换到master更新master最新代码切换回自身分支合并master更新到自身分支上Done !$ git checkout master

php7和PHP5对比的新特性和性能优化_fish_study_csdn的博客-程序员宝宝_php7与php5新特性

1 抽象语法树(AST) 1)在 PHP5中,从 php 脚本到 opcodes 的执行的过程是:Lexing:词法扫描分析,将源文件转换成 token 流; Parsing:语法分析,在此阶段生成 op arrays。2)PHP7 中在语法分析阶段不再直接生成 op arrays,而是先生成 AST,所以过程多了一步:Lexing:词法扫描分析,将源文件转换成 tok...

无人机图像深度学习的大豆害虫检测与分类[email protected]@南风的博客-程序员宝宝

无人机图像深度学习的大豆害虫检测与分类1、研究内容实验比较了Inception-v3, Resnet-50, VGG-16, VGG-19 and Xception ,用了微调和迁移学习。2、创新方法采用SLIC超像素方法分割图像中的害虫。SLIC方法采用k-means算法生成类似的区域,称为超像素。该方法包括五个步骤:(1)图像采集(2)切片分割(3)图像数据集(4)特征学习(5)害虫分类。3、实验内容使用了两种不同的方法收集实验场中存在的害虫的图像。使用作为Keras模块的一部分

用户故事拆分与MFQ_牛屁哄哄叫兽的博客-程序员宝宝

这两天在学习用户故事拆分,突然感觉它和MFQ是存在着那么多的相似性,故在此简单谈谈我的感想。

MyBatis——小知识:MyBatis_映射配置文件_参数值获取_福建选手阿俊的博客-程序员宝宝

#{}:可以获取map中的值或者pojo对象属性的值;${}:可以获取map中的值或者pojo对象属性的值; select * from employee where id=${id} and last_name=#{lastName}select * from ${tableName} where id=${id} and lastName=#{lastName}Preparing:...

随便推点

c++ 命名空间 namespace (通俗易懂)_ShenMingYi_的博客-程序员宝宝

c++ 命名空间 namespace :假设如果班级里有两个名字为 `小明` 的同学,为了区分他们 我们可能会在身高 长相 发型 等等其他条件判断谁是谁编译器也是这样 当你写了 两个 函数名字一样的函数 编译器不知道引用哪一个因此,引入了命名空间这个概念,专门用于解决上面的问题,它可作为附加信息来区分不同库中相同名称的函数、类、变量等。使用了命名空间即定义了上下文。本质上,命名...

wget网站镜像下载_布道的博客-程序员宝宝_wget镜像下载

1、镜像方式下载整个网站#wget -m http://www.example.com/如果发现Not following http://www.example/a/ because robots.txt forbids it.Decided NOT to load it.原来是robots.txt协议要求的,对于这种君子协议#wget -m -e robots=off http:...

Kafka session.timeout.ms 与 heartbeat.interval.ms参数的区别_香山上的麻雀1008的博客-程序员宝宝_session-timeout-ms

注:本文是从https://www.cnblogs.com/hapjin/p/10926882.html处摘抄,可直接跳转至原页面。从kafka官网截取最近碰到一个问题,多个业务往向一个Kafka topic发送消息,有些业务的消费量很大,有些业务的消息量很小。因Kafka尚未较好地支持按优先级来消费消息,导致某些业务的消息消费延时的问题。一种简单的解决方案是再增加几个Topic,...

计算机视觉——相机标定之张正友标定法_buaixvexi的博客-程序员宝宝

这里写目录标题一.相机标定1.相机标定原理2.相机标定步骤3.数据集其他注意事项二.相机标定实验1.数据集2.代码实现3.实验结果4.代码解读一.相机标定1.相机标定原理2.相机标定步骤3.数据集其他注意事项二.相机标定实验1.数据集2.代码实现3.实验结果4.代码解读一.相机标定:1.原理:一般来说,标定的过程分为两个部分:从世界坐标系转换为相机坐标系,这一步是三维点到...

windows下matplotlib.pyplot图像中显示中文的方法_MAUM的博客-程序员宝宝

很多朋友都碰到这个问题,查了很多方法,看了长篇大论说明这个事儿,最后还是没解决,其实总结就一句话,编码不一致。解决方案也很简单:几句话,加进去就完事了。import matplotlib.pyplot as plt#coding:utf-8plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes...

INNO SETUP 自动安装msi文件_lisizhe1989的博客-程序员宝宝

在自己做项目的时候,遇到一个需要打包的程序。该程序需要用到WinGraphviz插件。在项目中,所用到的插件是以msi文件安装成功的,因此将程序打包之后,移植到另外一台电脑是,需要自己手动安装该msi插件。如何实现在安装程序的时候,自动安装该插件。在查了很多资料之后,找到了如下的解决方法。程序代码如下:[Run]Filename: “{app}\msiexec.exe”;Parameters:...

推荐文章

热门文章

相关标签