Базовая настройка двух провайдеров на Mikrotik.
Т.к. Mirkotik способен работать одновременно с несколькими провайдерами, возникает необходимость получать доступ к самому Mikrotikу или внутренним ресурсам локальной сети также и с других провайдеров. По умолчанию Mikrotik доступен только с провайдера, шлюз которого используется по умолчанию. Поэтому ув. erazel попытается «на яблоках» объяснить что нужно сделать для полноценного использования второго или другого провайдера, подключенного к роутеру.
Пример будет для второго провайдера Укртелеком.
Будем считать что у вас два аплинка со статическими ip адресами, в случае с динамическими ip, необходимо будет порвань несколько бубнов и использовать скрипты для изменения gateway провайдера.
1. Даем метку для дефолтного маршрута через ISP2 и маршрута к шлюзу(что бы роутер знал через какой интерфейс обращаться к шлюзу)
/ip route add distance=1 dst-address=0.0.0.0/0 gateway=195.5.147.1 routing-mark=oo scope=10
195.5.147.1 — gateway Укртелекома, у вас будет другой ip
2. Весь входящий трафик через интерфейс ISP2 и не имеющий еще маркировки, мы маркируем соответствующим конекшн-марком
/ip firewall mangle add action=mark-connection chain=prerouting comment=oo connection-mark=no-mark in-interface=ISP2 new-connection-mark=ISP2
3. Трафик вошедший в роутер через второй аплинк ISP2 и выходящий не в интерфейс локалки (тоесть трафик самого роутера идущий как ответный на запросы из интернета) мы отправляем по маркированому маршруту
/ip firewall mangle add action=mark-routing chain=output connection-mark=ISP2 new-routing-mark=oo out-interface=!bridge-local
Для чего это? Иначе пакет будет смотреть основную таблицу маршрутизации, а там указан основным шлюзом 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
так же вместо src-address= можно указать интерфейс локалки in-interface= . В чем кардинальная разница? Ну во втором случае у нас могут быть за одним портом/бриджом несколько разных подсетей, с данным параметром не придется для каждой делать отдельное правило.
Этих правил хватит что бы сам роутер жил с двумя аплинками и успешно пробрасывал порты с двух внешних интерфейсов.
Если же вы хотите еще и разделять клиентов локалки по разным аплинкам динамически то надо читать статью из заголовка.
если же нам надо сугубо конкретные адреса/порты то достаточно простого правила типа такого:
/ip firewall mangle add action=mark-routing chain=prerouting dst-port=22 new-routing-mark=ukrtelecom protocol=tcp src-address=192.168.0.62
Не обязательно использовать все поля. Можно обойтись только src.адресом если нам надо весь трафик конкретной машины отправить через второй шлюз. Если же мы укажем еще и порт то весь трафик кроме этого порта пойдет через дефолтный маршрут, а трафик к этому порту пойдет через маркрированый маршрут. Полезно если мы не хотим забивать торентами основной канал. Достаточно указать срц.порт=порту_торент_клиента.
Англоязычную полную информацию можно найти по адресу Manual:PCC
Материал подготовил erazel