# Переименовать сетевой интерфейс в Linux Выполнялось на Debian 12 ## Способ 1 - SystemD Порядок действий: 1. Погасить интерфейс 2. Создать правило именования 3. Изменить сетевые настройки - указать новое имя 4. Выполнить перезагрузку - `systemctl restart systemd-udev-trigger.service` 5. Включить интерфейс *** Имеем: ```shell root@vm-qw-74:~# ip a sh ens18 2: ens18: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether bc:24:11:00:1b:aa brd ff:ff:ff:ff:ff:ff altname enp0s18 inet 193.3.184.249/24 brd 193.3.184.255 scope global ens18 valid_lft forever preferred_lft forever inet6 fe80::be24:11ff:fe00:1baa/64 scope link valid_lft forever preferred_lft forever root@vm-qw-74:~# root@vm-qw-74:~# ip a sh ens19 3: ens19: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether bc:24:11:1d:fa:fe brd ff:ff:ff:ff:ff:ff altname enp0s19 inet 10.66.11.80/20 brd 10.66.15.255 scope global ens19 valid_lft forever preferred_lft forever inet6 fe80::be24:11ff:fe1d:fafe/64 scope link valid_lft forever preferred_lft forever ``` ```shell root@vm-qw-74:~# cat /etc/network/interfaces ... allow-hotplug ens18 iface ens18 inet static address 193.3.184.249 gateway 193.3.184.1 allow-hotplug ens19 iface ens19 inet static address 10.66.11.80/20 ``` **Необходимо интерфейс `ens18` переименовать в `wan1`** Т.к. для выполнения работ интерфейс необходимо отключать, при удалённом подключении все действия нужно выполнить одной командой в конвеере Команда - `ip a sh ens18 | grep link/ether | awk '{print $2}'` покажет mac адрес для `ens18` ```shell old_name=ens18 new_name=wan1 mac=$(ip a sh $old_name | grep link/ether | awk '{print $2}') ifdown $old_name sed -i "s/$old_name/$new_name/" /etc/network/interfaces cat << EOF > /etc/systemd/network/10-$new_name.link [Match] MACAddress=$mac [Link] Name=$new_name EOF systemctl restart systemd-udev-trigger.service sleep 0.5 ifup $new_name ``` _для обратного переименования, предварительно нужно удалить файл - `/etc/systemd/network/10-$new_name.link`_ ## Способ 2 - Правило udev Имеем - старое имя - `eth0` - mac - `02:42:ac:11:00:02` - новое имя - `neweth0` ```shell sudo nano /etc/udev/rules.d/70-persistent-net.rules ``` ```shell SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:42:ac:11:00:02", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="neweth0" ``` После перезагрузки будет применено новое имя.