AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1054764
Accepted
user1933738
user1933738
Asked: 2021-02-24 09:09:46 +0800 CST2021-02-24 09:09:46 +0800 CST 2021-02-24 09:09:46 +0800 CST

systemd 的“可预测的接口名称”不可预测

  • 772

我在 Mac Pro 上作为 NAS / VM 主机运行 Debian 测试(内核 5.10.0-2-amd64 / systemd 247.2-5)。今天,我添加了一个 Thunderbolt 3 卡(Gigabyte Titan Ridge) - 并注意到一些奇怪的事情:Mac 的内置以太网端口(enp9s0 / enp10s0)的网络标识符更改为 enp14s0/enp15s0,具体取决于我的 iMac 是否已连接并打开电源在启动时通过 Thunderbolt。

这是什么原因造成的?我认为“新”命名方案优于旧“ethX”的优势在于设备名称是可预测的。特别烦人,因为我必须在 GRUB 命令行中对接口名称进行硬编码,以便预引导 DHCP 工作,以便我可以解锁加密的根磁盘,而且我还需要稳定的接口名称来配置网桥。

(另外:boltctl 和 tbtadm 都不识别卡或连接的设备,但内核可以识别,并且网络连接工作正常。为什么?)

networking debian systemd linux-networking
  • 1 1 个回答
  • 600 Views

1 个回答

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2021-02-24T11:08:08+08:002021-02-24T11:08:08+08:00

    这意味着这台机器上的硬件路由取决于是否有任何东西插入 Thunderbolt 插座。请记住,Thunderbolt 的逻辑接口是 PCIe,因此您实际上是将另一个设备插入计算机的系统总线。在你的 Mac 中,你碰巧在系统总线的中间插入了一些东西,所以它把所有东西都“推”到了更远的地方。这就是 Apple 布置硬件总线的方式;他们没有为每个 Thunderbolt 端口保留一些设备编号池,甚至没有将每个端口单独计算为 PCI 总线,而是让这些“端口”在系统中出现或消失,在一些内部枚举中将所有内容转移到它们之外。

    我在PC上也遇到过同样的问题,网卡设备号取决于内置声卡的情况:如果在BIOS设置中启用了声卡,它需要网卡设备号,然后网卡本身依次接收。这就是硬件在该机器上的布局方式。向硬件设计人员提问,为什么他们没有设置“虚拟插槽中的设备”的切换状态,并让插槽本身出现或消失。

    Systemd的方案有它的优点,但是它完全依赖于设备路径,对于PCI来说就是它的设备号和功能;所以,如果设备号发生变化,systemd 认为这是另一张卡。因此,此方案与设备编号可能发生变化的环境无关,因此 USB 和 Thunderbolt 是可能出现故障的特殊地方。

    • 10

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve