96 lines
3.0 KiB
Markdown
96 lines
3.0 KiB
Markdown
# Переименовать сетевой интерфейс в 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"
|
||
```
|
||
|
||
После перезагрузки будет применено новое имя.
|