- Вопрос или проблема
- Ответ или решение
- Как вернуть старые названия интерфейсов eth0 и переименовать сетевые интерфейсы в Debian 9 Stretch
- Шаг 1: Возврат к старым названиям интерфейсов
- Шаг 2: Переименование интерфейсов
- Временное переименование интерфейсов
- Постоянное переименование интерфейсов
- Шаг 3: Обновление конфигурации сети
- Заключение
Вопрос или проблема
Я хотел бы сделать 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 – Конфигурация сетевых устройств предлагает удобный метод для постоянного переименования интерфейсов.
Есть простые шаги, которые нужно выполнить:
-
Откройте терминал и введите
sudo nano /etc/default/grub
-
Закомментируйте строку
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
как показано на скриншоте ниже. -
Добавьте новую строку
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
Нажмите
X
, затемy
для сохранения и выхода. -
Введите
grub2-mkconfig -o /boot/grub2/grub.cfg
-
Перезагрузите машину. Готово!
Ответ или решение
Как вернуть старые названия интерфейсов eth0 и переименовать сетевые интерфейсы в Debian 9 Stretch
В данном руководстве мы рассмотрим, как вернуть старые названия сетевых интерфейсов, такие как eth0, и как переименовать интерфейсы в соответствии с вашими требованиями в системе Debian 9 "Stretch".
Шаг 1: Возврат к старым названиям интерфейсов
С недавними изменениями в системах, использующих systemd
, названия сетевых интерфейсов получили более сложные алиасы, такие как ens33. Чтобы вернуть название интерфейсам к старым названиям, выполните следующие действия:
-
Редактирование конфигурации GRUB:
Откройте файл/etc/default/grub
с помощью текстового редактора, напримерnano
:sudo nano /etc/default/grub
-
Изменение параметров GRUB:
Найдите строку, начинающуюся сGRUB_CMDLINE_LINUX=""
, и измените ее на:GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
-
Обновление конфигурации GRUB:
После изменения сохраните файл и выполните команду для обновления конфигурации загрузчика:sudo grub-mkconfig -o /boot/grub/grub.cfg
-
Перезагрузка системы:
Для применения изменений необходимо перезагрузить систему:sudo reboot
После перезагрузки ваши сетевые интерфейсы должны принимать старые имена, такие как eth0 и eth1.
Шаг 2: Переименование интерфейсов
Временное переименование интерфейсов
Если вам нужно временно переименовать интерфейс, можно использовать команду ip
:
sudo ip link set ens33 down # Остановка интерфейса, чтобы избежать конфликтов
sudo ip link set ens33 name eth0 # Переименование интерфейса
Постоянное переименование интерфейсов
Если вам нужно переименовать интерфейс на постоянной основе, выполните следующие шаги:
-
Создание или редактирование правила Udev:
Откройте или создайте файл/etc/udev/rules.d/70-persistent-net.rules
:sudo nano /etc/udev/rules.d/70-persistent-net.rules
-
Добавление правила для переименования:
Вставьте строки, чтобы назначить интерфейсу 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
-
Перезагрузка сети:
После редактирования правил перезапустите сетевые службы, чтобы изменения вступили в силу:sudo systemctl restart networking
Или вы можете просто перезагрузить систему.
Шаг 3: Обновление конфигурации сети
После изменения названий интерфейсов убедитесь, что вы обновили файл /etc/network/interfaces
с новыми именами интерфейсов. Например:
auto wan0
iface wan0 inet dhcp
Заключение
Теперь вы знаете, как вернуть старые названия сетевых интерфейсов и как переименовывать их в Debian 9 Stretch. Следуя этим шагам, вы сможете настроить вашу сетевую инфраструктуру в соответствии с вашими требованиями. Если у вас возникнут дополнительные вопросы или нужна помощь, не стесняйтесь обращаться за помощью к сообществу Debian или профессиональным администраторам систем.