Вопрос или проблема
Я тестировщик программного обеспечения для ethernet-коммутатора, и иногда работаю из дома. На компьютере, который я использую на работе, два сетевых интерфейса называются eth0 и eth1. На моем личном ноутбуке они называются enp0s20u1 и enp9s0. Это создает раздражающие ошибки.
Как я могу изменить имена своих сетевых интерфейсов на eth0 и eth1, сохранив все остальные настройки?
Я использую Fedora 21.
[root@martin may_2015]# uname -a
Linux martin.laptop 4.0.4-201.fc21.x86_64 #1 SMP Thu May 21 15:58:47 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
В интернете говорится, что нужно отредактировать файл /etc/udev/rules.d/70-persistent-net.rules, но директории /etc/udev/rules.d не существует. Я также выполнил
grep -Ri enp0s20u1 /etc
без результатов.
У udev большая часть файлов находится в /usr/lib/udev/rules.d/, и вместо того чтобы редактировать их, вы можете переопределить их, создав файл с таким же именем в /etc/udev/rules.d/.
Чтобы отключить замечательное переименование сетевых интерфейсов, нужно переопределить файл правил 80-net-name-slot.rules. Его не должно быть в /etc, поэтому просто:
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Смотрите пункт 8.9 в
Руководстве по сетевым подключением Fedora
(pdf), где обсуждаются и другие решения.
Ответ или решение
Чтобы изменить имена сетевых интерфейсов в Fedora 21 с enp0s20u1 и enp9s0 на eth0 и eth1, вы можете воспользоваться следующими шагами. Эти изменения помогут избежать путаницы в именах и сохранят ваши настройки.
-
Создание переопределения для правил udev: Fedora использует udev для управления именами сетевых интерфейсов. Нам нужно создать переопределение для правил, чтобы отключить автоматическое присвоение имен интерфейсам.
Сначала выполните следующую команду в терминале:
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
Эта команда создаст символическую ссылку на
/dev/null
, что фактически отключит правила, отвечающие за именование интерфейсов. После выполнения этой команды udev больше не будет применять правила именования к интерфейсам. -
Создание нового правила для именования интерфейсов: Теперь, когда предыдущие правила отключены, мы можем создать собственное правило, чтобы задать нужные имена.
Для этого создайте новый файл, например,
10-network-names.rules
в директории/etc/udev/rules.d/
:nano /etc/udev/rules.d/10-network-names.rules
Вставьте в файл следующие строки:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="[MAC-АДРЕС1]", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="[MAC-АДРЕС2]", NAME="eth1"
Замените
[MAC-АДРЕС1]
и[MAC-АДРЕС2]
на реальные MAC-адреса ваших сетевых интерфейсов. Их можно найти с помощью командыip link
, которая отобразит список интерфейсов и их MAC-адресов. -
Перезагрузка системы: После внесения изменений, чтобы они вступили в силу, перезагрузите вашу систему:
reboot
-
Проверка изменений: После перезагрузки выполните команду
ip link
снова, чтобы убедиться, что интерфейсы теперь имеют имена eth0 и eth1.
Следуя этим шагам, вы сможете изменить имена сетевых интерфейсов в Fedora 21 на eth0 и eth1, что должно помочь избежать путаницы при работе с вашим оборудованием.