The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как надёжно в скрипте получать имя сетевого интерфейса?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Система. проблемы, диагностика / Linux)
Изначальное сообщение [ Отслеживать ]

"Как надёжно в скрипте получать имя сетевого интерфейса?"  +/
Сообщение от And (??), 26-Апр-20, 11:40 
Как надёжно предсказывать имена сетевых интерфейсов или зафиксировать имена? Какой способ тру и прямой?

Интерфейсы под витую пару и Wi-Fi. В зависимости от подключённой сети имена плавают. Видимо, фиксировать на базе MAC адресов, если нет более подходящих (проводный, беспроводный, б\п технология).

Можно грепать в /sys/class/net/ Можно грепать в результатах ip addr
Судя по https://wiki.debian.org/NetworkInterfaceNames#How_to_migrate...
вот он - тру-вэй, но удивительно как-то:


while read dirname
do
    echo ""
    echo "=== $( basename "$dirname" ) === $( cat $dirname/address )  ==="
    udevadm test-builtin net_id $dirname
done <<< "$( find /sys/class/net/ -maxdepth 1 -type l | egrep -v "/lo$" )"

Есть другие, может более прямые, методы?

В первую очередь интересны независимые от дистрибутива способы. Прежние схемы наименований с net.ifnames и т.п. потихоньку выпиливают, насколько понимаю - https://wiki.debian.org/NetworkInterfaceNames#How_to_get_it_...


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 26-Апр-20, 13:07   +/
> Есть другие, может более прямые, методы?

Более прямой метод - настроить постоянные имена интерфейсов.

> В первую очередь интересны независимые от дистрибутива способы. Прежние схемы наименований
> с net.ifnames и т.п. потихоньку выпиливают, насколько понимаю

Наоборот, впиливают: http://vasilisc.com/stateless-persistent-network-interface-n...
Видимо у вас что-то пошло не так в процессе.

Я у себя ручками правлю /etc/udev/rules.d/70-persistent-net.rules - благо железо не часто меняется. Да и удобно помнить, что eth0 всегда смотрит в интернет, а eth1 - в локалку. Когда понадобилось сделать мост - назвал интерфейсы lan1 и lan2, объединил их в br1 и тоже не путаюсь.

Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру