- Переименовываем сетевые интерфейсы в Linux
- Переименовываем название сетевых интерфейсов в Linux
- Отключаем стандартные правила udev
- Ubuntu 16.04: Изменение наименования сетевых интерфейсов
- Изменить имя интерфейса eth
- dimio.org
- 4 мысли о “Изменить имя сетевого интерфейса в Debian/Ubuntu Linux”
- Изменение названия сетевых интерфейсов Ubuntu 16.04
- 4 ответа
Переименовываем сетевые интерфейсы в Linux
В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) до версии 197 и выше, многие пользователи были мягко говоря не довольны новым способом именования сетевых интерфейсов, например eth0 стал вдруг enp2s0.
Чтоб назначить имя сетевому интерфейсу в ручную, достаточно создать правило для udev.
Правила формируются в файлах расположенных по адресу:
/lib/udev/rules.d (возможно также /etc/udev/rules.d, в зависимости от дистрибутива)
Переименовываем название сетевых интерфейсов в Linux
Создадим файл 79-net-name.rules:
Со следующим текстом:
Соответственно, в вашем случае необходимо заменить MAC адрес сетевого интерфейса, а также выбрать желаемое имя.
Чтобы узнать MAC адрес сетевого интерфейса введем следующую команду в терминале:
Правил в одном файле может быть несколько. Соответственно для каждого сетевого интерфейса прописываем свою строчку, меняя MAC адрес и имя интерфейса.
Перезагружаемся и радуемся старым и привычным именам сетевых интерфейсов.
На что здесь особо следует обратить внимание
- Название файла должно начинаться с номера меньше 80, для того чтоб правило обрабатывалось до стандартного правила:
- MAC адрес адаптера пишется в нижнем регистре, если его написать в верхнем регистре, например 08:00:27:17:С3:72, то правило не будет обработано.
В заключении, пожалуй ещё расскажу о том как отключить стандартные правила udev.
Отключаем стандартные правила udev
Проще всего это сделать добавив строчку net.ifnames=0 к параметрам загрузки ядра.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Ubuntu 16.04: Изменение наименования сетевых интерфейсов
После установки Ubuntu 16.04.1 имя сетевого интерфейса стало ens33. Добавил в конфигурацию загрузки “net.ifnames=0 biosdevname=0»
Имя стало eth0, теперь я хочу его поменять на, скажем. eth1.
Файл: /etc/udev/rules.d/70-persistent-net.rules отсутствует.
Команда #udevadm trigger —subsystem-match=net —action=add данный файл не создает
ifconfig eth0 down
ip link set eth0 name eth1
ifconfig eth1 up
Ты перепробовал все варианты, выхода нет, вдоль.
PS Создай файл вручную, будь мужиком, . !
в Ubuntu 16.4 отсутствует генератор файла: /lib/udev/write_net_rules
Создал файл /etc/udev/rules.d/70-persistent-net.rules руками:
По сравнению с Debian 7 в файле нет параметра KERNEL==«eth*»
Если кому интересно, правила в стиле циски (имя интерфейса зависит от номера слота и номера порта):
а разве по дефолту не так? Оо
Это относительно недавно стало.
в Ubuntu 16.4 отсутствует генератор файла: /lib/udev/write_net_rules
Его выкинули в очередном systemd. Кстати, так же выкинули из udev код, обеспечивающий обмен имён. То есть, если у тебя eth0 есть, eth1 ты сделаешь, а вот если у тебя есть и eth0, и eth1, то местами ты их с новым udev из нового systemd не поменяешь. Надо откатывать это «нововведение».
Спасибо за примечание, проверил на Debian 8 под виртуалкой c 3 сетевухами — мои изменения сохранились.
Источник
Изменить имя интерфейса eth
Всем привет! Появилась потребность изменить интерфейсы в системе. МСВС 5.0. Раньше интерфейсы определялись по-порядку eth0,1,2,3. Теперь они определяются, как eth3,2,0,1. Думали сделать привязку ip к MAC и MAC к eth. В файл с конфой интерфейса добавляем строку:
И создаем UDEV-правило:
SUBSYSTEM==«net», ACTION==«add», DRIVERS==»?*», ATTR
==«00:15:5d:c2:f7:08», ATTR—-> NAME=«eth0» у тебя там eth3
В файл с конфой интерфейса добавляем строку:
Зачем? Ты хочешь изменить мак адрес у интерфейса?
А потом хочешь у интерфейса со сменённым мак адресом сменить имя?
Это работает не так, В начале ядро назначает имена сетевым интерфейсам и ты можешь создать правило именования с привязкой к мак адресу, а потом сменить мак адрес у сетевого интерфейса.
Не знаю важно это или нет, но правило udev в моей системе вот такое:
ну дак мне и нужно, чтобы интерфейс eth0 стал eth3
так я не меняю сам мак. ifconfig -a, там беру значения mac и добавляю в файл. И нужно чтобы сетевая с таким маком в системе определялась, ни как eth0, а как eth3
ну переименуй тогда в etc/sysconfig/network-scripts/ifcfg-eth3
Повторяю, в начале отрабатывает ядро и udev и в системе интерфейс с маком «00:15:5d:c2:f7:08» будет уже eth3 согласно правилу.
Поэтому и в скриптах инициализации сетевых интерфейсов интерфейс должен указываться уже как eth3.
там беру значения mac и добавляю в файл
Только мак нужно в нижний регистр перевести. Есть просто скопипастить, то не работает. Только что проверил на себе — всё переименовывает, если правильно писать.
Ну и у udev можно нормально поотлаживать в общем-то.
Тут помогут udevadm info -a -p /sys/class/net/
И ещё udevadm test опять же про тот же сетевой адаптер. Там вроде видно как правила работают. Или не работают 🙂
Источник
dimio.org
Задался целью домашнюю wi-fi сеть перевести на современный протокол шифрования — wpa2. Вроде всё предельно просто должно быть даже в линуксе — ставишь wpa-supplicant, прописываешь имя точки, тип шифрования и ключ в /etc/network/interfaces — и всё работает. Но нет — бился часа четыре, пробовал по-разному — не подключается ноут мой к сети, хотя нетбук и смартфоны легко её подхватывают.
Оказалось, что wi-fi карточка в ThinkPad T40 не поддерживает wpa2 (и wpa тоже) на аппаратном уровне. Я думал, что это исключительно программные решения и даже не догадывался покопать в сторону аппаратной поддержки. В итоге пришлось карточку поменять, благо на e-bay их продаётся много.
Но это всё предыстория. Новая карточка в итоге встала нормально, выглядит в выводе dmesg и lspci как Intel PRO/Wireless 2200BG Mini-PCI Adapter, драйвера под Linux для неё имеются, но она автоматически прописалась под именем eth2, а у меня в скриптах и в conky беспроводной интерфейс прописан как eth1. Соответственно встал вопрос — как в Linux переименовать сетевой интерфейс?
Для Debian (и соответственно Ubuntu) подходит такой рецепт: в файле 70-persistent-net.rules, находящемся по адресу /etc/udev/rules.d/ , в спецификации нужной сетевой карты изменяем в конце строки параметр NAME= , вписывая туда нужное имя интерфейса для сетевой карты с нужным MAC-адресом. Например я вписал вместо NAME=eth2 — NAME=eth1 , а строку с конфигурацией старой wi-fi карты просто закомментировал.
4 мысли о “Изменить имя сетевого интерфейса в Debian/Ubuntu Linux”
Спасибо. Помогло копать дальше. В конце концов, я это файл удалил и после перезагрузки система все сетевые интерфейсы переименовала по умолчанию…
Источник
Изменение названия сетевых интерфейсов Ubuntu 16.04
Я пытался изменить имя сетевых интерфейсов в этой новой версии Ubuntu 16.04 LTS, но у меня нет /etc/udev/rules.d/70-persistent-net.rules .
Итак, я попытался использовать /lib/udev/write_net_rules, но он не существует.
Зачем мне эта модификация?
Потому что я использую инструмент для симуляции виртуальных платформ, которые используют гибкое лицензирование, а аутентификация должна быть в имени интерфейса eth0.
Команда ip link возвращает
(Некоторая информация была проигнорирована и подавлена XD) Я уже пробовал некоторые ссылки:
Спасибо за помощь.
4 ответа
Существует много вводящей в заблуждение информации о том, как изменить сетевые имена в последних версиях Ubuntu. Некоторая информация указывает на systemd.link, что просто неправильно, потому что Ubuntu (по состоянию на 16.04) не использует эту часть systemd.
На самом деле, изменение имени интерфейса работает почти так же, как раньше, с двумя небольшими отличиями: во-первых, файл /etc/udev/rules.d/70-persistent-net.rules теперь должен быть создан вручную. Преимущество этого заключается в том, что вам не нужно беспокоиться о каком-либо сценарии, перезаписывающем этот файл, и вы можете просто добавлять нужные строки (вам также не нужны комментарии). Второе — и это изменение, которое стоило мне много времени, чтобы понять это — формат немного изменился по сравнению с Ubuntu 14.04 LTS:
Строка для привязки имени интерфейса сетевого адаптера с MAC-адресом «02:01:02:03:04:05» к «eth0» теперь:
Источник