notes/rename_network_int.md

96 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Переименовать сетевой интерфейс в 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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"
```
После перезагрузки будет применено новое имя.