URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 38101
[ Назад ]

Исходное сообщение
"OpenNews: Приведение номеров интерфейсов Linux в соответствие с BIOS"

Отправлено opennews , 31-Июл-07 20:46 
В заметке "Ethernet device naming (http://direct2dell.com/one2one/archive/2007/07/30/22883.aspx)" представлено три способа фиксации номеров интерфейсов сетевых карт в Linux, с приведением порядка их нумерации в соответствие с BIOS.

URL: http://direct2dell.com/one2one/archive/2007/07/30/22883.aspx
Новость: http://www.opennet.me/opennews/art.shtml?num=11605


Содержание

Сообщения в этом обсуждении
"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено vbv , 31-Июл-07 20:46 
Не могу представить зачем это может понадобиться :(

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено usr , 31-Июл-07 21:30 
Например, на собеседовании скажут: "А теперь покажи что-нибудь такое-эдакое :)". Если в kernel включат.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено _umka_ , 31-Июл-07 21:41 
очень простой момент. wifi в ноуте. если оно включено при старте - оно eth0, если выключено было (для сохранения батарей) и включено позже - eth1.
настройки как будем привязывать ? ;)

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено tosha , 31-Июл-07 22:05 
udev ?

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено _umka_ , 01-Авг-07 08:06 
не работает :)
через alias в modprobe.conf тоже.
пока единственная рабочая конфигурация - это привязка к mac.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Zert , 01-Авг-07 08:17 
udev позволяет к макадресу привязывать, к драйверу. у меня дома таки и сделано.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Аноним , 01-Авг-07 13:27 
как это udev позволяет привязываться к драйверу?

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Zert , 01-Авг-07 13:35 
в правилах: DRIVER=
если сетевые на разных чипах

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено nuclight , 01-Авг-07 14:07 
Ага, и пришли к тому, что в других  юниксах от рождения - именования интерфейса в зависимости от драйвера.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Zert , 01-Авг-07 14:33 
Это не совсем то, udev позволяет назначать произвольные имена.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено mr_gfd , 01-Авг-07 15:59 
FreeBSD тоже умеет. причем ой как давно.....

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Zert , 01-Авг-07 18:17 
Смотри начало треда

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено gvy , 01-Авг-07 21:45 
>Ага, и пришли к тому, что в других  юниксах от рождения
>- именования интерфейса в зависимости от драйвера.

Отнюдь.  Если когда-нить сталкивались с несколькими интерфейсами на одном драйвере, то могли бы и сами догадаться, в чём разница.


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Zverushka , 03-Авг-07 05:24 
вот вот именно три RTL на тачке и всё - труба
методом "научного тыка" выясняешь какой где и когда :)

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено gvy , 31-Июл-07 23:29 
ifrename и /etc/iftab, например.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Billy , 01-Авг-07 06:12 
в дебиане не нашел не ifrename не iftab

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Антон , 01-Авг-07 06:59 
В Etch и так все привязывается.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено TS , 02-Авг-07 10:35 
>В Etch и так все привязывается.

Спасибо тебе, добрый человек - то что нужно было.


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Sargan , 01-Авг-07 18:41 
cat  /etc/network/if-pre-up.d/nameif

#!/bin/sh
PATH=/sbin
nameif -c /etc/mactab


cat /etc/mactab
eth0 00:02:44:4E:A6:29
eth1 00:05:1C:0A:AF:03

И все.


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Аноним , 01-Авг-07 13:28 
ifrename - depriated

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено AntreKotik , 01-Авг-07 05:37 
а разве макадреса стали меняться при старте карточки теперь?

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Аноним , 01-Авг-07 14:12 
а разве мак адреса постоянно? а если сгорит сетевуха? а если при этом машина за 100 км от тебя? и там сидит человек, кторый может воткнуть новую сетевуху, но ничего больше не может???? и что ты его будешь просить бутать тачку, пока юдеву не взблагорассудится вернуть сетевые интерфейсы в порядок??

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Den , 01-Авг-07 10:43 
мак адреса не меняются но при старте системы был глюк или фича, когда две одинаковые карты ( драйвер 8139too) при перезагрузке менялись именами, eth0 -> eth1, eth1 -> eth0. И так оно свопалось местами рпз через раз. Решилось созданием файлика 10-local.rules:
KERNEL=="eth*", SYSFS{address}=="00:50:8b:0b:6e:43", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:e0:40:5b:bb:32", NAME="eth1"

