v1.11, 7 September 1998
В этом документе описывается процесс настройки ethernet-моста. Что такое ethernet-мост? Ethernet-мост - это устройство, контролирующее пакеты данных, передаваемых в подсети, существующее для уменьшения нагрузки на сеть. Мост обычно устанавливается между двумя отдельными группами компьютеров, которые часто общаются внутри группы, но значительно реже между группами. Хороший пример использования моста - группа Макинтошей и группа Unix-машин. Обе этих группы достаточно плотно общаются между собой, перегружая сеть, и, в результате, этого мешают другим машинам передавать данные. Мост должен быть помещен между этими двумя группами. Задачей моста будет следующее: определять местонахождение получателя каждого пакета данных, чтобы отфильтровывать пакеты, которые не должны попадать в противоположный от отправителя сегмент ethernet. Результатом этого будет более быстрая и незагруженная сеть с меньшим количеством столкновений пакетов.
Установите пакет "Конфигурирование моста":
ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz
Разрешите использование нескольких 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
Пересоберите ядро с разрешенной опцией BRIDGING.
Мосту не нужен IP-адрес. Он МОЖЕТ его иметь, но простой мост в нем не нуждается. Чтобы убрать IP-адрес с вашего моста, перейдите в каталог /etc/sysconfig/network-scripts/ (для систем с дистрибутивом RedHat) и скопируйте файл ifcfg-lo0 в ifcfg-eth0 и ifcfg-eth1. В этих двух файлах измените строку ``DEVICE=lo'' на ``DEVICE=eth0'' и ``DEVICE=eth1'' соответственно. В других дистрибутивах эта процедура может отличаться - сделайте то, что нужно сделать, чтобы достичь этого же результата! Если у вас больше двух интерфейсов на мосте, то скопируйте и настройте соответствующие конфигурации всем интерфейсам.
Перезагрузитесь с новым ядром, в котором разрешены мосты, и убедитесь в том, что интерфейсы не получили IP-адресов.
После того, как система загрузится, установите картам режим "promisc", чтобы они обрабатывали каждый пакет, проходящий по сети:
ifconfig eth0 promisc ; ifconfig eth1 promiscВсе интерфейсы, подключенные к сетевым сегментам, нуждающимся в этом мосте, должны быть переключены в режим "promisc".
Включите мост, используя команду brcfg:
brcfg -ena
Проверьте, различается ли трафик на интерфейсах:
tcpdump -i eth0 (в одном окне) tcpdump -i eth1 (в другом окне)
Запустите tcpdump на другой машине, чтобы проверить, правильно ли мост отделяет один сегмент сети от другого.
Я получаю сообщение
ioctl(SIOCGIFBR) failed: Package not installed Ошибка ioctl(SIOCGIFBR): Пакет не установленЧто это означает?
В ваше ядро не встроена поддержка мостов. Установите ядро версии 2.0 или новее, и пересоберите его со включенной опцией Ethernet-МОСТ (BRIDGING).
Машины в одном сегменте не видят другой сегмент даже при помощи ping!
Включили ли вы мост командой ``brcfg -ena''? (brcfg должен вывести сообщение ``bridging is ENABLED'')
Установили ли вы интерфейсы в режим "promisc"? (используйте команду ``ifconfig''. Флаг ``PROMISC'' должен быть установлен на всех интерфейсах.)
Если вы используете адаптеры, поддерживающие разные типы соединений (кабели), убедитесь в том, что выбран правильный. Возможно вам придется использовать программу настройки, поставляемую вместе с картой.
У меня не работают команды telnet/ftp с машины с мостом! Почему?
Это происходит потому, что ни один интерфейс на мосте не имеет IP-адреса. Мост должен быть прозрачен для сети.
Как нужно настраивать маршрутизацию в мосте?
Никак! Все маршрутизация автоматически настраивается ядром. Чтобы узнать ethernet-адреса, обрабатываемые мостом, используйте программу brcfg в режиме отладки:
brcfg -deb
Мост вроде бы работает, но почему "traceroute" не показывает мост, как часть пути соединения?
"Traceroute" не должен показывать мост, как часть пути соединения, из-за специфической сути самого моста. Мост не должен быть виден сети.
Нужно ли включать опцию IP_FORWARD при сборке ядра?
Нет. Код моста в ядре работает на уровне транспорта пакетов. IP_FORWARD предназначен для шлюзов, в которых каждому интерфейсу назначается IP-адрес.
Почему физические ethernet-адреса интерфейсов идентичны (так показывает программа ``brcfg'')? Не должны ли они различаться?
Нет. Каждый интерфейс на мосте получает одинаковый адрес от кода управления мостом в ядре.
Опция "Ethernet-мосты (Bridging)" не появляется при конфигурировании ядра. Как же мне ее включить?
В процессе конфигурирования ядра ответьте "Да" (Y) на вопрос "Запрашивать установку экспериментальных и/или не полностью готовых частей кода/драйверов" (Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]".
Большое количество хабов (4 и больше), соединенных последовательно один за другим, вызывают задержки в сети ethernet. Какой эффект произведет мост на сеть, в котором используется несколько хабов?
Мост аннулирует эффект нескольких хабов. Мост обрабатывает пакеты по-другому, не так как хаб, поэтому не может вызвать проблем с задержками.
Может ли мост работать между 10- и 100-мегабитным сегментами? Замедлит ли подобная конфигурация трафик на быстром сегменте?
Да, мост может соединить 10- и 100-мегабитные сегменты. Так как сетевая карта на быстрой части сети поддерживает 100 Мбит, TCP занимается всем остальным. Пакеты, идущие с хоста в 100-мегабитной части сети на хост, находящийся в 10-мегабитной части, идут, конечно, со скоростью 10 мегабит. На трафик, идущий внутри 100 мегабитной части сети (включая трафик через мост из 100Мб в 100Мб сегмент) медленная сеть влияния не оказывает.
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу <linux-howto@asplinux.ru>
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |