Автобиография
Програми
Web Blog B
 
O Y A N   B O Y C H E
V Скинове & Fonts
Книга за Гости Игри
Лични Снимки Михаел Шумахер
Моите Приятели       Връзки
Меню
   
Инфо
 
Вашето IP:
 3.129.216.15
 
Дата и час:
23 Ноември 2024
15:40:22
 
Последна актуализация:
04 Януари 2024
 
Вие сте посетител №:
11.2024г. 2207
(2024г.) (0)

Посетители - ботове:
11.2024г. 2207
(2024г.) (42917)

 
 

Valid XHTML 1.0 Transitional

 
Новини
Задаване на име на мрежова карта в Linux използвайки udev
Gentoo Linux и udev-103
Четвъртък, 25 Януари 2007
Програмата udev позволява на Linux потребителите да имат динамична /dev директория и дава възможност за задаване на постоянни имена на хардуерните устройства.

Частен случай на описаното по горе е задаването на постоянно име на мрежова карта. Това може да ви се наложи при конфигурирането на Linux Gateway машина, разбира се с повече от един мрежови интерфейс. В този случай реда на мрежовите интерфейси са от съществено значение и всяка една промяна на този ред би довело до значителни проблеми. В тази статия ще дам пример с конфигурирането на три мрежови интерфейса и на проблемите, които се натъкнах по време на тази операция.

Редът на мрежовите интерфейси може разбира се да се промени и с използването на други методи. Тук ще спомена само стандартния начин на задаване на псевдоними (aliases), когато драйверите на мрежовите карти не са компилирани директно в ядрото, а могат да се добавят като модули. В Gentoo този ред се задава в файла /etc/modules.d/aliases по този начин:
Примерен код
alias eth0 3c59x
alias eth1 e100
alias eth2 8139too

Когато драйверите са вградени директно в ядрото или съществуват две мрежови карти, които използуват един и същ драйвер този метод е неприложим.

Затова ако използваме udev може с няколко прости правила да решим проблема. В Gentoo Linux в директория /etc/udev/rules.d се намират всички udev правила. В тази директория трябва да се намират и следните два файла:
1) 70-persistent-net.rules ;
2) 75-persistent-net-generator.rules .

Важният за нас файл е 70-persistent-net.rules, в който udev е генерирал правила задаващи постоянните имена на мрежовите интерфейси. Ако този файл не съществува, вие може ръчно да го създадете или като извикате командата:
/lib/udev/write_net_rules all_interfaces
Съдържанието на файла 70-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.

# First network card
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

# Second network card
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="yy:yy:yy:yy:yy:yy", NAME="eth1"

# Third network card
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="zz:zz:zz:zz:zz:zz", NAME="eth2"


За уникален атрибут за идентифицирането на името на картата (eth0, eth1 и eth2) се използва MAC адреса на мрежовата карта. Името на дадена карта може да бъде произволна, като например LAN, DMZ, WAN, но в последствие трябва да се променят всички настройки в /etc където са указани предишните имена.

Бележка: Важно е да се запомни че udev различава малки и големи букви (case sensitive) и MAC адреса трябва да бъде написан само с малки букви.

Повече информация за всяка мрежова карта може да получите като изпълните следната команда за eth0:
Цитат
udevinfo -a -p /sys/class/net/eth0

или за да получите само MAC адреса на eth0:
Цитат
udevinfo -a -p /sys/class/net/eth0 | grep address | sed 's/"/ /g' | awk '{print $2}'


След извършените по горе настройки рестартирайте машината и проверете дали всичко в според указаните правила.

Възможно е при зареждането на системата да видите следния надпис:
Цитат
udevd-event[3110]: rename_netif: error changing net interface name eth0_rename to eth1: No such device.


Може да намерите информация за справяне с този проблем на http://bugs.gentoo.org/show_bug.cgi?id=158531

Още много полезна и подробна информация, която значително помогна и на мен:


Ако създавате други свои собствени правила е препоръчително записването им в нов файл /etc/udev/rules.d/10-local.rules , който ще се извика значително по-рано от останалите правила.

Публикувано в Софтуер

Коментари (0)

[ Зареди друг код ]  CAPTCHA Image


<< Назад
© Боян Бойчев