2 микротика, 1 лвс.

Тема в разделе "Маршрутизация", создана пользователем DworkiN, 13 янв 2016.

  1. DworkiN

    DworkiN Новый участник

    Описание.
    2 микротика RB2011UiAS смотрящие во внешнию сеть /28 выступают в качестве NAT для локальной сети, в локальной сети имеют адреса 253 и 252 и интерфейс VRRP с адресом 254 который является шлюзом для локальной сети.
    Вопрос?
    Как гарантировать возврат трафика на 2й микротик при использовании DSTNAT на нем, без изменения pref. source и без добавления доп. таблицы на конечном хосте в ЛВС.
     
  2. Илья Князев

    Илья Князев Администратор Команда форума

    Поднять vvrp со стороны LAN.
    Или использовать скрипты на on-master on-slave меняя конфигурацию.
     
  3. DworkiN

    DworkiN Новый участник

    Так и есть, вопрос в том чтоб со второго микротика (backup_vrrp) dstnat работал, на хостах гейт как раз этот vrrp.
     
  4. Илья Князев

    Илья Князев Администратор Команда форума

    Тогда вопроса не понял. Поясните что хотите получить в итоге.
     
  5. DworkiN

    DworkiN Новый участник

    2 микротика смотрят в лан на обоих нат, естественно вррп только на одном (вррп и есть шлюз для лан), проброс портов нужно организовать на обоих.
     
  6. Илья Князев

    Илья Князев Администратор Команда форума

    Так в чем проблема? Заполняете поля in-interface и dst-address и все.
     
  7. DworkiN

    DworkiN Новый участник

    Так и есть)) но у клиента то route 0.0.0.0/0 R1 а запрос на соединение то с R2 у которого в соурс стоит внешний адрес (мы преф соурце не меняем)
     
  8. Илья Князев

    Илья Князев Администратор Команда форума

    Так сделайте vrrp с обоих сторон. Чтобы у клиента 0.0.0.0/0 смотрел на адрес vrrp-интерфейса
     
  9. DworkiN

    DworkiN Новый участник

    Так Vrrp будет на мастере, а трафик то со слейва))) всеж добавил доп таблицы на хосте в локальной сети...
     
  10. Илья Князев

    Илья Князев Администратор Команда форума

    Как он на слейв придет, если у вас он придет на интерфейс vvrp?
     
  11. DworkiN

    DworkiN Новый участник

    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) для хоста.
    для каждой сети свою таблицу маршрутизации.
     
  12. Илья Князев

    Илья Князев Администратор Команда форума

    Во первых необязательно иметь адреса на 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-интерфейса).
     
  13. DworkiN

    DworkiN Новый участник

    Все верно для отказоустойчивости, но не для распределения нагрузки. Из картинки видим распределения нагрузки с каждого маршрутизатора на 2 хоста, но а если один выключить то внешний адрес будет на каком либо маршрутизаторе, а трафик продолжит распределяться по хостам. Lan интерфейсы особого же смысла нет бекапить тк они у нас в вланах а те в свою очередь на бридже который rstp по нескольким интерфейсам, то есть должен выйти из строя свич маршрутизатора. Но чтоб совсем до паронои то можно и скрипты гасящие vrrp на полугорелом. )) Кстать вот тут как раз лучше выключать именно вррп чтоб по интерфейсу остался доступен.
    Данная схема и вполне работоспособна. Мб кому пригодится.
    Безымянный.jpg