У меня чертовски много времени, чтобы настроить сетевой стек и запустить его на Ubuntu Server 14.04.3. (Это личное для дома, и я не SA, поэтому я не могу спросить о SF, потому что это нарушение правил сайта).
Проблема заключается в именах и несогласованности сетевых устройств в ядре и приложениях. Очевидно, это хорошо известная проблема, когда вы сталкиваетесь с ней и знаете, что искать. (См. Согласованное именование сетевых устройств в Linux и имена Ethernet не согласованы с сервером ubuntu 14.04).
На машине есть пара встроенных сетевых адаптеров на шине PCI Express. Это Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller. В dmesg
я вижу, что драйвер Realtek выполняет переименование:
- eth0 → p2p1
- eth1 → p3p1
Когда драйвер выполняет переименование, он ломает много вещей, например, в /etc/udev/rules.d/70-persistent-net.rules
и /etc/network/interfaces
. Последнее особенно проблематично, потому что у меня уже установлена libvirt и несколько виртуальных машин частично настроены в режиме моста.
Чтобы свести к минимуму проблемы и избежать дополнительной работы, я хотел бы позволить драйверу выполнить переименование, но предоставить псевдоним, который ожидают части ядра и приложений.
Как мне создать псевдоним такой, чтобы:
- eth0 является псевдонимом для p2p1
- eth1 является псевдонимом для p3p1
Заранее спасибо.