edge: Баг с сетевыми интерфейсами и его решение

4 сообщения / 0 new
Последнее сообщение
Гость
edge: Баг с сетевыми интерфейсами и его решение

Вот продолжаю тему типа ликбеза, на что нарвался и как решил. Пишу, чтобы другие не нарвались.
На днях решил обновить сервер. Как обычно скопировал .config старого ядра в папку с новым, сделал make oldconfig, перегрузился, и потерял сервак. Когда зашел с консоли, увидел, что тот интерфейс, который был раньше eth0, стал вдруг почему-то eth1. Убрал вообще загрузку модуля второй сетевухи из /etc/modules.autoload.d/kernel-2.6, и после перезагрузки увидел, что кернел сам подгрузил этот модуль снова и сделал его eth0. В принципе примерно догадался, что раз в ядре стоит опция "Automatic kernel module loading", то наверное так и будет происходить, но раньше это происходило корректно, то есть в той последовательности, как это указано в /etc/modules.autoload.d/kernel-2.6, а теперь получается как ядру понравится.. Ядро gentoo-sources-2.6.16-r7. Сетевухи собраны модулями.

Решение подсказали на форуме gentoo.org:

Лучший способ, это, конечно, переименовывать интерфейсы по мак-адресу.
В кратце это так:
1. создаем файлик /etc/udev/rules.d/99_netifaces.rules
2. загоняем туда следующие строчки, не забывая aa:aa:aa:aa:aa:aa и bb:bb:bb:bb:bb:bb заменить на соотв. маки.
Код:

KERNEL=="eth*", SYSFS{address}=="aa:aa:aa:aa:aa:aa", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="bb:bb:bb:bb:bb:bb", NAME="eth1"

3. Перегружаемся и наслаждаемся.

Кстати, место eth0 и eth1 в этих строчках можно написать хоть беса лысого, например "wan" и "local_network".

Подробнее тут http://www.debianhelp.co.uk/udev.htm
[ Редактирование ]

halt (не проверено)

кстати а это касается всех карточек? (у меня 2 одинаковые и не очень дружат между собой)

edge (не проверено)

Ну смотря как не дружат. Если местами меняются время от времени, то да, это решение. Если просто ip форвард в системе не включен - то это другое.

Vitls
Аватар пользователя Vitls
Не в сети
Зарегистрирован: 21/09/2010

Я вот попробовал погонять заменитель стандартных net-scripts под название etcnet. там такие вещи делаются довольно просто.
Рекомендую http://etcnet.org/

Дело не в том как болезнь вылечить.
Дело в том как других заразить.

RSS-материал