The OpenNET Project / Index page

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

Приведение номеров интерфейсов Linux в соответствие с BIOS

31.07.2007 17:24

В заметке "Ethernet device naming" представлено три способа фиксации номеров интерфейсов сетевых карт в Linux, с приведением порядка их нумерации в соответствие с BIOS.

  1. Главная ссылка к новости (http://direct2dell.com/one2one...)
Лицензия: CC-BY
Тип: английский / Практикум
Короткая ссылка: https://opennet.ru/11605-linux
Ключевые слова: linux, ethernet, device, driver, hardware, bios
Поддержать дальнейшую публикацию новостей на OpenNET.


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, vbv (ok), 20:46, 31/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не могу представить зачем это может понадобиться :(
     
     
  • 2.2, usr (?), 21:30, 31/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Например, на собеседовании скажут: "А теперь покажи что-нибудь такое-эдакое :)". Если в kernel включат.
     
  • 2.3, _umka_ (ok), 21:41, 31/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    очень простой момент. wifi в ноуте. если оно включено при старте - оно eth0, если выключено было (для сохранения батарей) и включено позже - eth1.
    настройки как будем привязывать ? ;)
     
     
  • 3.4, tosha (?), 22:05, 31/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    udev ?
     
     
  • 4.9, _umka_ (ok), 08:06, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    не работает :)
    через alias в modprobe.conf тоже.
    пока единственная рабочая конфигурация - это привязка к mac.
     
     
  • 5.10, Zert (?), 08:17, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    udev позволяет к макадресу привязывать, к драйверу. у меня дома таки и сделано.
     
     
  • 6.15, Аноним (-), 13:27, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    как это udev позволяет привязываться к драйверу?
     
     
  • 7.17, Zert (?), 13:35, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в правилах: DRIVER=
    если сетевые на разных чипах
     
     
  • 8.18, nuclight (?), 14:07, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и пришли к тому, что в других юниксах от рождения - именования интерфейса ... текст свёрнут, показать
     
     
  • 9.20, Zert (?), 14:33, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Это не совсем то, udev позволяет назначать произвольные имена ... текст свёрнут, показать
     
     
  • 10.21, mr_gfd (?), 15:59, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    FreeBSD тоже умеет причем ой как давно ... текст свёрнут, показать
     
     
  • 11.22, Zert (?), 18:17, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Смотри начало треда ... текст свёрнут, показать
     
  • 9.24, gvy (ok), 21:45, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Отнюдь Если когда-нить сталкивались с несколькими интерфейсами на одном драйве... текст свёрнут, показать
     
     
  • 10.29, Zverushka (?), 05:24, 03/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    вот вот именно три RTL на тачке и всё - труба методом научного тыка выясняешь... текст свёрнут, показать
     
  • 3.5, gvy (ok), 23:29, 31/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ifrename и /etc/iftab, например.
     
     
  • 4.7, Billy (??), 06:12, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    в дебиане не нашел не ifrename не iftab
     
     
  • 5.8, Антон (??), 06:59, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В Etch и так все привязывается.
     
     
  • 6.27, TS (?), 10:35, 02/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >В Etch и так все привязывается.

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

     
  • 5.23, Sargan (?), 18:41, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    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

    И все.

     
  • 4.16, Аноним (-), 13:28, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    ifrename - depriated
     

  • 1.6, AntreKotik (?), 05:37, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а разве макадреса стали меняться при старте карточки теперь?
     
     
  • 2.19, Аноним (-), 14:12, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    а разве мак адреса постоянно? а если сгорит сетевуха? а если при этом машина за 100 км от тебя? и там сидит человек, кторый может воткнуть новую сетевуху, но ничего больше не может???? и что ты его будешь просить бутать тачку, пока юдеву не взблагорассудится вернуть сетевые интерфейсы в порядок??
     

  • 1.11, Den (??), 10:43, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мак адреса не меняются но при старте системы был глюк или фича, когда две одинаковые карты ( драйвер 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 нужно писать маленькими буквами и цифрами иначе долго будете искать проблему.

     
     
  • 2.12, gvy (ok), 11:26, 01/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >мак адреса не меняются но при старте системы был глюк или фича, когда две одинаковые карты
    >( драйвер 8139too) при перезагрузке менялись именами

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

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

     

  • 1.13, iv (?), 12:08, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    nameif опять же, перечислил таблицу имен интерфейсов и их МАСов в /etc/mactab и спи спокойно, у меня так и сделано.

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

     
  • 1.14, Аноним (-), 13:26, 01/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    полезная фишка, но пока сыровата.
     
  • 1.25, Bocha (??), 06:28, 02/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне в Линуксе это кстати всегда не нравилось. во FreeBSD интерфейс называется именем драйвера, то есть фактически имя интерфейса есть короткое название сетевухи, xl для 3Ком, em для Intel, rl для риалтек и так далее. ИМХО гораздо нагляднее без лишних подкручиваний.
     
     
  • 2.26, gvy (ok), 10:00, 02/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне в Линуксе это кстати всегда не нравилось. во 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}/, чего достаточно для всех мыслимых мне случаев).

     
     
  • 3.28, nuclight (?), 15:40, 02/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    В случае двух карточек на разных чипах проблемы с eth0/eth1 не возникнет независимо от их расположения в слотах. Что же касается логических сущностей, то это просто общая схема именования всех устройств вообще. Специально для интерфейсов же есть переименование; монтировать же диски по метке FreeBSD тоже умеет.
     

  • 1.30, Аноним2 (?), 12:38, 06/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да все очень просто делается через 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"

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:
    При перепечатке указание ссылки на opennet.ru обязательно



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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