- Переименование сетевых интерфейсов в Linux
- Изменить имя сетевого интерфейса в Linux Debian/Ubuntu
- How to change network interface names permanently in Linux
- Support Xmodulo
- Переименовываем интерфейсы в Ubuntu 18.04|20.04|22.04
- Переименовываем сетевой интерфейс в Ubuntu 18.04|20.04|22.04
- RSS
- Переименовываем сетевые интерфейсы в Linux
- Переименовываем название сетевых интерфейсов в Linux
- Отключаем стандартные правила udev
Переименование сетевых интерфейсов в Linux
Однажды после обновления драйвера i40e для сетевых адаптеров Intel я заметил что изменились имена сетевых интерфейсов, а также после перезагрузки операционной системы имена периодически тоже изменялись.
По этому перед обновлением драйвера необходимо обязательно сохранить mac адреса нужных сетевых интерфейсов, информацию о mac адресе, модели сетевого адаптера, на каких сетевых интерфейсах поднялся линк, можно посмотреть например командами ниже:
lshw -C network | less dmesg -T | less ip a ls /sys/class/net/ ls /sys/class/net/enp0s3/ cat /sys/class/net/enp0s3/address
Чтобы указать имя сетевому интерфейсу, например в Ubuntu, откроем указанный ниже файл в текстовом редакторе:
nano /etc/udev/rules.d/70-snap.snapd.rules
И добавим строку (в которой укажем «address» — mac адрес нужного сетевого интерфейса, KERNEL — шаблон в который попадает старое имя, например eth*, enp*, eno*, ens* и «NAME» — его желаемое новое имя):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="6c:b3:00:00:d3:92", ATTR=="1", KERNEL=="eth*", NAME="wan"
При изменении имен сетевых интерфейсов также не забываем исправить их в конфигурации сети, например в /etc/network/interfaces или /etc/netplan/. Либо сделаем имена сетевых интерфейсов такими как они описаны в конфигурации сети и были ранее до обновления драйвера.
Можно также вносить изменения в отдельный файл, например:
nano /etc/udev/rules.d/1-user-udev.rules KERNEL=="eth*", ATTR=="6c:b3:00:00:d3:92", NAME="ens2" KERNEL=="eth*", ATTR=="6c:b3:00:00:d3:90", NAME="ens4"
Перезагрузим операционную систему и убедимся что сетевой интерфейс успешно переименован и имеет правильные настройки сети.
Изменить имя сетевого интерфейса в Linux Debian/Ubuntu
Доброе время суток. Сегодня расскажу как быстро изменить имя сетевого интерфейса в Linux на желаемое.
Часто так бывает, что по каким то причинам мы не хотим или не можем оставить стандартное имя сетевого интерфейса в Linux Debain/Ubuntu. Например Ubuntu в новых дистрибутивах дает имена такого вида – enp0s3.
Данную операцию будем выполнять через менеджер устройств udev.
udev – управляет файлами всевозможных устройств в каталоге /dev и обработка всех действий. При подключении или отключении периферии. Запускается как демон и принимает через сокет события uevents от ядра, Правила для подключаемых устройств и дополнительные действия находятся в файлах конфигурации. И хранятся в каталоге /etc/udev/rules.d с расширение .rules.
Первое что необходимо сделать это узнать mac-адрес необходимого нам устройства. Это можно сделать с помощью таких команд:
Теперь необходимо создать правило udev и сохранить. Где “enp0s3” – старое имя интерфейса. “08:00:27:47:d2:4e” – mac-адрес интерфейса. “eth0” – новое имя:
sudo nano /etc/udev/rules.d/1-user-network.rules KERNEL=="enp0s3", ,ATTR=="08:00:27:47:d2:4e", NAME="eth0"
Обязательным действием является редактирование файла настроек сетевых интерфейсов:
sudo nano /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
Теперь смело перезагружаем операционную систему.
How to change network interface names permanently in Linux
Question: I want to change a network interface name (e.g., eth0 ) to something else on my Linux. What is a proper way to rename network interfaces on Linux?
In Linux, device name management is handled by udev system. When Linux kernel discovers a new device (e.g., a network interface card) added to the system, it notifies udev daemon of the device event. The udev daemon will then match various device attributes against a set of rules to identify the device, name it, and store its information in udev database.
In case of network devices, udev relies on MAC addresses to assign persistent names to the devices. The MAC address based naming rules are stored in /etc/udev/rules.d/70-persistent-net.rules .
In order to change a network device name, you can thus edit /etc/udev/rules.d/70-persistent-net.rules . If there is no such file, you can create one yourself.
In /etc/udev/rules.d/70-persistent-net.rules , you can assign an arbitrary device name to a particular MAC address. Thus, first find out the MAC address of your network interface, and then define the interface name to that MAC address in the following format.
$ sudo vi /etc/udev/rules.d/70-persistent-net.rules
# interface with MAC address "00:0c:29:43:28:11" will be assigned "eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:0c:29:43:28:11", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth0" # interface with MAC address "00:0c:29:43:28:1b" will be assigned "eth1" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:0c:29:43:28:1b", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth1"
After editing /etc/udev/rules.d/70-persistent-net.rules , reboot your machine to activate the interface name change.
Support Xmodulo
This website is made possible by minimal ads and your gracious donation via PayPal or credit card
Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.
Переименовываем интерфейсы в Ubuntu 18.04|20.04|22.04
В данной статье расcкажу как можно легко переименовать сетевые интерфейсы в Ubuntu 18.04|20.04|22.04.
Ещё в Ubuntu 16.04 для настройки сети мы использовали файл /etc/network/interfaces и при помощи команды servece networking restart запускали сделанные изменения, в указанном выше файле, в работу. Но уже начиная с Ubuntu 18.04 разработчики внедрили новый тип настройки сети – NetPlan, а также пересмотрели названия сетевых интерфейсов. Это вызвало некоторые неудобства с настройкой сети. Представьте что вы используете USB-modem, который в свою очередь поднимает сетевой интерфейс, и вместо названия eth0 выдает вам что-то вроде этого: nse45trg6504 . Как вы думаете в конфигурационном файле утилиты netplan будет удобно вбивать данное название? Думаю что НЕТ!
Но как изменить название интерфейса на более привычное? Да очень просто.
Переименовываем сетевой интерфейс в Ubuntu 18.04|20.04|22.04
Запускаем терминал на нашей системе. Сделать это можно нажав ctrl+T , ну или при помощи ssh подключения.
Далее смотрим какие интерфейсы присутствуют в нашей системе, для этого вводим следующую команду:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens0f1: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 4c:ed:fb:da:8c:c9 brd ff:ff:ff:ff:ff:ff
Альтернатива данной команде может быть старая команда ifconfig -a , но разработчики в сборках удалили её. Если хотите можете установить и её, для меня же она более наглядно выводит результат.
lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 35 bytes 4950 (4.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 35 bytes 4950 (4.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens0f1: flags=4099 mtu 1500 ether 4c:ed:fb:da:8c:c9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видно из вывода у меня в системе присутствует всего два интерфейса – это локальная петля lo и сетевой интерфейс ens0f1 . Вот как раз второй интерфейс мы и будем переименовывать.
Для этого запоминаем или скопируйте у данного интерфейса его MAC-адрес (информация в выводе выше). У меня он следующий: 4c:ed:fb:da:8c:c9
Далее открываем файл настроек утилиты netplan:
sudo nano /etc/netplan/00-installer-config.yaml
Вот теперь внесем изменения в данный файл.
Помните что в данном файле нужно четко соблюдать количество пробелов для блоков и ни в коем случае не использовать табуляцию.
# This is the network config written by 'subiquity' network: version: 2 ethernets: ens0f1: dhcp4: true
# This is the network config written by 'subiquity' network: version: 2 ethernets: eth0: dhcp4: true match: macaddress: 4c:ed:fb:da:8c:c9 set-name: eth0
После изменений вводим команду для проверки и применении настроек
если ошибок в файле не было, то должно появится вот такое окно с отчетом в 120 секунд:
Warning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socket Do you want to keep these settings? Press ENTER before the timeout to accept the new configuration Changes will revert in 120 seconds
Если же появились ошибки, то их необходимо исправить. В выводе будет указанна строка и порядковый номер в котором допустили ошибку. Еще раз повторюсь – не забываем о yaml синтаксисе при редактировании конфигурационного файла.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.
RSS
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата
Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на Читать
В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети). Существует два способа изменения Читать
В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать
Переименовываем сетевые интерфейсы в Linux
В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) до версии 197 и выше, многие пользователи были мягко говоря не довольны новым способом именования сетевых интерфейсов, например eth0 стал вдруг enp2s0.
Чтоб назначить имя сетевому интерфейсу в ручную, достаточно создать правило для udev.
Правила формируются в файлах расположенных по адресу:
/lib/udev/rules.d (возможно также /etc/udev/rules.d, в зависимости от дистрибутива)
Переименовываем название сетевых интерфейсов в Linux
Создадим файл 79-net-name.rules:
sudo touch /etc/udev/rules.d/79-net.rules
SUBSYSTEM=="net", ACTION=="add", ATTR=="08:00:27:17:c3:72", NAME="eth0"
Соответственно, в вашем случае необходимо заменить MAC адрес сетевого интерфейса, а также выбрать желаемое имя.
Чтобы узнать MAC адрес сетевого интерфейса введем следующую команду в терминале:
Правил в одном файле может быть несколько. Соответственно для каждого сетевого интерфейса прописываем свою строчку, меняя MAC адрес и имя интерфейса.
Перезагружаемся и радуемся старым и привычным именам сетевых интерфейсов.
На что здесь особо следует обратить внимание
- Название файла должно начинаться с номера меньше 80, для того чтоб правило обрабатывалось до стандартного правила:
- MAC адрес адаптера пишется в нижнем регистре, если его написать в верхнем регистре, например 08:00:27:17:С3:72, то правило не будет обработано.
В заключении, пожалуй ещё расскажу о том как отключить стандартные правила udev.
Отключаем стандартные правила udev
Проще всего это сделать добавив строчку net.ifnames=0 к параметрам загрузки ядра.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским
Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата
В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать
Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на Читать