Вот такая схемка. [/URL][/IMG] Так вот. Mik_Client имеет два подключения к Internet. У обоих нет белого IP. Mik_Server - на самом деле одно, и у него есть единственный белый IP. Нужно получить распределение нагрузки по PPTP каналам. Распределение по провайдерам настраивал при помощи скрипта из статьи http://habrahabr.ru/post/190352/ Следующим шагом хотел тоже самое сделать с PPTP. В итоге уткнулся вот в какую проблему: Как поддерживать два pptp соединения с разными Логин/Паролями по разным провайдерам на один IP?
Как решить конкретно эту задачу - понятно. Согласен что проще использовать другой протокол. Но тут появляется другая подзадача. Один 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 и гнать как-то через него. Есть идеи?
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 - пока не придуман. Вот как-то так.
Ну хорошо. Создаем VRF. В него запихиваем интерфейс второго провайдера и второй pptp. Потом крутимся на маркировке маршрутов. Глянь мою презентацию на MUM. Там где я разбираю схему "2 провайдера, которые отдали по DHCP один и тот же адрес и один и тот же шлюз". Слайды https://mum.mikrotik.com/presentations/RU15/presentation_2753_1443525958.pdf Видео