Мини-HOWTO: Мосты Ethernet
Christopher Cole
cole@coledd.com
Перевод: Станислав Рогин, ASPLinux
В этом документе описывается процесс настройки ethernet-моста. Что такое ethernet-мост? Ethernet-мост - это устройство, контролирующее пакеты данных, передаваемых в подсети, существующее для уменьшения нагрузки на сеть. Мост обычно устанавливается между двумя отдельными группами компьютеров, которые часто общаются внутри группы, но значительно реже между группами. Хороший пример использования моста - группа Макинтошей и группа Unix-машин. Обе этих группы достаточно плотно общаются между собой, перегружая сеть, и, в результате, этого мешают другим машинам передавать данные. Мост должен быть помещен между этими двумя группами. Задачей моста будет следующее: определять местонахождение получателя каждого пакета данных, чтобы отфильтровывать пакеты, которые не должны попадать в противоположный от отправителя сегмент ethernet. Результатом этого будет более быстрая и незагруженная сеть с меньшим количеством столкновений пакетов.
Общие проблемы
Вопрос
Я получаю сообщение
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Мб сегмент) медленная сеть влияния не оказывает.