![网络设备命名问题以及 p2p1 和 p3p1 的别名返回到 eth0 和 eth1](https://linux22.com/image/1478038/%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87%E5%91%BD%E5%90%8D%E9%97%AE%E9%A2%98%E4%BB%A5%E5%8F%8A%20p2p1%20%E5%92%8C%20p3p1%20%E7%9A%84%E5%88%AB%E5%90%8D%E8%BF%94%E5%9B%9E%E5%88%B0%20eth0%20%E5%92%8C%20eth1.png)
我在安装 Ubuntu Server 14.04.3 时花了很长时间才让网络堆栈启动并运行。(这是家里的私人事务,而且我不是 SA,因此我无法在 SF 上提问,因为这违反了网站的政策)。
问题在于网络设备名称以及内核和应用程序之间的不一致。一旦你遇到它并且知道要搜索什么,这显然是一个众所周知的问题。(参见,Linux 中一致的网络设备命名和以太网名称不一致 ubuntu 服务器 14.04)。
该机器在 PCI Express 总线上有一对板载网卡。它们是 Realtek RTL8111/8168/8411 PCI Express 千兆以太网控制器。在dmesg
,我看到 Realtek 驱动程序执行了重命名:
- eth0 → p2p1
- eth1 → p3p1
当驱动程序执行重命名时,它会破坏很多东西,比如/etc/udev/rules.d/70-persistent-net.rules
和/etc/network/interfaces
后者尤其成问题,因为我已经安装了 libvirt 并且一些虚拟机部分配置为桥接模式。
在努力尽量减少麻烦并避免额外的工作,我想允许驱动程序执行重命名,但提供内核和应用程序各部分所期望的别名。
如何创建别名,例如:
- eth0 是 p2p1 的别名
- eth1 是 p3p1 的别名
提前致谢。