Вот допилил debian live(в конфигурации minimal) для роутера.
Стартует это дело с флешки. Работать должно на любом(не старом) компе с двумя сетевухами.
Проблема в том, что иногда(когда сетевухи с разными чипами) имена у них скачут как попало.
И это при том, что МАС у них не меняется между ребутами(читал, что и такое бывает). Просто драйверы грузятся как попало(кстати кто ответит почему?). В логе это видно очень хорошо: то ядро зацепит одну сетевуху, то вторую... ну а что это за роутер у которого WAN интерфейс сегодня в одной дырке, а завтра в другой? )) кароче жЭсть.
Ну была мысль при первом запуске этот самый 70-persistent-net.rules сохранить, а потом подгружать.. но в общем хреть это. ибо задумывалось всё рид онли by design.
Поэкспериментировал немного. работает следующая схема:
1.Загружается система, стартует udev...генерит persistent-net.rules
2.Парсим persistent-net.rules, сортируем имена сетевух по МАС/драйверу/etc..
3.Выгружаем модули сетевух(их имена берутся из persistent-net.rules)
4.Загружаем модули сетевух, ядро генерит события, udev их подхватывает и уже пропускает через подготовленный .rules
5.На выходе имеем воспроизводимый порядок имён сетевух + никакой привязки к конкретному железу(live же всё-таки)
пока эти операции я проводил головой и руками.
мой опыт регулярных выражений ограничивается простенькими grep'ами и шпаргалкой с википедии )
чем бы распарсить это дело и заменить после сортировки NAME?
Формат известый, но напомню:
# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM==«net», ACTION==«add», DRIVERS=="?*", ATTR{address}==«04:4b:80:80:80:03», ATTR{type}==«1», ATTR{ifindex}==«3», KERNEL==«eth*», NAME=«eth1»
# PCI device 0x10de:0x0373 (forcedeth)
SUBSYSTEM==«net», ACTION==«add», DRIVERS=="?*", ATTR{address}==«04:4b:80:80:80:03», ATTR{type}==«1», ATTR{ifindex}==«2», KERNEL==«eth*», NAME=«eth0»
каждая сетевуха - одна строка. над ней камент(оттуда название модуля брать надо).
тут уже grep не очень эффективен, кажется..
на чём-то же должны делаться подобные парсеры. весь линух на текстовых конфигах.
подскажите, чтоб долго не мучался.
Ответ на:
комментарий
от Nastishka
Ответ на:
комментарий
от dx
Ответ на:
комментарий
от Nao
Ответ на:
комментарий
от dx
Ответ на:
комментарий
от Nastishka
Ответ на:
комментарий
от dx
Ответ на:
комментарий
от Nastishka
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум разброд и шатание в именах сетевых интерфейсов у udev (2023)
- Форум [ненависть][udev]сетевые интерфейсы. (2011)
- Форум udev, зачем ты переименовываешь сетевые интерфейсы? (2015)
- Форум Как получить mac из идентификатора шины pci ? (2009)
- Форум Убрать лишние подключения (2012)
- Форум Способы переименования сетевого интерфейса через udev (2023)
- Форум Как привязать имена eth к определенным USB портам? (2016)
- Форум [debian lenny] номер eth растет (2009)
- Форум udev 225 (не работает 80-net-setup-link.rules ) (2016)
- Форум Нумерация eth* (2013)