Как я могу показать старые имена eth0 и также переименовать сетевые интерфейсы в Debian 9 Stretch?

Вопрос или проблема

Я хотел бы сделать 2 вещи:

1) Вернуть интерфейсы к старому классическому названию: eth0 вместо ens33.

2) Переименовать интерфейсы так, как я хочу, чтобы, например, я мог назвать интерфейс eth0 как wan0 или присвоить eth1, eth2 и так далее MAC-адрес, который я хочу.

Предполагая, что вы только что установили Debian 9 Stretch.

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

И вставьте строки, такие как:

# интерфейс с MAC-адресом "00:0c:30:50:48:a1" будет назначен "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"

# интерфейс с MAC-адресом "00:0c:30:50:48:ab" будет назначен "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, вы можете использовать приведенный мной пример:

# интерфейс с MAC-адресом "00:0c:30:50:48:a1" будет назначен "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"

После следующей перезагрузки или используя service networking restart, вы должны увидеть примененные изменения.


ДОПОЛНИТЕЛЬНО: Помните, что после всех этих модификаций вам нужно отредактировать файл /etc/network/interfaces, заменив старые имена интерфейсов на новые!


ДОПОЛНИТЕЛЬНО: Если вы хотите узнать, какой MAC-адрес имеют ваши интерфейсы, просто выполните

ip addr show

и посмотрите в разделе link/.

На вопрос 1) смотрите ответ пользователя 3450548. На вопрос 2) вы можете дать любое имя интерфейсу с помощью iproute2:

ip link set ens33 down           # Иначе вы получите "Устройство или ресурс заняты"
ip link set ens33 name eth0

Я нашел очень простой способ, изменив только /etc/network/interfaces:

rename enp3s0=wan0

Затем

service networking restart

чтобы перезапустить сетевой сервис.

Создайте файл ниже, если он отсутствует

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

Добавьте строку ниже

# интерфейс с MAC-адресом "00:0c:30:50:48:a1" будет назначен "eth0"
# KERNEL=="enp3s0" - это текущее имя интерфейса Debian
# NAME="eth0" - это новое имя ethernet-интерфейса
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp3s0", NAME="eth0"

В настоящее время systemd.link – Конфигурация сетевых устройств предлагает удобный метод для постоянного переименования интерфейсов.

Есть простые шаги, которые нужно выполнить:

  1. Откройте терминал и введите

    sudo nano /etc/default/grub
    
  2. Закомментируйте строку GRUB_CMDLINE_LINUX_DEFAULT="quiet" как показано на скриншоте ниже.

    введите описание изображения здесь

  3. Добавьте новую строку

    GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
    

    Нажмите X, затем y для сохранения и выхода.

  4. Введите

    grub2-mkconfig -o /boot/grub2/grub.cfg
    
  5. Перезагрузите машину. Готово!

Ответ или решение

Как вернуть старые названия интерфейсов eth0 и переименовать сетевые интерфейсы в Debian 9 Stretch

В данном руководстве мы рассмотрим, как вернуть старые названия сетевых интерфейсов, такие как eth0, и как переименовать интерфейсы в соответствии с вашими требованиями в системе Debian 9 "Stretch".

Шаг 1: Возврат к старым названиям интерфейсов

С недавними изменениями в системах, использующих systemd, названия сетевых интерфейсов получили более сложные алиасы, такие как ens33. Чтобы вернуть название интерфейсам к старым названиям, выполните следующие действия:

  1. Редактирование конфигурации GRUB:
    Откройте файл /etc/default/grub с помощью текстового редактора, например nano:

    sudo nano /etc/default/grub
  2. Изменение параметров GRUB:
    Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX="", и измените ее на:

    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
  3. Обновление конфигурации GRUB:
    После изменения сохраните файл и выполните команду для обновления конфигурации загрузчика:

    sudo grub-mkconfig -o /boot/grub/grub.cfg
  4. Перезагрузка системы:
    Для применения изменений необходимо перезагрузить систему:

    sudo reboot

После перезагрузки ваши сетевые интерфейсы должны принимать старые имена, такие как eth0 и eth1.

Шаг 2: Переименование интерфейсов

Временное переименование интерфейсов

Если вам нужно временно переименовать интерфейс, можно использовать команду ip:

sudo ip link set ens33 down           # Остановка интерфейса, чтобы избежать конфликтов
sudo ip link set ens33 name eth0      # Переименование интерфейса

Постоянное переименование интерфейсов

Если вам нужно переименовать интерфейс на постоянной основе, выполните следующие шаги:

  1. Создание или редактирование правила Udev:
    Откройте или создайте файл /etc/udev/rules.d/70-persistent-net.rules:

    sudo nano /etc/udev/rules.d/70-persistent-net.rules
  2. Добавление правила для переименования:
    Вставьте строки, чтобы назначить интерфейсу MAC-адресу новое имя. Например:

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", NAME="wan0"
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", NAME="wan1"

    Здесь ATTR{address} — это MAC-адрес интерфейса, который вы можете получить с помощью команды:

    ip addr show
  3. Перезагрузка сети:
    После редактирования правил перезапустите сетевые службы, чтобы изменения вступили в силу:

    sudo systemctl restart networking

Или вы можете просто перезагрузить систему.

Шаг 3: Обновление конфигурации сети

После изменения названий интерфейсов убедитесь, что вы обновили файл /etc/network/interfaces с новыми именами интерфейсов. Например:

auto wan0
iface wan0 inet dhcp

Заключение

Теперь вы знаете, как вернуть старые названия сетевых интерфейсов и как переименовывать их в Debian 9 Stretch. Следуя этим шагам, вы сможете настроить вашу сетевую инфраструктуру в соответствии с вашими требованиями. Если у вас возникнут дополнительные вопросы или нужна помощь, не стесняйтесь обращаться за помощью к сообществу Debian или профессиональным администраторам систем.

Оцените материал
Добавить комментарий

Капча загружается...