Вход/Регистрация
Linux Advanced Routing & Traffic Control HOWTO
вернуться

Larroy Pedro

Шрифт:

Еще одно замечательное свойство моста — в случае выхода из строя, мост может быть заменен отрезком кабеля или сетевым концентратором (hub — хабом).

Одна из отрицательных сторон — мост может стать причиной большой неразберихи. traceroute его не "видит" и не сможет указать в каком месте теряются пакеты. Так что ничего удивительного, если какая-нибудь организация считает правильным "ничего не менять".

Мосты на базе Linux 2.4/2.5 подробно описаны на сайте http://bridge.sourceforge.net/.

16.1. Бриджинг и iptables.

Что касается Linux 2.4.20, то бриджинг и iptables не "видят" друг друга без установки вспомогательных модулей. Если построен мост между eth0 и eth1, то пакеты, передаваемые по мосту, проходят мимо iptables. Это означает, что ни фильтрация, ни nat, ни возможность внесения изменений в заголовки пакетов (mangling) вам недоступны. Начиная с Linux 2.5.45 это было исправлено.

Хочу упомянуть еще об одном проекте — etables. Он позволяет вытворять такие штуки, как MACNAT и brouting. Это действительно круто!

16.2. Бриджинг и шейпинг.

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

16.3. Псевдо-мосты с проксированием ARP.

Если вы просто хотите построить псевдо-мост, то можете сразу перейти к разделу Реализация, однако мы рекомендуем все-таки прочитать о том как все это работает на практике.

По-умолчанию, обычный мост просто передает пакеты с одного интерфейса на другой в неизменном виде. Он рассматривает только аппаратный адрес пакета, чтобы определить — в каком направлении нужно передать пакет. Это означает, что Linux может переправлять любой вид трафика, даже тот, который ему не известен, если пакеты имеют аппаратный адрес.

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

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

Настоящий мост в принципе тоже может делать это, но для этого требуется специальное программное обеспечение, например: Ethernet Frame Diverter.

Еще одно преимущество псевдо-моста состоит в том, что он не может передавать пакеты протоколов, которые "не понимает" — что предохраняет сеть от заполнения всяким "мусором". В случае, если вам необходимо переправлять такие пакеты (например, пакеты SAP или Netbeui), то устанавливайте настоящий мост.

16.3.1. ARP и проксирование ARP

Когда некий узел сети желает установить связь с другим узлом, находящимся в том же физическом сегменте сети, то он отсылает пакет ARP-запроса, который, в переводе на человеческий язык, может звучать примерно так: "У кого установлен адрес 10.0.0.1? Сообщите по адресу 10.0.0.7". В ответ на запрос, 10.0.0.1 ответит коротким пакетом "Я здесь! Мой аппаратный адрес xx:xx:xx:xx:xx:xx".

Когда 10.0.0.7 получит ответ, он запомнит аппаратный адрес хоста 10.0.0.1 и будет хранить его в кэше некоторое время.

При настройке моста мы можем указать ему на необходимость отвечать на ARP-запросы. Это вынудит узлы сети передавать ARP-запросы мосту, который затем обработает их и передаст на соответствующий интерфейс.

Таким образом, всякий раз, когда компьютер по одну сторону моста запрашивает аппаратный адрес компьютера, находящегося по другую сторону, то на запрос отвечает мост, как бы говоря "передавай все через меня".

Вследствие чего весь трафик попадет на мост и будет передан в нужном направлении.

16.3.2. Реализация

В ранних версиях Linux, для реализации проксирования протокола ARP, вам пришлось бы настраивать ядро. Для того, чтобы сконфигурировать псевдо-мост, вам пришлось бы вручную описать все маршруты по обе стороны моста И создать соответствующие правила. Это требовало достаточно большого объема ручного ввода, что само по себе могло повлечь за собой большое число ошибок.

В Linux 2.4/2.5 (а возможно и в 2.2) все это было заменено установкой флага proxy_arp в файловой системе proc. Теперь процедура настройки псевдо-моста выглядит так:

  • Читать дальше
  • 1
  • ...
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: