Як я можу показати старі імена eth0, а також перейменувати мережеві інтерфейси в debian 9 stretch?


12

Я хотів би зробити 2 речі:

1) Поверніть інтерфейси до старої класичної назви: eth0 замість ena33.

2) Перейменуйте інтерфейси так, як мені хочеться, щоб, наприклад, я міг викликати інтерфейс eth0 як wan0 або призначити eth1, eth2 і т. Д. За адресою mac, яку я хочу.

Відповіді:


21

Якщо припустити, що ви тільки що встановили свою розтяжку debian 9.

1) Для повернення назад старих назв інтерфейсів виконайте:

nano /etc/default/grub

редагуйте рядок GRUB_CMDLINE_LINUX=""доGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

потім запустіть grub-mkconfig, щоб застосувати зміни всередині завантажувача

grub-mkconfig -o /boot/grub/grub.cfg

Вам потрібна перезавантаження після цього.


2) Для перейменування інтерфейсів використовуйте:

  • Для лише тимчасової модифікації подивіться на відповідь @xhienne.

  • Для постійної модифікації:

Почніть зі створення / редагування файлу /etc/udev/rules.d/70-persistent-net.rules .

nano /etc/udev/rules.d/70-persistent-net.rules

І вставити внутрішні рядки на зразок:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# interface with MAC address "00:0c:30:50:48:ab" will be assigned "eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Якщо ви хочете призначити, наприклад, ім'я, як wan0, для eth0, ви можете використовувати наведений мій приклад:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

Після чергової перезавантаження або перезавантаження сервісної мережі слід побачити застосовані зміни.


ДОПОМОГА: Пам’ятайте, що після всіх цих модифікацій вам слід редагувати файл / etc / network / interfaces, замінюючи старі імена інтерфейсів на нові!


ДОПОМОГА: Якщо ви хочете знати, яку MAC-адресу мають ваші інтерфейси, просто зробіть

ip addr show

і дивіться під посиланням / секцією.


Де ця інформація знаходиться в офіційній документації на Linux?
vfclists

5

За запитання 1) див відповідь користувача3450548 . Для питання 2) ви можете вказати будь-яке ім’я, яке ви хочете, щоб інтерфейс iproute2:

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0

1
Ну добре, однак це не лише тимчасова зміна до наступного перезавантаження?
користувач3450548

Так. Звичайно, ви можете додати це в сценарій запуску, але ваша відповідь краще, якщо ви хочете щось постійне. Я не помітив, що ви відповідаєте на власне запитання (ви можете прийняти його тоді) і додав це, якщо ви (або хтось інший) хочете тимчасової зміни імені з метою тестування.
xhienne

Дякую, це приємний аддон, я
підкажу

0

Створіть файл нижче, якщо його немає

nano /etc/udev/rules.d/70-persistent-net.rules

додати нижче рядка

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
# KERNEL=="enp3s0" is debians current interface name
# NAME="eth0" is a new ethernet interface name
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp3s0", NAME="eth0"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.