Переименовываем интерфейсы в Ubuntu 18.04|20.04|22.04

2 комментария
network-logo

В данной статье рас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 подключения.

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

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> 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, но разработчики в сборках удалили её. Если хотите можете установить и её, для меня же она более наглядно выводит результат.

Для установки вводим:

sudo apt install net-tool

ну а далее

sudo ifconfig -a
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        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<UP,BROADCAST,MULTICAST>  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

После изменений вводим команду для проверки и применении настроек

sudo netplan try

если ошибок в файле не было, то должно появится вот такое окно с отчетом в 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
Configuration accepted.

Если же появились ошибки, то их необходимо исправить. В выводе будет указанна строка и порядковый номер в котором допустили ошибку. Еще раз повторюсь – не забываем о yaml синтаксисе при редактировании конфигурационного файла.

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

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

RSS

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

Вносим CAA запись в DNS (bind9)
dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

Установка Samba на Ubuntu Server 20.04
samba-logo

Сегодня установим и настроим наш файловый сервер Samba на Ubuntu Server 20.04. Расшарим директории для нашего сервера и установим на Читать

Как изменить hostname в Debian/Ubuntu ?
linux-logo

В этой статье я вам расскажу как изменить hostname в Debian/Ubuntu (обычно имя компьютера в сети). Существует два способа изменения Читать

Переименовываем сетевые интерфейсы в Linux
network-logo

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

5 1 голос
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

2 комментариев
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
Иван
Иван
14.04.2023 14:35

А как задать имя wifi интерфейсам?
Если указать

network:
  version: 2 
  wifis:
    wlan0:
      match:
        macaddress: 4c:ed:fb:da:8c:c9
      set-name: wlan0
...

то будет ошибка:
ERROR: wlan0: networkd backend does not support wifi with match:, only by interface name

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: