Описание. 2 микротика RB2011UiAS смотрящие во внешнию сеть /28 выступают в качестве NAT для локальной сети, в локальной сети имеют адреса 253 и 252 и интерфейс VRRP с адресом 254 который является шлюзом для локальной сети. Вопрос? Как гарантировать возврат трафика на 2й микротик при использовании DSTNAT на нем, без изменения pref. source и без добавления доп. таблицы на конечном хосте в ЛВС.
Так и есть, вопрос в том чтоб со второго микротика (backup_vrrp) dstnat работал, на хостах гейт как раз этот vrrp.
2 микротика смотрят в лан на обоих нат, естественно вррп только на одном (вррп и есть шлюз для лан), проброс портов нужно организовать на обоих.
Так и есть)) но у клиента то route 0.0.0.0/0 R1 а запрос на соединение то с R2 у которого в соурс стоит внешний адрес (мы преф соурце не меняем)
Так Vrrp будет на мастере, а трафик то со слейва))) всеж добавил доп таблицы на хосте в локальной сети...
2 влана, со своими vrrp, к примеру (Вообще решение такое, имеем 2 маршрутизатора хотим высокую доступность+балансировка нагрузки. имеем Ное количество фронт-ендов за нашими маршрутизаторами, и пару свичей решаем: на МТ вешаем пару VRRP смотрящих во вне (иметь как минимум /29) пишем в ДНС наши вррпЭшные ИП как узел А (2 записи) в силу своей специфики каждый запрос ДНС будет отдавать робин-ту-робин. далее включаем RSTP на local-bridge и втыкаем допустим eth2 в первый свич, eth3 во 2й свич и eth4 между тиками, естественно все эти порты должны быть в бридже (local-bridge). Подымаем 2 влана (пример) сеть 11 192.168.11.0/24 сеть 12 192.168.12.0/24, вешаем вррп в этих вланах получаем МТ1 мастер-вррп11 бекап-вррп12 МТ2 мастер-вррп12 бекап-вррп11. Вы уже догадались наверное, что вррп11 и вррп12 это шлюзы в своих сетях? так оно и есть))))) теперь пишем правила на МТ MT2 add action=masquerade chain=srcnat out-interface=ether1-gateway add action=netmap chain=dstnat comment=NTZ dst-address=IP1_VRRP_EXTERNAL \ dst-port=80 in-interface=ether1-gateway nth=2,1 \ protocol=tcp to-addresses=192.168.12.3 to-ports=80 add action=netmap chain=dstnat dst-address=IP1_VRRP_EXTERNAL dst-port=\ 80 in-interface=ether1-gateway nth=2,2 \ protocol=tcp to-addresses=192.168.12.4 to-ports=80 add action=netmap chain=dstnat comment=NTZ dst-address=IP2_VRRP_EXTERNAL \ dst-port=80 in-interface=ether1-gateway nth=2,1 \ protocol=tcp to-addresses=192.168.12.3 to-ports=80 add action=netmap chain=dstnat dst-address=IP2_VRRP_EXTERNAL dst-port=\ 80 in-interface=ether1-gateway nth=2,2 \ protocol=tcp to-addresses=192.168.12.4 to-ports=80 MT1 add action=masquerade chain=srcnat out-interface=ether1-gateway add action=netmap chain=dstnat comment=NTZ dst-address=IP2_VRRP_EXTERNAL \ dst-port=80 in-interface=ether1-gateway nth=2,1 \ protocol=tcp to-addresses=192.168.11.3 to-ports=80 add action=netmap chain=dstnat dst-address=IP2_VRRP_EXTERNAL dst-port=\ 80 in-interface=ether1-gateway nth=2,2 \ protocol=tcp to-addresses=192.168.11.4 to-ports=80 add action=netmap chain=dstnat comment=NTZ dst-address=IP1_VRRP_EXTERNAL \ dst-port=80 in-interface=ether1-gateway nth=2,1 \ protocol=tcp to-addresses=192.168.11.3 to-ports=80 add action=netmap chain=dstnat dst-address=IP1_VRRP_EXTERNAL dst-port=\ 80 in-interface=ether1-gateway nth=2,2 \ protocol=tcp to-addresses=192.168.11.4 to-ports=80 Для понимания, в примере 2 хоста в локальной сети по которым мажем запросы на 80 порт 192.168.11.1 192.168.11.3-vrrp-master 192.168.12.1 192.168.12.3-vrrp -master Host1 + какая-то локалка с какимто гейтом 192.168.11.2 192.168.11.4-vrrp-master 192.168.12.2 192.168.12.4 -vrrp-master Host2 + какая-то локалка с какимто гейтом На хостах делаем BOND type1 (Activ-backup) то есть eth0 в первый свич и eth1 во второй свич поверх 2 влана в каждом влане своя сеть с vrrp (keepalive) для хоста. для каждой сети свою таблицу маршрутизации.
Во первых необязательно иметь адреса на vrrp интерфейсе и физический интерфейсах в одной подсети. Т.е. вам можно не брать /29 от провайдера. Вы вполне можете повесить 192.168.x.x на внешние интерфейсы и реальный адрес на vrrp Во вторых можно поднять еще один vrrp со стороны LAN. Для избежания проблемы, когда vrrp может встать "наискось", т.е. мастером на WAN и Слейвом на LAN (или наоборот), можно микротики объединвыключают ить через свободные интерфейсы, поставить там какую-нибудь /30 и настроить OSPF и BFD. Могу предположить, что у вас нет стекового коммутатора и вы хотите избежать единой точки отказа. Тогда. 1. Резервируем WAN по vrrp на RB1100, т.к. у него есть байпас между 11 и 12 портами. 2. Втыкаем все в LAN. 3. Назначаем на LAN один и тот же адрес. 4. Пишем скрипты которые, когда марштутизатор становится мастером, включают LAN-интерфейс, а когда Слейвом-выключают (в свойствах vrrp-интерфейса).
Все верно для отказоустойчивости, но не для распределения нагрузки. Из картинки видим распределения нагрузки с каждого маршрутизатора на 2 хоста, но а если один выключить то внешний адрес будет на каком либо маршрутизаторе, а трафик продолжит распределяться по хостам. Lan интерфейсы особого же смысла нет бекапить тк они у нас в вланах а те в свою очередь на бридже который rstp по нескольким интерфейсам, то есть должен выйти из строя свич маршрутизатора. Но чтоб совсем до паронои то можно и скрипты гасящие vrrp на полугорелом. )) Кстать вот тут как раз лучше выключать именно вррп чтоб по интерфейсу остался доступен. Данная схема и вполне работоспособна. Мб кому пригодится.