русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание стабильных имен для сетевых интерфейсов


Дата добавления: 2014-11-28; просмотров: 692; Нарушение авторских прав


Если используется Udev и модульные сетевые драйверы, то по умолчанию нумерация сетевых интерфейсов не сохраняется между перезагрузками, т.к. драйверы загружаются параллельно и, следовательно, в случайном порядке. Например, на компьютере с двумя сетевыми картами, изготовленными Intel и Realtek, сетевая карта, изготовленная Intel, может получить имя eth0, а карта Realtek - eth1. Иногда после перезагрузки имена карт могут назначаться в обратном порядке. Чтобы избежать этого, Udev поставляется со скриптом и некоторыми правилами, которые используя МАС-адреса сетевых карт назначают им стабильные имена.

Сначала нужно создать правила, которые обеспечат, что при каждой загрузке, в том числе и первой, одним и тем же устройствам будут назначаться одни и те же имена:

for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NICdone

Теперь, проверьте файл /etc/udev/rules.d/70-persistent-net.rules, чтобы узнать, какое имя какому сетевому устройству было назначено:

cat /etc/udev/rules.d/70-persistent-net.rules

Файл начинается с блока комментариев, за которым для каждой сетевой платы следуют две строки. Первая строка каждой сетевой платы является закомментированным описанием, в котором указываются аппаратные идентификаторы сетевых плат (например, идентификаторы изготовителя устройства и шины PCI, если это карты PCI), а также их драйверы, указанными в скобках, если их можно найти. Ни аппаратный идентификатор, ни драйвер не используются для присваивания имени интерфейсу; это лишь справочная информация. Вторая строка является правилом Udev, которое применяется к конкретной плате сетевого интерфейса и фактически назначает ему имя.

Все правила Udev состоят из нескольких ключей, разделенных запятыми и необязательными пробелами. Ниже перечислены ключи и для каждого из них приведено пояснение:



  • SUBSYSTEM=="net" - Этот ключ указывает Udev игнорировать устройства, которые не являются сетевыми картами
  • ACTION=="add" - Этот ключ указывает Udev игнорировать это правило для событий uevent, не связанных с добавлением устройств (также возможны события uevents вида "remove" - "удалить" и "change" — "изменить", но для них переименовать сетевые интерфейсы не нужно).
  • DRIVERS=="?*" - Этот ключ существует для того, чтобы Udev игнорировал подинтерфейсы VLAN или bridge (т. к. для этих подинтерфейсов нет драйверов). Эти подинтерфейсы пропускаются, поскольку имена, которые могут быть им назначены, будут вступать в коллизию с именами для устройств, от которых порождены эти подинтерфейсы.
  • ATTR{address} - Значением этого ключа является MAC-адрес сетевой платы.
  • ATTR{type}=="1" - Этот ключ обеспечит, что в тех случаях, когда используются определенные беспроводные драйверы, создающие несколько виртуальных интерфейсов, правило будет применяться только к первичному интерфейсу. Вторичные интерфейсы пропускаются по той же причине, по которой пропускаются подинтерфейсы VLAN и bridge: в противном случае возможны коллизии имен.
  • KERNEL=="eth*" - Этот ключ был добавлен в генератор правил Udev что обслуживать машины, в которых есть несколько сетевых интерфейсов с одним и тем же МАС-адресом (PS3 является одной из таких машин). Если независимые интерфейсы имеют различные базовые имена, то с помощью этого ключа Udev сможет отличать их друг от друга. Для большинства пользователей Linux From Scratch этот ключ необязателен, но он не навредит.
  • NAME - Значением этого ключа является имя, которое Udev назначит данному интерфейсу.

Значение NAME является важным. Прежде чем продолжить, убедитесь, что вы знаете, какое имя было назначено каждой из ваших сетевых карт, и убедитесь, что при создании файлов конфигурации, описанных ниже, используется это значение NAME.



<== предыдущая лекция | следующая лекция ==>
Настройка файла /etc/hosts | Создание конфигурационных файлов сетевых интерфейсов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.056 сек.