Linux переименовать eth1 в eth0

Обновлено: 03.07.2024

Если информация была полезной для вас, вы можете поблагодарить за труды Яндекс деньгами: 41001164449086 или пластиковой картой:

Переименовать, изменить enp2s0 на eth0, или udev - верните всё как было

После обновления systemd (частью которого является udev ) до версии 197 и выше, многие заводчики пингвинов были мягко говоря не довольны новым способом именования сетевых интерфейсов, например eth0 стал вдруг enp2s0. Хороша новая схема имен или нет, каждый решает для себя сам, я бы хотел просто рассказать о том как вернуть старые названия сетевым интерфейсам например: eth0, eth1, wan0, ну и т. д.

Итак перед началом несколько слов о теории.

systemd является системой инициализации, используемой многими дистрибутивами Linux . u dev - это скажем так менеджер устройств в linux . По сути он является частью systemd. Именно он отвечает за название сетевых интерфейсов в пространстве имен пользователя. Т.е. С точки зрения пользователя мы работаем с enp2s0 или lan0 , а с точки зрения ядра linux это всё тот же eth0.

Начиная с версии systemd 197 был принят новый способ обозначения сетевых интерфейсов. О новой схеме давать имена сетевым интерфейсам вы можете найти довольно много информации в сети.

Я бы хотел бы рассказать о возможности назначения имен в ручном режиме.

Чтоб назначить имя сетевому интерфейсу в ручную достаточно создать правило для udev .

Правила формируются в файлах расположенных по адресу:
/lib/udev/rules.d ( возможно также / etc/ udev/rules.d, в зависимости от дистрибутива )

Соответственно, в вашем случае необходимо заменить MAC адрес (08:00:27:17:c3:72) на свой, а также выбрать желаемое имя сетевого интерфейса ( eth 0).

Таких правил в одном файле может быть несколько. Соответственно для каждого сетевого интерфейса прописываем свою строчку, меняя MAC адрес и имя интерфейса.

Перезагружаемся и радуемся старым и привычным именам сетевых интерфейсов.

На что здесь особо следует обратить внимание:

1. Название файла должно начинаться с номера меньше 80, для того чтоб правило обрабатывалось до стандартного правила:

Это правило как раз и даёт названия вида enp2s0.

2. MAC адрес адаптера пишется в нижнем регистре, если его написать в верхнем регистре, например 08:00:27:17:С3:72, то правило не будет обработано.

В заключении, пожалуй ещё расскажу о том как отключить стандартные правила udev.

Проще всего это сделать добавив строчку net.ifnames=0 к параметрам загрузки ядра.

Если у вас ещё остались вопросы, или вы хотите поделиться информацией оставляйте свои комментарии.

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

Если информация была полезной для вас, вы можете поблагодарить за труды Яндекс деньгами: 41001164449086 или пластиковой картой:


Начиная с Debian 9, правила именования сетевых интерфейсов изменились с ethxx на ensxx.

Это изменение было вызвано выпуском systemd / udev, более новым, чем v197.

Вы можете прочитать больше о схемах именования сетевых устройств Systemd.

Если вы одержимы старыми именами, не отчаивайтесь, поскольку их можно изменить.

Чтобы переключиться на старую схему, добавьте следующие параметры ядра в переменную GRUB_CMDLINE_LINUX в файле /etc/default/grub.


Вам нужно обновить grub и перезагрузить систему после внесения изменений.

Вот как легко изменить соглашение об именах сети на ethXX в Debian 10 (Buster) / Debian 9 (Stretch).

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


Команда Linux top широко используется системными администраторами Linux в режиме реального времени для проверки использования системных ресурсов, таких как процессор, дисковый ввод/вывод, средняя загрузка системы, запущенные процессы и использование памяти. Я обычно использую Oracle OSWatcher Black Box (OSWbb) для сбора различных системных данных для диагностики проблем производительности в течение определенного периода времени. Но если вы.

Несмотря на то, что управление пакетами стало проще с помощью графических менеджеров пакетов, некоторые пользователи предпочитают всегда использовать командную строку. Существуют различные команды для поиска версии пакета в разных дистрибутивах Linux. Сегодня, в этом руководстве, мы рассмотрим, как найти версию пакета в некоторых популярных дистрибутивах Linux, таких как Alpine Linux, Arch Linux и его производные, Debian.

Для новичка в docker-compose такие термины, как docker-compose up, start, down и stop, могут быть совершенно непонятными. Эта статья объясняет разницу с подробными примерами. Если вы новичок в Docker Compose и изучаете его по различным руководствам, вы можете столкнуться с такими терминами, как docker-compose up, docker-compose up -d, docker-compose start, docker-compose down или даже docker-compose.

network-logo

В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) до версии 197 и выше, многие пользователи были мягко говоря не довольны новым способом именования сетевых интерфейсов, например eth0 стал вдруг enp2s0.

Чтоб назначить имя сетевому интерфейсу в ручную, достаточно создать правило для udev.

Правила формируются в файлах расположенных по адресу:
/lib/udev/rules.d (возможно также /etc/udev/rules.d, в зависимости от дистрибутива)

Переименовываем название сетевых интерфейсов в Linux

Со следующим текстом:

Соответственно, в вашем случае необходимо заменить MAC адрес сетевого интерфейса, а также выбрать желаемое имя.

Чтобы узнать MAC адрес сетевого интерфейса введем следующую команду в терминале:

Правил в одном файле может быть несколько. Соответственно для каждого сетевого интерфейса прописываем свою строчку, меняя MAC адрес и имя интерфейса.

Перезагружаемся и радуемся старым и привычным именам сетевых интерфейсов.

На что здесь особо следует обратить внимание

  • Название файла должно начинаться с номера меньше 80, для того чтоб правило обрабатывалось до стандартного правила:
  • MAC адрес адаптера пишется в нижнем регистре, если его написать в верхнем регистре, например 08:00:27:17:С3:72, то правило не будет обработано.

В заключении, пожалуй ещё расскажу о том как отключить стандартные правила udev.

Отключаем стандартные правила udev

Проще всего это сделать добавив строчку net.ifnames=0 к параметрам загрузки ядра.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 - это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой - интерфейсы имеют имена вида enp2s0 (en -Ethernet, p - PCI, 2 - номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .

Привязка интерфейса к карте

При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств - udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.

Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

route

Настройка таблицы маршрутизации route

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

Для просмотра доступных сетевых интерфейсов используется команда ip link

ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:

Содержимое enp1s0-work после редактирования

Базовые команды netctl

Просмотр доступных интерфейсов - ifcfg -a

Файл конфигурации интерфейсов - /etc/network/interfaces . auto - говорит о том, что интерфейс надо конфигурировать при старте системы.

После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.

Общие настройки сети

Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры - нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

Дополнительный IP адрес на интерфейсе eth1

Инициализация VLAN на eth1

Настройка DNS

Файл /etc/resolv.conf

Ручная настройка имен хостов файл /etc/hosts

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save

Читайте также: