Быстрая установка двух сетевых карт в Линуксе

    По порядку:
 

 

 

 

Если у Вас RedHat http://www.redhat.com/, то попробуйте для начала команду netconf: Зайдите в меню Basic Host Information и измените подразделы Adaptor1, Adaptor2...

Если у вас не получилось, или у вас не RedHat, то выберите один из двух возможных случаев, подходящих под вашу конфигурацию. Первый случай - когда у вас две одинаковые сетевые карты, а второй - когда разные.

В первом случае мы вынуждены использовать один модуль для двух сетевых карт. Так, например, для карт NE2000 мы должны использовать модуль ne. (На сетевые модули и модули к сетевым картам можете полюбоваться в директории: /lib/modules/'версия_системы'/net/ )
Во втором случае все очень просто.
 

Файл конфигурации модулей лежит в директории /etc и называется conf.modules. Собственно его мы и будем редактировать.
 

СЛУЧАЙ 1

Первый способ:

Предположим, что у вас уже стоит одна сетевая карта (для примера я взял NE2000), тогда часть файла conf.modules выглядит примерно так:

   #--------------------
   alias eth0 ne
   options ne io=0x280 irq=3
   #--------------------

где 0x280 - адрес, а 3 - прерывание карты. Теперь мы хотим добавить в систему еще одну карту NE2000. Для этого добавляем в файл conf.modules строку alias eth1 ne, а в строку options ne io=0x280 irq=3 после каждого параметра, через запятую, вписываем адрес и, соответственно, прерывание второй сетевой карточки. В результате мы получим:

   #--------------------
   alias eth0 ne
   alias eth1 ne
   options ne io=0x280,0x300 irq=3,15
   #--------------------

где 0x280 и 0x300 соответственно адреса первой и второй сетевых карт, а 3 и 15, соответственно, их прерывания. Т.е. первая сетевая карта имеет адрес 0x280 и прерывание 3, а вторая адрес 0x300 и 15-ое прерывание. Причем первая карта будет привязана к eth0, а вторая к eth1.
 

Второй способ:

Пусть, для примера, у вас уже установлена сетевая карта NE2000-Compatible. До нашего вмешательста, часть файла conf.modules, в которой записаны опции для стоящей карточки, выглядит так же, как и в предыдущем способе:

   #--------------------
   alias eth0 ne
   options ne io=0x280 irq=3
   #--------------------

Давайте опять добавим строчку alias eth1 ne для привязывания модуля ne к устройству eth0, а между словом options и последующей строчкой напишем eth0 -o, что значит, что следующее слово после -o будет псевдоименем, а к ne припишем единицу, чтобы оно отличалось от ne. Теперь ne1 - это псевдоимя ne. После этих изменений файл будет выглядеть так:

   #--------------------
   alias eth0 ne
   alias eth1 ne
   options eth0 -o ne1 io=0x280 irq=3
   #--------------------

где 0x280 и 3 адрес и прерывание соответственно. А теперь просто добавим аналогичную строку options для eth1:

   #--------------------
   alias eth0 ne
   alias eth1 ne
   options eth0 -o ne1 io=0x280 irq=3
   options eth1 -o ne2 io=0x300 irq=15
   #--------------------

Здесь слова ne1 и ne2 ничего не значат, вместо них можно написать буквы a и b, например. Главное, чтобы они отличались друг от друга и не совпадали с именами других модулей. Это объясняется тем, что ядро не может отличить ne от ne, а ne1 от ne2 может. Чтобы понять, что же это значит, после перезапуска системы запустите команду lsmod, которая сообщит о подсоединенных к ядру модулях:

   [AZZ:/etc]# lsmod
   Module         Pages    Used by
   ne1                2            1 (autoclean)
   ne0                2            1 (autoclean)
   8390               2    [ne1 ne0]       0 (autoclean)
  .........

Советую убрать из файла /etc/rc.d/rc.modules строку(и) для модуля(ей), которые прописаны в файле /etc/conf.modules.
 

СЛУЧАЙ 2.

Рассмотрим вариант, когда у вас имеются две разных сетевых карты, такие, что вы не можете использовать один модуль для обеих карт и не можете поступить, как описано выше. Собственно, здесь все совсем просто. Нужно просто добавить две строки в файл /etc/conf.modules, аналогичные строкам для первой карты. Если у вас было:

   #--------------------
   alias eth0 имя_модуля_для_первой_карты
   options имя_модуля_для_первой_карты io=0x280 irq=3
   #--------------------

то теперь станет:

   #--------------------
   alias eth0 имя_модуля_для_первой_карты
   options имя_модуля_для_первой_карты io=0x280 irq=3
   alias eth1 имя_модуля_для_второй_карты
   options имя_модуля_для_второй_карты io=0x300 irq=15
   #--------------------

где 0x280 и 0x300 соответственно адреса первой и второй сетевых карт, а 3 и 15, соответственно, их прерывания.

Вот, собственно, и все. Перезапускаете систему и следите за тем, что пишет система при запузке. Если все нормально, то вы увидите, как загружаются модули (будет написана версия, имя модуля, автор и т.д.). В случае, если система напишет что-то похожее на delaying eth1 initialization, ну или что-то аналогичное, тогда ищите ошибку...

PS Для привязывания IP адресов к сетевым картам используется команда ifconfig.
 

 
 
 
Вернутся на главную   Вернутся на предыдущую.
Rambler's Top100   

 

Сайт управляется системой uCoz