【问题标题】:Linux: where does the kernel name the Network interface?Linux:内核在哪里命名网络接口?
【发布时间】:2017-10-14 15:46:42
【问题描述】:

我正在对 Linux 网络接口命名进行故障排除。

这里我有一些一般性的问题:

  1. 如果有多个网卡,它们将被命名为“eth0”、“eth1”、“eth2”等。哪些内核代码负责命名?
  2. 在某些情况下,接口会被重命名,例如:mlx4_core 0002:00)02:0 enP2p0s2:从 eth2 重命名。谁触发了这次更名?看起来是 netdev rename 事件,但是谁触发了 netdev 事件? (在本例中,enP2p0s2 是 VF NIC 接口名称)。
  3. 例如,在某些情况下,界面会被重命名为“rename3”。为什么会发生这种情况? MAC地址冲突引起的?如何防止这种重命名发生?

谢谢!

【问题讨论】:

    标签: linux networking kernel driver


    【解决方案1】:

    哪些内核代码负责命名?

    udev 命名接口。

    为什么会这样?

    这取决于您的系统,但重命名受 /etc/udev/rules.d 中的规则控制。

    【讨论】:

      【解决方案2】:

      在某些情况下,界面会被重命名为“rename3”。为什么会发生这种情况? MAC地址冲突引起的?如何防止这种重命名发生?

      这部分我可以回答!当 systemd-udevd 想要重命名接口但目标名称已经被占用时,重命名为“rename3”是由 systemd-udevd 完成的。有趣的是,systemd 清除了 2013 年重命名为临时名称的代码!但是 debian/ubuntu 的人抢救了它并一直使用到 2019 年——https://salsa.debian.org/systemd-team/systemd/commit/3d45a7af959cf260bffcb1ad0262973b5750ae36。这就是为什么即使在 ubuntu 18.04 中您也可以看到“重命名为 rename3”的消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-05
        • 2016-11-29
        • 1970-01-01
        • 1970-01-01
        • 2021-01-13
        • 2015-01-19
        • 2015-02-26
        相关资源
        最近更新 更多