Доброго времени суток. Есть такая ситуация: есть сервис (использующий ссл), который находиться на другом конце света, есть много клиентов, есть mikrotik ccr на офисе рядом с клиентами. Tracert от клиентов до сервиса - много прыжков, tracert от офиса до сервиса - мало прыжков (статические маршруты). В сервисе можем менять адрес обращения.
Хотим сделать так, чтобы траффик от клиентов до сервиса ходил через нас. Как это сделать не используя vpn, ручное прописывание роутов и т.д., вообщем не трогая клиентов, кроме как поменять адрес в сервисе?
ps. Пробовали заворачивать через nginx , но он через себя отказывается пропускать ssl без валидных ключей. На микротике пробовали играться с правилами srcnat и dstnat, но не работало (возможно не так составили правила?), возможно надо использовать mangle и дописывать маршруты?
Заранее спасибо за ответы.
_____________________________________________________________________________
Ответ:
Купили своё доменное имя и сертификат - через nginx reverse proxy всё пашет.
Нужно на шлюзе по-умолчанию для клиентов указать статический маршрут, если это и есть MK то это можно сделать на нём кучей разных способов, от самого простого - собственно создать этот статический маршрут, до сложного - маркировать нужный трафик и направлять в таблицу маршрутизации отрезанной через VRF созданных в route rule.
Клиенты находятся вне сети с микротиком, на сколько я понимаю (возможно и ошибаюсь), если делать статический маршрут - надо будет на каждом клиенте это прописывать (чего бы делать не хотелось). Надо чтобы клиенты обращались именно к нам и мы уже транслировали нужный траффик.
rionnagel: у вас есть клиенты, они имеют адрес из локальной сети, в этой локальной сети есть шлюз, через который все клиенты ходят в неизвестные им узлы. Нужно (!) на этом шлюзе создать статический маршрут до вашего узла, через который трафик до целевого сервера идёт "короче".
Если например этого сделать нельзя, например, потому, что этот шлюз и ваш микротик находятся в разных l2\l3 доменах - необходимо создать туннель от этого шлюза до вашего микротика, завернув, опять же, трафик до целевой сети в этот туннель - создав на шлюзе клиентов статический маршрут.
Итого:
Маршрут можно создать как на клиенте, так и на шлюзе клиента. В вашем случае второе.
Маршрут должен вести к микроитку
Микротик должен быть в одной сети l2\l3 с тем шлюзом.
Для этого, возможно, нужно поднять VPN между вашим микротиком и тем самым шлюзом.
Есть более сложные схемы следующие из этой, их пока не затрагиваем - они технически более кривые (например поставить рядом с клиентами ещё один микротик, маршрут в нужную сеть раздать по dhcp и тыды)
Да в этом плане не хотелось бы трогать каждый шлюз каждого клиента. А вместо этого что-то типа проксировать этот сайт. Имею ввиду чтобы клиенты не прописывали у себя роуты, а к примеру вместо адреса сервиса вводили наш адрес, через нас бы попадали на сервис и траффик шел бы через нас.
Адекватным решением было покупка доменного имени, покупка сертификата на это доменное имя и заворот через nginx, через своё доменное и свой сертификат нет ругани на SSL, не смотря на перенаправление с совсем другого ресурса.