Здравствуй, ЛОР!
Есть вот такой стенд: http://itmages.ru/image/view/1520329/d3009d24
На картинке изображены:
- ПК с браузером, командой ping и ssh-клиентом (PC)
- Некий маршрутизатор с NAT (LAN router)
- Хост с ESXi, на котором живут
- Vyatta 6.6, которая на самом деле Debian squeeze (vFirewall0)
- клон предыдущей ВМ, vFirewall1
Внути каждого гостя есть мост br0, не имеющий ip-адреса (на них фильтруется трафик). На мостах включен STP. Оба гостя включены.
Цель - получить отказоустойчивый прозрачный файрвол (чтобы любой из двух компонентов можно было останавливать на обслуживание без потери доступа к сервисам). Повторюсь - это стенд, «в реале» вместо ПК будут несколько ВМ с «белыми» IP, и никакого NAT не будет.
Всё работает (на ПК «есть интернет»). Всё пингуется, странички открываются (то есть, tcp-сессии нормально устанавливаются). tcpdump, запущенный на обоих мостах, показывает, что через них дружно-весело бегают пакетики. При выключении любого из гостей пинг с ПК в «мир» этого даже не замечает, все пакеты проходят. SSH-сессия, установленная в «мир», при этом, всё же, подвисает на минуту-полторы.
Вопрос 1. Почему оно работает? О_о Никогда бы не подумал, что такая конфигурация (с параллельно включенными бриджами (читай - свитчами)) будет работоспособна. Собрал просто для эксперимента, и вот - завелось.
Вопрос 2. Раз уж оно так всё работает - нельзя ли каким-либо образом синхронизировать чего-нибудь там (даже не знаю, что), чтобы при «пропадании» одного файрвола сессии уровня приложения (как та же SSH) не подвисали, а сохраняли «целостность»?
Вопрос 3. Применял ли кто из пристутствующих подобные схемы? Буду благодарен, если поделитесь опытом.