Доступ к локальным ресурсам Mikrotik через 2го провайдера

Доступ к локальным ресурсам Mikrotik через 2го провайдера

Mirkotik способен работать одновременно с несколькими провайдерами, возникает необходимость получать доступ к самому Mikrotikу или внутренним ресурсам локальной сети также и с других провайдеров. По умолчанию Mikrotik доступен только с провайдера, шлюз которого используется по умолчанию. 

Будем  считать что у вас два аплинка со статическими ip адресами

1. Даем метку для дефолтного маршрута через ISP2 и маршрута к шлюзу(что бы роутер знал через какой интерфейс обращаться к шлюзу)

Route.png

/ip route  add distance=1 dst-address=0.0.0.0/0 gateway=195.5.147.1 routing-mark=oo scope=10Route-List.png

2. Весь входящий трафик через интерфейс ISP2 и не имеющий еще маркировки, мы маркируем соответствующим конекшн-марком

firewall.png

/ip firewall mangle  add action=mark-connection chain=prerouting comment=oo connection-mark=no-mark in-interface=ISP2 new-connection-mark=ISP2

Mangle1-1.png
Mangle1-2.png

3. Трафик вошедший в роутер через второй аплинк ISP2  и выходящий не в интерфейс локалки (тоесть трафик самого роутера идущий как ответный на запросы из интернета) мы отправляем по маркированому маршруту

/ip firewall mangle  add action=mark-routing chain=output connection-mark=ISP2 new-routing-mark=oo out-interface=!bridge-local


Mangle2-1.png
Mangle2-2.png

Для чего это? Иначе пакет будет смотреть основную таблицу маршрутизации, а там указан основным шлюзом ISP1

4. Трафик идущий от клиентов локалки (подсеть 192.168.0.0/16) и имеющий нужный конекшнмарк мы тоже отправляем через маркированый маршрут. Мы могли или сами до этого промаркировать трафик по нужному критерию или же это ответный трафик на запросы из интернета(если у нас есть проброс портов)

/ip firewall mangle  add action=mark-routing chain=prerouting connection-mark=ISP2 new-routing-mark=oo src-address=192.168.0.0/16

или

/ip firewall mangle  add action=mark-routing chain=prerouting connection-mark=ISP2 in-interface=bridge-local new-routing-mark=oo


Mangle3-1.png

Mangle3-2.png

так же вместо src-address=  можно указать интерфейс  локалки in-interface= . В чем кардинальная разница? Ну во втором случае у нас могут быть за одним портом/бриджом несколько разных подсетей, с данным параметром не придется для каждой делать отдельное правило.

Этих правил хватит что бы сам роутер жил с двумя аплинками и успешно пробрасывал порты с двух внешних интерфейсов.
Если же нам надо сугубо конкретные адреса/порты то достаточно простого правила  типа такого:

/ip firewall mangle add action=mark-routing chain=prerouting dst-port=22 new-routing-mark=oo protocol=tcp src-address=192.168.0.62

Не обязательно использовать все поля. Можно обойтись только src.адресом если нам надо весь трафик конкретной машины отправить через второй шлюз. Если же мы укажем еще и порт то весь трафик кроме этого порта пойдет через дефолтный маршрут, а трафик к этому порту пойдет через маркрированый маршрут. Полезно если мы не хотим забивать торентами основной канал. Достаточно указать срц.порт=порту_торент_клиента.

Плюс необходимо настроить два ната (маскарадинг) один дефолтный для основного провайдера eth1 а второй для ISP2

nat11.JPGnat12.JPG

Англоязычную полную информацию можно найти по адресу Manual:PCC


< Назад к списку новостей