Есть у нас небольшой офис на пол дюжины человек. Стоит один роутер (естественно Mikrotik) и один входящий канал интернета. По специфике работы этих людей, им понадобилось “работать” из разных частей мира. Т.е. двоим нужно было выходить в “Мир” из одной страны, двум другим из другой. И остальным – без разницы.
Было принято решение подключить vpn… Даже два. Но из минусов – скорость из этих туннелей, ее хватало только 1-2 клиентам работать комфортно. Поэтому весь офис вешать на vpn не захотел, да и переключения между разных впн – тоже не вариант.
Т.к. все работают за рабочими станциями – все ip из dhcp leases привязал статикой в роутере.
Далее опишу те настройки, что добавлял к уже настроенному роутеру к интернету.
Добавил 2 впна:
/interface l2tp-client add connect-to=xxx.xxx.xxx.xxx disabled=no name=l2tp-out-russia password=1234qwe user=3242953467 /interface sstp-client add connect-to=yyy.yyy.yyy.yyy disabled=no name="HolY SSTP Net" password=123123 profile=default-encryption user=34523461
Cоздал два туннеля, l2tp и sstp с IP, логинами и паролями (Шифрование и т.п. опускаю, для простоты статьи и что бы не залезать в дебри IPSec)
Прописал маскарад на них:
/ip firewall nat #HolY vpn add action=masquerade chain=srcnat out-interface="HolY SSTP Net" # RUSS van add action=masquerade chain=srcnat out-interface=l2tp-out-russia
В принципе, можно дописать было src адреса конкретных клиентов, но не стал
И теперь самое основное – это правильно промаркировать все входящие соединения от впн и трафик от нужных клиентов, что бы потом их можно было отдельно маршрутизировать в свои впн
/ip firewall mangle add action=mark-connection chain=input in-interface="HolY SSTP Net" new-connection-mark=cin_HOLY passthrough=yes add action=mark-connection chain=input in-interface=l2tp-out-russia new-connection-mark=cin_RUSS passthrough=yes add action=mark-routing chain=output connection-mark=cin_HOLY new-routing-mark=route_HOLY passthrough=no add action=mark-routing chain=output connection-mark=cin_RUSS new-routing-mark=route_RUSS passthrough=no add action=mark-routing chain=prerouting new-routing-mark=its_out_HOLY passthrough=no src-address=192.168.88.218 add action=mark-routing chain=prerouting new-routing-mark=disnetern_out_HOLY passthrough=no src-address=192.168.88.229 add action=mark-routing chain=prerouting new-routing-mark=mary_out_RUSS passthrough=no src-address=192.168.88.223 add action=mark-routing chain=prerouting new-routing-mark=alisa_out_RUSS passthrough=no src-address=192.168.88.233
Первое, что делаем – это нужно для каждого входящего в роутер соединения из впн сделать метку соединения. Определяем направление, интерфейс, название метки.
Далее маркируем маршрут, в зависимости от имени соединения и присваиваем новое имя метке маршрута.
Ну и последнее – это маркируем трафик от тех клиентов, которых мы собираемся выпускать в “Мир” через впн. В моем случае – это два ip “пойдут” через “HolY SSTP Net”, вторые два через l2tp-out-russia.
Ну и заключительный момент, прописать собственно маршруты для маркированного трафика, что мы определили выше:
/ip route add distance=1 gateway="HolY SSTP Net" routing-mark=route_HOLY add distance=1 gateway=l2tp-out-russia routing-mark=route_RUSS add distance=1 gateway="HolY SSTP Net" routing-mark=its_out_HOLY add distance=1 gateway="HolY SSTP Net" routing-mark=disnetern_out_HOLY add distance=1 gateway=l2tp-out-russia routing-mark=mary_out_RUSS add distance=1 gateway=l2tp-out-russia routing-mark=alisa_out_RUSS
Первые две строчки – мы указываем дефолтные маршруты для самого роутера на обе впн. И дальше для 4х человек маршруты в нужные тоннели.
На этом собственно и все. Теперь 2 клиента выходят в “мир” из одной страны, вторые два – из другой. Все остальные, кто будет подключаться к роутеру – будут выходить в сеть через провайдера интернета.