# Ethernet интерфейсы шутят

## 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

Сетевухи собраны модулями.Last edited by edge on Sun May 21, 2006 5:02 pm; edited 1 time in total

----------

## ZmiyGorinich

У меня была такая проблема но только я переставил в слотах PCI карты местами...

Ядро какую сетевую первым определит, та и будет eth0

----------

## edge

 *ZmiyGorinich wrote:*   

> У меня была такая проблема но только я переставил в слотах PCI карты местами...
> 
> Ядро какую сетевую первым определит, та и будет eth0

 

Решение есть?

----------

## Laitr Keiows

Что-то такое связанное с UDEV вспоминается... Щас не скажу, но man посмотреть стоит.

----------

## ZByte

А не проще ли просто изменить в конфигах имена интерефейсов, это же, как правило, всего два файла.

----------

## fedukoff

Лучший способ, это, конечно, переименовывать интерфейсы по мак-адресу.

В кратце это так:

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

----------

## edge

 *ZByte wrote:*   

> А не проще ли просто изменить в конфигах имена интерефейсов, это же, как правило, всего два файла.

 

И что это даст? Дело-то в том, что неважно как я обзову интеловскую сетевуху, eth0 или eth1, в один раз ее модуль загрузился первым, а при следующей перезагрузке уже вторым. А кабель-то автоматически не перепрыгивает на другой разъем..

----------

## edge

 *fedukoff wrote:*   

> Лучший способ, это, конечно, переименовывать интерфейсы по мак-адресу.
> 
> Подробнее тут http://www.debianhelp.co.uk/udev.htm

 

Да, это в принципе решает проблему, спасибо, и судя по статье это оказалось обычным явлением, но странно это. По-моему должно как-то проще решаться.

----------

## 046

Всегда сетевухи фиксировались мак адресами. Других отличий у них может просто не быть.

----------

## edge

 *046 wrote:*   

> Всегда сетевухи фиксировались мак адресами. Других отличий у них может просто не быть.

 

Да ну нафиг. По-моему всегда фиксировались PCI слотами, на которых стоят. Мне кажется ядру до фени, какой у сетевой карты мак адрес на этапе обнаружения устройства. Опрос шины же имеет какую-то последовательность..

----------

## Laitr Keiows

3.h. MAC Address

Мак-адрес и поменять можно, даже рэндомно...

----------

## fedukoff

 *edge wrote:*   

> По-моему должно как-то проще решаться.

 

Ничего сложного тут нету... две строчки в файлик добавить  :Wink: 

----------

## 046

 *edge wrote:*   

> По-моему всегда фиксировались PCI слотами, на которых стоят.

  PCI слоты были не всегда. Сетевухи тоже не всегда PCI. Слоты ничем (практически) не отличаются. 

 *edge wrote:*   

> Опрос шины же имеет какую-то последовательность..

 От который не требуется чтобы она была постоянной. И постоянной она не является.

----------

## edge

 *046 wrote:*   

>  *edge wrote:*   По-моему всегда фиксировались PCI слотами, на которых стоят.  PCI слоты были не всегда. Сетевухи тоже не всегда PCI. Слоты ничем (практически) не отличаются. 
> 
>  *edge wrote:*   Опрос шины же имеет какую-то последовательность.. От который не требуется чтобы она была постоянной. И постоянной она не является.

 

Ну почему тогда начиная с 1997 г. до сегодняшнего момента я никогда не задавался вопросом, как привязать мак адрес к конкретной сетевухе, чтобы она всегда была eth0 а не поменялась вдруг на eth1 при очередной перезагрузке? Раньше все работало и как-то четко определяло что за чем.

----------

## fedukoff

 *edge wrote:*   

> Ну почему тогда

 

Может, по тому, что все меняется? И иногда кардинально...   :Embarassed: 

----------