причем mac нужно писать маленькими буквами и цифрами иначе долго будете искать проблему.


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено gvy , 01-Авг-07 11:26 
>мак адреса не меняются но при старте системы был глюк или фича, когда две одинаковые карты
>( драйвер 8139too) при перезагрузке менялись именами

Это также бывает при съездах в коде ACPI ("ядро обновил") или его включении/отключении, перешивке BIOS и вроде бы ещё когда-то.  При этом может меняться порядок обнаружения PCI-устройств.

Насчёт "маки не меняются" -- мож кому пригодится, но на староватом forcedeth и чём-то вроде MCP54 бывало так, что MAC прыгал случайным образом.  Будто драйвер не из той области памяти что-то забирал для него в итоге.  На текущем всё в порядке.


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено iv , 01-Авг-07 12:08 
nameif опять же, перечислил таблицу имен интерфейсов и их МАСов в /etc/mactab и спи спокойно, у меня так и сделано.

Столкнулся с проблемой, что PPPoE  не срабатывало, оказалось что интерфейс на котором модем плавал eth3 <-> eth4 и PPPoE соединение пыталось установиться совсем с другого интерфейса, соответственно обламывалось. Как прописал статически имена, так плавать перестало, даже при смене ядра все на месте.
Рецепт был в свое время взят отсюда, с www.opennet.ru


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Аноним , 01-Авг-07 13:26 
полезная фишка, но пока сыровата.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Bocha , 02-Авг-07 06:28 
Мне в Линуксе это кстати всегда не нравилось. во FreeBSD интерфейс называется именем драйвера, то есть фактически имя интерфейса есть короткое название сетевухи, xl для 3Ком, em для Intel, rl для риалтек и так далее. ИМХО гораздо нагляднее без лишних подкручиваний.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено gvy , 02-Авг-07 10:00 
>Мне в Линуксе это кстати всегда не нравилось. во FreeBSD интерфейс называется
>именем драйвера, то есть фактически имя интерфейса есть короткое название сетевухи,
>xl для 3Ком, em для Intel, rl для риалтек и так
>далее. ИМХО гораздо нагляднее без лишних подкручиваний.

Никогда не доводилось менять интерфейс, особенно вместе с материнкой?

"В линуксе" получается привязаться к тому, что ближе к остальной инфраструктуре -- MAC-адресу (или при желании -- к PCI-слоту).  При этом можно обозвать интерфейсы, скажем, wan и lan или stream, home, neigh и применять эти названия в правилах файрвола вне зависимости от того, какой именно чип там стоит.  И это очень правильно, поскольку физический чип и логический интерфейс на _разных_ уровнях абстракции.  Вылазит это именно при замене чипа на другой или добавлении ещё одного такого же в систему.

Собственно, это даже не претензия, а хинт, касательно даже не "во FreeBSD", а политики именования логических сущностей по подлежащей физической.  "В линуксе" вон копают в сторону унификации именования дисков (hda->sda); при давно реализованной возможности монтирования тома по LABEL или UUID даже отсутствие фиксации между номером такого диска и его физическим подключением не особо мешает (хотя с udev вообще получается /dev/disk/by-{id,label,path,uuid}/, чего достаточно для всех мыслимых мне случаев).


"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено nuclight , 02-Авг-07 15:40 
В случае двух карточек на разных чипах проблемы с eth0/eth1 не возникнет независимо от их расположения в слотах. Что же касается логических сущностей, то это просто общая схема именования всех устройств вообще. Специально для интерфейсов же есть переименование; монтировать же диски по метке FreeBSD тоже умеет.

"Приведение номеров интерфейсов Linux в соответствие с BIOS"
Отправлено Аноним2 , 06-Авг-07 12:38 
да все очень просто делается через udev и нет проблемы с одинаковыми сетевухами
cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:04:75:e2:e8:64", NAME="eth0"

# PCI device 0x10b7:0x9050 (3c59x)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:10:4b:ac:ce:42", NAME="eth1"