Построение мостов и псевдо-мостов с Proxy ARP.

Глава 16. Построение мостов и псевдо-мостов с Proxy ARP.

Мосты (bridges) -- это специальные устройства, которые могут быть установлены в сети и не требуют предварительной настройки. Сетевой коммутатор (swtch) -- это особый вид многопортового моста. Мост -- это чаще всего двухпортовый коммутатор (switch). На базе Linux может быть построен многопортовый (несколько интерфейсов) мост, по сути -- настоящий коммутатор (switch).

Мосты часто применяются для объединения фрагментированных стационарных сетей. Поскольку мост -- это устройство 2-го уровня (Канальный уровень по классификации OCI), который лежит ниже сетевого уровня, где "заправляют" протоколы IP, то ни серверы, ни маршрутизаторы даже не подозревают о его существовании. Это означает, что вы можете блокировать или изменять некоторые пакеты, а так же формировать трафик по своему усмотрению.

Еще одно замечательное свойство моста -- в случае выхода из строя, мост может быть заменен отрезком кабеля или сетевым концентратором (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. Это действительно круто!