Используя iproute2 можно задать своим сетевым интерфейсам осмысленные имена. Это работает для eth, br, tun/tap — в общем, для всего кроме ppp. У pppd есть параметр unit, но он позволяет задать только номер, а сделать вместо ppp0 что-то типа ppp.ukrtelecom он не даёт.
Есть ли способ как-то задать осмысленные имена для ppp-интерфейсов? Теоретически в iproute2 есть возможность переименовать любой интерфейс, но я не уверен, что переименование интерфейса в каком-нить /etc/ppp/ip-up скрипте это хорошая идея и не поломает pppd/pppoe.
[ "$1" = "ppp1" ] && ip link set dev $1 name ppp.ukrtel
в /etc/ppp/ip-up.d/00-rename.sh — не работает, выдаёт
RTNETLINK answers: Device or resource busy
Если вместо переименования сделать down/переименовать/up, то ошибки нет, но следующие ip-up скрипты вызываются со старым именем интерфейса (ppp1) в $1 и ничего не работает.
и в результате интерфейс перестал подниматься вообще. Причём до запуска ip-up скриптов оно не доходит. В логах вот это:
PAP authentication succeeded
ioctl(SIOCSIFADDR): No such device (line 2381)
Couldn't get PPP statistics: No such device
ioctl (SIOCGIFFLAGS): No such device (line 2341)
ioctl(SIOCSIFADDR): No such device (line 2509)
Осмысленные имена можно задавать только через явный вызов чего-нибудь на подобии 'ip link set down dev… && ip link set name… dev… && ip link set up dev ...' откуда-нибудь из ip-up скриптов, которые дёргает pppd после поднятия интерфейса, при этом не будет побочных эффектов в виде повторного вызова ip-up скриптов. Так же в конфигурации pppd можно использовать опцию 'unit', чтобы задать номер в имени ppp-интерфейса. интерфейса, но это работает только для подключений в роли клиента.