Linux нумерация Ethernet сбрасывается

когда Вы помещаете свой жесткий диск в другую машину, и Linux распознает новый NIC, будет новое число, присоединенное к eth например, eth0 -> eth1

Это ломает некоторые мои персональные сценарии, например, получите IP-адрес системы.

Там какой-либо путь состоит в том, чтобы сбросить число каждый раз, когда перезагрузка ИЛИ новый NIC найдены?

7
задан 26.04.2011, 06:10

3 ответа

Регистрируйте правила udev /etc/udev/rules.d.

В моем распределении Fedora существует автоматически записанное правило в 70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:f1:cc:2f:1a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

который ясно связывает Ethernet-адрес с именем устройства. Комментарии наверху файла дают хороший ключ к разгадке, как скорректировать это поведение.

12
ответ дан 07.12.2019, 14:37

Добавьте это к своему сценарию. Это, возможно, должно быть выполнено как корень в зависимости от Вашей системы.

ethX=`ifconfig -s | awk 'NR==2 {print $1}'`

Затем можно использовать $ethX как переменная к Вашему NIC.
Это просто берет вывод ifconfig -s и синтаксические анализы все за исключением текста на строке 2 и столбец 1.

2
ответ дан 07.12.2019, 14:37

Из того, что я понимаю, нумерация шины использования Linux для определения порядка интерфейсов и их нумерации в данной машине. Это может быть шина PCI, мини-PCI или безотносительно. В последнее время, из-за параллельных сценариев запуска всех видов и видов, вещи становились напрямую случайными иногда от одной начальной загрузки до другого (на самом деле, NICs более или менее назвали тем же на той же машине, но других устройствах не так).

Obviosuly, порядок устройств на шине изменяется с машины на машину. То, что не изменяется, является MAC-адресом.

Мое решение:

При использовании udev можно использовать правила конфигурации udev, подобные тем описанным здесь (для Debin, человечность подобна) вызвать привязку между определенным интерфейсом и MAC-адресом NIC.

Принцип "качество на риск покупателя": некоторые NICs действительно позволяют редактировать свои MAC. В этом случае это не будет работать.

Внеучебная информация: более твердая к реализации альтернатива должна была бы использовать новый механизм, который Матовые Domsch/Dell предлагают для Fedora, рассмотренного здесь

Насколько Ubuntu идет, существует предложение интегрировать ту схему в также. Согласно 1 выше: Хотя Fedora поставляет biosdevname сначала, другие дистрибутивы Linux, как также ожидают, примут его. Уже существует по сообщениям проект интеграции этого в Ubuntu 11.04 и запросе новых функций для включения в OpenSUSE также.

Надо надеяться, это помогает.

1
ответ дан 07.12.2019, 14:37

Теги

Похожие вопросы