背景

之前写的脚本中获取 IP 地址时,未考虑虚拟网卡的情况(docker 创建的虚拟网卡),导致脚本失败,故总结下网卡相关知识。

一致网络设备命名规范

Centos 6及之前的版本网卡命名格式:eth[0123…]

Centos 7为了方便定位和区分网络设备,采用一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING)规范,支持 biosdevnamenet.ifnames 两种命名规范。

biosdevname

biosdevname 命名规范

注: 新枚举从 1 开始。

net.ifnames

net.ifnames 命名规范为:设备类型 + 设备位置 + 数字

设备类型

  • en 代表以太网
  • wl 代表无线局域网(WLAN)
  • ww 代表无线广域网(WWAN)

设备命名

示例

  • eno1 板载1号网卡
  • enp0s2 PCI扩展卡的2号端口
  • ens33 热插拔插槽3号PCI-E插槽的3号端口
  • wlp3s0 第3号PCI扩展卡的0号端口

系统默认命名规则

默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:

  • 方案 1:如果固件或 BIOS 信息适用且可用,则使用整合了为板载设备提供索引号的固件或 BIOS 的名称(例如:eno1),否则请使用方案 2。
  • 方案 2:如果固件或 BIOS 信息适用且可用,则使用整合了为 PCI 快速热插拔插槽提供索引号的固件或 BIOS 名称(例如 ens1),否则请使用方案 3。
  • 方案 3:如果硬件连接器物理位置信息可用,则使用整合了该信息的名称(例如:enp2s0),否则请使用方案 5。
  • 方案 4:默认不使用整合接口 MAC 地址的名称(例如:enx78e7d1ea46da),但用户可选择使用此方案。
  • 方案 5:传统的不可预测的内核命名方案,在其他方法均失败后使用(例如: eth0)。

这个策略(如上所述)是默认策略。如果该系统已启用 biosdevname,则会使用该方案。

注:启用 biosdevname 需要添加 biosdevname=1 作为命令行参数(Dell 系统除外),此时只要安装 biosdevname,就会默认使用该方案。如果用户已添加 udev 规则,该规则会更改内核设备名称,则会优先使用这些规则。

查看网卡、获取 IP

# 全部网卡$ ls /sys/class/net/或$ ifconfig -a或$ ip a# 虚拟网卡$  ls /sys/devices/virtual/net/# 物理网卡$ ls /sys/class/net/ | grep -v "$(ls /sys/devices/virtual/net/)"# 获取本机所有 IP$ ifconfig -a |grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"# 获取物理网卡的 IP$ ifconfig $(ls /sys/class/net/ | grep -v "$(ls /sys/devices/virtual/net/)") |grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"

参考资料

  • https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/ch-consistent_network_device_naming

linux查看网卡物理编号_Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡)...相关推荐

  1. Centos 网卡命名规范及信息查看(物理网卡,虚拟网卡)

    背景 之前写的脚本中获取 IP 地址时,未考虑虚拟网卡的情况(docker 创建的虚拟网卡),导致脚本失败,故总结下网卡相关知识. 一致网络设备命名规范 Centos 6及之前的版本网卡命名格式:et ...

  2. linux中副规则_Linux中的命名规范

    注意: 1.除了/(根目录)以外,所有的字符都合法 2.有些字符最好不用,如空格符.制表符.退格符和字符@#¥()- 等. 3.避免使用 ? 作为普通文件名的第一个字符. 4.大小写敏感. 变量命名规 ...

  3. linux虚拟网卡修改mac地址,Win10秘笈:两种方式修改网卡物理地址(MAC)

    每台能够上网的电脑都有网卡,不管是有线还是无线,网卡本身都得有物理地址,也就是MAC(Media Access Control 或 Medium Access Control)地址.这个地址理论上是固 ...

  4. 删除Windows中隐藏的物理网卡和网络虚拟化失败后的虚拟网卡

    Windows环境下,在更换硬件服务器主板和网卡等硬件.恢复操作系统或者网络虚拟化失败后,可能会出现网卡方面的问题.例如,设备管理器中多了不应该存在的网卡:因命名冲突无法重命名当前网络连接:IP地址冲 ...

  5. linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

    目录 linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上 一.tun/tap设备简介 二.在linux上使用tun/tap设备模拟一个虚拟网卡 三. 创建网桥连接到 ...

  6. 什么叫有效物理网卡_如何区分虚拟网卡和物理网卡?-阿里云开发者社区

    一.什么是物理网卡和虚拟网卡? 图示如下:红色部分包含VMWare的为虚拟网卡. 通常,我们部署VMWare虚拟机.VMSphere虚拟集群.XenCenter虚拟集群是都会涉及虚拟网卡. 二.辨别物 ...

  7. 让Linux支持usb虚拟网卡。

    介绍: Usb作为device端插入pc,在pc中会出现对用的usb虚拟网卡,可以像普通网卡一样传递数据,socket编程. 让平台支持usb虚拟网卡,需要Linux内核支持UDC(usb 设备控制器 ...

  8. 什么叫有效物理网卡_如何区分虚拟网卡和物理网卡?

    一.什么是物理网卡和虚拟网卡? 图示如下:红色部分包含VMWare的为虚拟网卡. 通常,我们部署VMWare虚拟机.VMSphere虚拟集群.XenCenter虚拟集群是都会涉及虚拟网卡. 二.辨别物 ...

  9. centos下创建虚拟网卡

    虚拟网卡 Tun/Tap 较高版本的linux大都自带了tun/tap 驱动程序用以实现虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装. ...

最新文章

  1. 牛客练习赛36 F-Rabbit的蛋糕 (叉积求面积, 记录前缀)
  2. 前端学习(2888):如何短时间内实现v-for 模板编译1
  3. 数据备份、pymysql模块
  4. php oracle打印输出,php 连接oracle 导出百万级数据
  5. python迭代器_使用Python的迭代器遍历可迭代对象
  6. js数组获取index_通过事例重温一下常见的 JS 中 15 种数组操作(备忘清单)
  7. 数据平台之企业营销管理与分析平台建设
  8. 网络安全学习--002--windows基础知识
  9. Unity组件:Lens Flare 镜头光晕
  10. UL 2271-2018 标准轻型电动车用锂电池 最新发行中文、英文版,ANSI/CAN/ULC/UL 2271-2018
  11. [生命科学] snapgene 构建载体方法分享
  12. AD转换精度提高方法
  13. adams数据导出matlab,adams数据导入matlab
  14. 第十二,十三周第12个容器架构
  15. 本地代码上传到gitlab
  16. 如何正确地学习Java
  17. 第28届深圳国际礼品展圆满闭幕,五洲御瓷再续“新里程”
  18. 当所有人都站着吆喝,我选择退一步坐下
  19. 卸载wrapt_conda 安装与卸载cudnn
  20. development enviroment

热门文章

  1. ksoap2-android Project
  2. @WebFilter注解
  3. 云计算迈向100%的虚拟化
  4. 《HTML5 开发实例大全》——1.9 使用 summary 标记元素实现交互
  5. 浏览器根对象window之performance
  6. 开发常用常用插件介绍
  7. POJ 1952 BUY LOW, BUY LOWER
  8. 后会终无期,且行且珍惜
  9. 高可用(HA)集群原理概述
  10. HTC S710D(电信版)G11解锁,成功ROOT