Мини-HOWTO: Мосты Ethernet

Abstract

В этом документе описывается процесс настройки ethernet-моста. Что такое ethernet-мост? Ethernet-мост - это устройство, контролирующее пакеты данных, передаваемых в подсети, существующее для уменьшения нагрузки на сеть. Мост обычно устанавливается между двумя отдельными группами компьютеров, которые часто общаются внутри группы, но значительно реже между группами. Хороший пример использования моста - группа Макинтошей и группа Unix-машин. Обе этих группы достаточно плотно общаются между собой, перегружая сеть, и, в результате, этого мешают другим машинам передавать данные. Мост должен быть помещен между этими двумя группами. Задачей моста будет следующее: определять местонахождение получателя каждого пакета данных, чтобы отфильтровывать пакеты, которые не должны попадать в противоположный от отправителя сегмент ethernet. Результатом этого будет более быстрая и незагруженная сеть с меньшим количеством столкновений пакетов.


Содержание
Настройка
Общие проблемы
Авторские права

Настройка

  1. Установите пакет "Конфигурирование моста":
    ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz

  2. Разрешите использование нескольких ethernet-устройств в вашей машине, добавив следующие строки в /etc/lilo.conf, и перезапустив lilo:
    append = "ether=0,0,eth1"
            
    Используйте следующие строки, если у вас будет три интерфейса в мосте:
    append = "ether=0,0,eth1 ether=0,0,eth2"
            
    Большее количество интерфейсов могут быть настроены добавлением большего количества опций "ether". По умолчанию стандартное ядро Linux ищет одну сетевую карту, и, обнаружив ее, прекращает поиск. Вышеприведенное добавление указывает ядру продолжать поиск дополнительных карт после того, как оно найдет первую. Существует возможность использовать этот параметр при загрузке ядра:
    linux ether=0,0,eth1
            
    Соответственно для трех интерфейсов:
    linux ether=0,0,eth1 ether=0,0,eth2
            

  3. Пересоберите ядро с разрешенной опцией BRIDGING.

  4. Мосту не нужен IP-адрес. Он МОЖЕТ его иметь, но простой мост в нем не нуждается. Чтобы убрать IP-адрес с вашего моста, перейдите в каталог /etc/sysconfig/network-scripts/ (для систем с дистрибутивом RedHat) и скопируйте файл ifcfg-lo0 в ifcfg-eth0 и ifcfg-eth1. В этих двух файлах измените строку ``DEVICE=lo'' на ``DEVICE=eth0'' и ``DEVICE=eth1'' соответственно. В других дистрибутивах эта процедура может отличаться - сделайте то, что нужно сделать, чтобы достичь этого же результата! Если у вас больше двух интерфейсов на мосте, то скопируйте и настройте соответствующие конфигурации всем интерфейсам.

  5. Перезагрузитесь с новым ядром, в котором разрешены мосты, и убедитесь в том, что интерфейсы не получили IP-адресов.

  6. После того, как система загрузится, установите картам режим "promisc", чтобы они обрабатывали каждый пакет, проходящий по сети:
    ifconfig eth0 promisc ; ifconfig eth1 promisc
            
    Все интерфейсы, подключенные к сетевым сегментам, нуждающимся в этом мосте, должны быть переключены в режим "promisc".

  7. Включите мост, используя команду brcfg:
    brcfg -ena
            

  8. Проверьте, различается ли трафик на интерфейсах:
    tcpdump -i eth0      (в одном окне)
    tcpdump -i eth1      (в другом окне)
            

  9. Запустите tcpdump на другой машине, чтобы проверить, правильно ли мост отделяет один сегмент сети от другого.