Olej писал(а):переименование сетевого интерфейса (ppp0 например)
Такие возможности оказываются чрезвычайно
мощным инструментом (или, по крайней мере
гибким ) при тестировании модулей, при экспериментах, или при конфигурировании программных пакетов, включающих модули ядра сетевых устройств, которые создают свои новые сетевые интерфейсы.
Но для использования этого инструмента нужно учесть несколько факторов. Там не всё так просто как кажется...
- пусть мы имеем первоначально систему с двумя интерфейсами (p2p1 и p7p1, это показано в VirtualBox, но и с нативными интерфейсами в точности то же самое):
Код: Выделить всё
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 p2p1
192.168.56.1 0.0.0.0 255.255.255.255 UH 0 0 0 p7p1
- изменить имя можно только для
остановленного интерфейса, в противном случае интерфейс будет «занят» для операции (в первоначальном примере wlan0 и был как-раз в остановленном состоянии):
Код: Выделить всё
$ sudo ip link set dev p7p1 name crypt0
RTNETLINK answers: Device or resource busy
- интерфейс нужно остановить для выполнения переименования, после чего снова поднять:
Код: Выделить всё
$ sudo ifconfig p7p1 down
$ sudo ip link set dev p7p1 name crypt0
$ sudo ifconfig crypt0 192.168.56.4
$ ip address show dev crypt0
3: crypt0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:08:9a:bd brd ff:ff:ff:ff:ff:ff
inet 192.168.56.3/32 brd 192.168.56.3 scope global crypt0
inet6 fe80::a00:27ff:fe08:9abd/64 scope link
valid_lft forever preferred_lft forever
- но после
остановки и перезапуска интерфейса разрушается соответствующая ему запись в таблице роутинга (такое произошло бы даже если бы мы и не переименовывали интерфейс, для исходного имени):
Код: Выделить всё
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 p2p1
- при полностью работающем интерфейсе crypt0 с присвоенным ему IP
создаётся впечатление его неработоспособности; для восстановления работы нужно добавить запись об интерфейсе в таблицу роутинга ... как-то так:
Код: Выделить всё
$ sudo route add -net 192.168.56.0 netmask 255.255.255.0 dev crypt0
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 p2p1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 p2p1
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 crypt0
- после чего можно убедиться в полной работоспособности интерфейса с новым именем:
Код: Выделить всё
$ ping 192.168.56.1
PING 192.168.56.1 (192.168.56.1) 56(84) bytes of data.
64 bytes from 192.168.56.1: icmp_req=1 ttl=64 time=0.422 ms
64 bytes from 192.168.56.1: icmp_req=2 ttl=64 time=0.239 ms
^C
--- 192.168.56.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.239/0.330/0.422/0.093 ms