PPTP + Falover/LoadBalancing Dual ISP

Тема в разделе "Маршрутизация", создана пользователем Shkuratov Dmitriy, 10 ноя 2015.

  1. Shkuratov Dmitriy

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

    Вот такая схемка.

    [​IMG][/URL][/IMG] [​IMG]
    Так вот.
    Mik_Client имеет два подключения к Internet. У обоих нет белого IP.
    Mik_Server - на самом деле одно, и у него есть единственный белый IP.
    Нужно получить распределение нагрузки по PPTP каналам.
    Распределение по провайдерам настраивал при помощи скрипта из статьи http://habrahabr.ru/post/190352/
    Следующим шагом хотел тоже самое сделать с PPTP.

    В итоге уткнулся вот в какую проблему:
    Как поддерживать два pptp соединения с разными Логин/Паролями по разным провайдерам на один IP?
     
  2. Илья Князев

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

    Никак. Но вы можете использовать в качестве второго туннеля sstp или l2tp :cool:
     
  3. Shkuratov Dmitriy

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

    Как решить конкретно эту задачу - понятно. Согласен что проще использовать другой протокол.

    Но тут появляется другая подзадача.
    Один ip-приемник, один порт-приемник - один клиент, два канала интернет.

    Есть костыль!
    Можно использовать Metarouter. Тогда появляется In_Interface и можно использовать dst-nat.
    Тоесть даем ему два интерфйса, через один он цепляется по PPTP на адрес 8.8.1.1, через другой отдает соединение нам на роутер.

    /ip firewall mangle add chain=prerouting in-interface=ether11-slave-local dst-address=8.8.1.1 action=mark-routing new-routing-mark=ISP1
    /ip firewall nat add chain=dstnat dst-address=8.8.1.1 action=dst-nat to-addresses=X.X.X.X

    Понятно что еще нужно пару маршрутов на X.X.X.X через разных провайдеров с Mark.

    Ну а дальше все вроде бы просто: bridge и вот у тебя второй канал PPTP.

    Но, можно ли как нибудь трафик из LocalProcessor загнать через dst-nat? Может через loopback interface?
    Или может создать Vlan и гнать как-то через него.

    Есть идеи?
     
  4. Илья Князев

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

    Можно VRF использовать по идее, если я правильно понял условия задачи.
     
  5. Shkuratov Dmitriy

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

    VRF? Почитаю поподробней, но на первый взгляд - не совсем то.

    Попробую переформулировать задачу.

    У нас есть локальная сеть, микротик (951-ый, например), два канала выхода в интернет.
    И тут нас покупает ОченьКрупнаяКонтора. У них корп-стандарты, упертые ИТ-шники, и они сауды и не говорят по русски. Но кое что мы смогли перевести.)
    Так как мы теперь дочка нам необходимо подключить наш Микротик к ним по VPN. Они дают только PPTP, соответсвенно сообщают нам логин/пароль, ИП, порт. Еще у них развернут OSFP.
    Главное требование - максимальная отказоустойчивость.

    Казалось бы логичным решением будет поднять два PPTP-тунеля по разным провайдерам и натянуть на это дело OSFP. Тогда при отказе канала не нужно будет ждать переподключения, OSFP сам разрулит маршруты.
    Договорится чтобы они выдали второй логин/пароль - не проблема. Договорится открыть второй IP - не реально.

    И вот тут возникает проблема.
    Микротик может поднять два PPTP-канала до, например, 8.8.8.8:1723, но как заставить его поднять их через разных провайдеров?

    Можно было бы решить через dst-nat. Например придумываем IP, получаем правило chain=dst-nat dst-address=8.8.1.1 action=dst-nat to-address=8.8.8.8. И в Mangle-Prerouting маркируем маршрут по признаку dst-address=8.8.1.1
    Но есть загвоздка: PPTP-канал это трафик LocalProccess, и он не проходит через dst-nat.

    И вот вопрос, поглощающий своей риторичностью. Что делать?

    Варианты которые я придумал сам:
    1.Использовать metarouter. Тогда появляется возможность использовать маркировку маршрутов и по адресу назначению, и по интерфэйсу.
    2.Использовать второй роутер. Здесь принцип тот же.
    3.Вариант с использованием единственного маршрутизатора, без костылей типа metarouter - пока не придуман.

    Вот как-то так.
     
  6. Илья Князев

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

    Ну хорошо.
    Создаем VRF. В него запихиваем интерфейс второго провайдера и второй pptp.
    Потом крутимся на маркировке маршрутов.
    Глянь мою презентацию на MUM. Там где я разбираю схему "2 провайдера, которые отдали по DHCP один и тот же адрес и один и тот же шлюз".
    Слайды http://mum.mikrotik.com/presentations/RU15/presentation_2753_1443525958.pdf
    Видео