понедельник, 29 октября 2007 г.

Привязка имен сетевых интерфейсов в Linux

Потребовалось мне изменить имя сетевого интерфейса с eth3 на eth1, покурив
Google я нашел пару способов. И так, по порядку:


Способ 1:
редактируем файлик /etc/udev/rules.d/z25_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.
# MAC addresses must be written in lowercase.

# PCI device 0x8086:0x103d (e100)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:06:1b:ce:6f:ef", NAME="eth0"

# PCI device 0x13d1:0xab06 (8139too)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:98:d1:fe:0c", NAME="eth2"

# PCI device 0x8086:0x1043 (ipw2100)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:0c:f1:07:9b:3c", NAME="eth3"


и меняем eth3 на eth1 и делаем reboot.




Способ 2:

При наличии нескольких одинаковых сетевых карт, чтобы гарантировать, что 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 -c /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:32

ссылка на оригинал http://www.opennet.ru/tips/info/1335.shtml

2 комментария:

virens комментирует...

Спасибо, полезная статья, часто спрашивают об этом на форумах.

Анонимный комментирует...

В Ubuntu такой файлик есть точно: /etc/iftab