[infobox title="前言"]今天在上课的时候,偶然听到老师吐槽Linux的网卡的新命名规则,于是便上Google搜了一下,才发现enp2s0这样的新的命名规则不光不是原本想象中的那样杂乱无章,大致看了下命名规则后反而给咱的感觉也非常棒[/infobox]

[infobox title="Why"]在网上看到了很多关于新命名规则的说法,其中比较正式的理由是原有ethX的规则和实际的网卡并不是绝对一一对应的,在多网卡的设备上可能出现每次重启ethX的名字都可能不一样的现象。

虽然也有通过MAC固定分配ethX的做法,但据说实际使用过程中可能需要更换网卡以及虚拟化环境中MAC会变的问题导致没办法切实做到一一对应。

所以会对一些有自定义防火墙需求的用户产生一些不必要的安全隐患(*这个观点来自于这里)[/infobox]

[infobox title="于是,好在哪里?"]咱认为比起上面那些安全之类的考虑和理由,最让咱觉得这个新命名方式很棒的原因是:可以一目了然的知道命令行或者gui里显示的网卡到底是物理机/虚拟机上的哪一张网卡。

[collapse title="顺带的也可以一目了然的看出这张网卡的类型:"]前两位字母的含义

en:Ethernet

ib:InfiniBand

sl:Serial line IP (slip) <- 虽然是咱没听过的类型

wl:WLAN <- 也被常叫做WiFi(

ww:WWAN <- 据说是无线广域网。。。没实际在电脑上用过(见到过),不过大概插了4G上网卡之类的就会变成这个(?)[/collapse]

然后是后面那一长串感觉跟乱码一样的东西。。。

通过第三个字符可以知道这个网卡名字使用的命名方法[collapse title="好像有这几种"]

格式{值}[可选内容]:注释
[p{domain}]s{slot} [f{function}] [n{port_name} | d{dev_port}]:PCI(E)插槽编号
v{slot}:VIO插槽编号 (IBM PowerVM)
b{number}:Broadcom bus (BCMA) core number
u{port} [c{config}] [i{interface}]:USB端口位置
o{port}:板载

[/collapse][/infobox]