Я только что установил Fedora 19 на рабочую станцию VMware 9. Сетевым устройством по умолчанию является «ens33» вместо «eth0» в RHEL.
Причина, по которой я должен использовать «eth0», заключается в том, что лицензионный компонент одного из наших продуктов должен быть связан с «eth0».
Есть несколько постов, обсуждающих подобные проблемы, большинство из которых для старых ОС. Я не нашел тот, который точно соответствует моей ситуации.
linux
networking
fedora
Ю.М. Цзян
источник
источник
Ответы:
Самый простой способ восстановить старый способ, которым Kernel / modules / udev переименовывает ваши интерфейсы Ethernet, - это передать эти параметры ядра в Fedora 19 :
Для этого выполните следующие действия:
Если вы не указали эти параметры во время установки, вам, вероятно, потребуется настроить и / или переименовать файлы интерфейса в / etc / sysconfig / network-scripts / ifcfg- * .
До Fedora 18 достаточно было просто biosdevname = 0 .
Как пример, в определенной машине, в исчерпывающем исследовании, я получил:
-Нет параметров: NIC определен как « enp5s2 ».
-Parameter biosdevname = 0: сетевая карта определена как " enp5s2 ".
-Parameter net.ifnames = 0: сетевая карта, идентифицированная как « em1 ».
-Параметр net.ifnames = 0 И biosdevname = 0: сетевая карта определена как « eth0 ».
источник
Вы можете сделать это, используя правило udev, например:
источник
/sys/class/net/ens33
могут отличаться в зависимости от значений, возвращаемых BIOS и найденных в выходных данныхlspci -vv | grep -A25 Ethernet
. Кроме того, если намерение состоит в том, чтобы использоватьeth0
в качестве имени, тогда может быть более целесообразным просто указать флаги загрузки ядра, чтобы отключить «предсказуемое» наименование устройства.В Fedora 20 ситуация, похоже, немного изменилась.
1) аргументы ядра grub.
Да, оба "net.ifnames = 0" и "biodevame = 0" кажутся необходимыми.
2) / etc / sysconfig / network-scripts / ifcfg-ethX
Да, это тоже необходимо.
3) /etc/udev/rules.d/60-net.rules
Если у вас несколько интерфейсов и вы хотите управлять именами каждого устройства, а не позволять ядру делать это по-своему, /etc/udev/rules.d/60 -net.rules кажется необходимым переопределить /usr/lib/udev/rules.d/60-net.rules следующим образом.
# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
4)
yum remove biosdevname
кажется ненужным.источник
В Fedora 19 это отличается от предыдущих выпусков. Есть две вещи для решения:
yum remove biosdevname
или вставьте-biosdevname
свой кикстарт.ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Дополнительную информацию можно найти по адресу http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames.
источник
Хотя принятый ответ действительно дает решение, которое работает, оно не объясняет, почему
ens33
оно используется. Приведенные ниже ссылки дают представление о том, почему сетевое устройство названо как-то иначе,eth0
и как оно теперь называется в вариантах RHEL 7:Стоит также отметить, что такие значения, как «33», появляются
ens33
из значения слота PCI-адаптера, возвращаемого BIOS. Используйте эту команду, чтобы увидеть, какие значения ваша система перечислила для «Физического слота»:Дополнительную информацию о части имени «ens» можно найти в исходном коде udev .
источник
Для Fedora-24:
редактировать
/etc/default/grub
В конце
GRUB_CMDLINE_LINUX
строки добавьтеnet.ifnames=0 biosdevname=0
Сохранить файл
Тип
или введите
Тип
reboot
источник
ifconfig
только возвращаетсяlo
иvirbr0
, но изначальноenp4s0
больше нет.ethN
именами, чтобы использовать это соглашение. Я оставилenp4s0
в одном сценарии.