При наличии нескольких одинаковых сетевых карт, чтобы гарантировать, что eth0, eth1,.. всегда будут
закреплены за одними и теми же картами, можно огранизовать привязку имени к MAC адресу:В /etc/mactab добавляем:
eth0 00:23:B7:89:39:E2
eth1 00:08:A3:20:F8:29
eth2 00:50:BA:29:B7:32Для Debian GNU/Linux создаем скрипт /etc/network/if-pre-up.d/nameif
#!/bin/sh
PATH=/sbin
nameif -с /etc/mactabДля других Linux дистрибутивов нужно на начальном этапе инициализаци выполнить:
/sbin/nameif eth0 00:23:B7:89:39:E2
/sbin/nameif eth1 00:08:A3:20:F8:29
/sbin/nameif eth2 00:50:BA:29:B7:32URL: http://www.debian-administration.org/articles/463
Обсуждается: http://www.opennet.me/tips/info/1335.shtml
В Fedora core в найстройках интерфеса написать:
HWADDR=00:E0:4C:D0:5F:68
вот понакрутили себе скриптов !
не забываем что всё это конфигурируется через ifconfig...
2 kuzmich, scaramuch
Наверное не так поняли
тут идет привязка имени интерфейса к МАК адресу
а не назначение МАК адреса для интерфейса
Я как раз и написал привязку, а не назначение.
Попал один раз в неприятную ситуацию: обновил ОС на роутере, конфигурационные файлы просто перенес со старой машины, долго разбирался почему при каждой перезагрузке интерфейсы плавают. Полечил как показано выше.
А никто не слышал как можно жестко привязать SNMP ID к интерфесу ? А то удаляешь vlan, и после ребута все номера сдвигаются :-(
самое смешное что стартовые скрипты centos/redhat написаны так, что после внесения HWADDR и перезапуске интерфейса/рестарте сервака он виснет намертво. скриптописатели хреновы.
А надо MACADDR писать
В редхатообразных это все реализовано:
- берется устройство с с маком из переменной HWADDR
- назначается мак присвоенный переменной MACADDR
- назначается йп-адрес из переменной IPADDR
- переиминовывается в DEVICEТак что ничего городить не надо в преапах - все придумано до нас.
А в убунту для этого /etc/iftab
Не правда!
За это отвечает файл /etc/udev/rules.d/70-persistent-net.rules
debian/unstable
выгружаем драйвера сетевых карт,
в /etc/udev/rules.d/z25_persistent-net.rules правим имена сетевых интерфейсов, загружаем драйвера обратно - получили нужные имена интерфейсов.
если вы используете initrd то его надо пересобрать для того чтоб сохранить значения после перезагрузки.
есть очень интересный документ на эту тему http://www.reactivated.net/writing_udev_rules.html
А это...
Package: ifrename
Description: Rename network interfaces based on various static criteria
Ifrename allow the user to decide what name a network interface will have.
Ifrename can use a variety of selectors to specify how interface names match
the network interfaces on the system, the most common selector is the
interface MAC address.
У меня ifname ругается:cannot change name of eth0 to eth1: filename exists
Поможете?
[quote]cannot change name of eth0 to eth1: filename exists
Поможете?
[/quote]Вынуть вторую сетевую?
Спасибо огромное! Была проблема с самопроизвольным появлением интерфейса _rename в Fedora 12, статья помогла вылечить. Правда, интерфейс переименовался только в вычлюченном (down) виде.
По поводу /etc/udev/rules.d/z25_persistent-net.rules помогло в debian. Даже штшекв пересобирать не пришлось.