MikroTik и два канала в интернет. Часть 3 - Маршрутизация

. Просмотров: 25582

Рейтинг:  4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

В этой статье я приведу примеры с маршрутизацией трафика на несколько провайдеров и расскажу о настройки DNS сервера на RouterOS v3.20

Часть 3. Маршрутизация

В MikroTik RouterOS есть несколько вариантов направлять трафик в нужном направлении:

1.Маркировка трафика через ip firewall mangle с дальнейшей маршрутизацией через ip route

Этот вариант интересен тем, что можно управлять маршрутизацией пакетов основывая на разных критериях, например протоколе. адресе исходящего порта, ip адресе отправителя или получателя, и многих других.

Приведу пример: предположим что весь трафик для сети 10.1.1.0/24 нам надо отправлять через первого провайдера, а 172.16.0.0/24 через второго.

Для этого нужно сделать следующее:

добавляем в нужные нам адреса в список адресов. to_isp1 для первого провайдера, to_isp2 для второго.

ip firewall address-list add address=10.1.10/24 list=to_isp1 comment="route via isp1"
ip firewall address-list add address=172.16.0.0/24 list=to_isp2 comment="route via isp2"

 

Теперь помечаем пакеты проходящие через маршрутизатор, чтобы для определенного списка адресов шли через определенного провайдера (правила маршрутизации в ip route мы создали во второй части статьи, поэтому их создавать не надо)

ip firewall mangle add chain=prerouting connection-state=new dst-address-list=to_isp1 action=mark-routing new-routing-mark=vlan40_r
ip firewall mangle add chain=prerouting connection-state=new dst-address-list=to_isp2 action=mark-routing new-routing-mark=vlan54_r

Обратите внимание, это правило для соединений проходящих через маршрутизатор (из локальной сети в интернет), если же вы хотите что и соединения с самого маршрутизатора шли по этим правила то необходимо chan prerouting заменить на output:

ip firewall mangle add chain=output connection-state=new dst-address-list=to_isp1 action=mark-routing new-routing-mark=vlan40_r
ip firewall mangle add chain=output connection-state=new dst-address-list=to_isp2 action=mark-routing new-routing-mark=vlan54_r

 

В будущем, если понадобится, вы можете добавлять/удалять адреса из списка адресов to_isp1 & to_isp2 и не меня правил маршрутизации все будет работать.

 

2. Непосредственное указание маршрута в Ip route.

При этом способе мы может только указать маршрут по ip адресу получателя. При наличии только ip адреса назначения, это более правильный вариант.

Простой пример:
У каждого провайдера обычно есть свои DNS сервера, и зачастую они обслуживают запросы только из своих подсетей. Предположим у меня ip адрес dns сервера первого провайдера 82.199.96.143, а второго 83.242.139.10, и запросы на них надо направлять только через соответствующих провайдеров.

ip route add dst-address=82.199.96.143 gateway=82.19.115.97
ip route add dst-address=83.242.139.10 gateway=89.15.64.2

Вот и все, пакеты для адреса 82.199.96.143 пойдут через один 82.19.115.97, а для 83.242.139.10 через 89.15.64.2.

 

Ну. а на последок, предлагаю настроить DNS сервер на самом MikroTik.
По мне так это очень удобно, когда внешний сервер DNS для нескольких провайдеров находится в одном месте, и соответственно для того же MS Active Directory, а именного его сервера DNS лучше указать внешним этот сервер.

ip dns set primary-dns=82.199.96.143 secondary-dns=83.242.139.10 allow-remote-requests=yes

На этом, пока все.

 

Комментарии  

0 # KAPMAH 16.01.2014 15:48
Доброго дня, настраивал на микротике два канала по вашей статье, столкнулся с проблемой, если пробрасываю порт на серевер, то снаружи могу попасть на него, а внутри сети по этому же адресу не открывает, маршрутизирует не пойми в какую сторону ответы! В чем может быть загвостка?
0 # alex 16.01.2014 17:59
Изнутри я захожу по внутреннему адресу.
0 # Виталий 12.09.2014 13:32
я Это решил с помощью DNS, обращение к серверам делаю с помощью настоящего доменного имени. Если из мира заходить то у доменного имени (mail.dome.com) один IP, белый! А если из локальной сети, то в моем DNS стоит серый ip для домена mail.domen.com) !
-5 # Desmont 21.03.2014 20:03
Есть предложение популяризироват ь инструкцию.
Для этого нужно заменить специальные термины на популярные.
А то получается что нужно разобраться с терминами сети, но после этого как разобрался ваши подсказки уже не актуальны, а пока не разобрался с терминами не понимаешь что вы описываете.
Сам программист с 20 летним стажем.
0 # Desmont 21.03.2014 20:10
Интересует такая конфигурация.
Два провайдера, в сети сервер терминалов, настроено для входящих запросов от двух провайдеров.
Как к этой конфигурации добавить распределение исходящих запросов на два провайдера в зависимости от адресов.?
Как сделать первую или вторую конфигурацию отдельно - понятно. Как сделать сделать совместную?
0 # Виталий 12.09.2014 13:28
Спасибо за статью. Сейчас делаю настройку микротика. Но вот я не понял на какоем принципе работает балансировка ? как микротик определяет куда ему направлять трафик который приходит от пользователя? То есть через какого провайдера он пускает локальную сеть?
0 # KAPMAH 12.09.2014 16:03
А он и не балансирует! Изначально все пойдут через маршрут с Distance 1 в роутинге, а если надо какую то подсеть или группу адресов отправить через другого провайдер, то можно создать группу и маркировать ее той же маркировкой что у вас подписана к провайдеру!
0 # Виталий 12.09.2014 16:56
Понятно. А как настроить балансировку? может ссылку какую подкинете.
-1 # KAPMAH 12.09.2014 17:10
Мудрёно конечно, но вроде работает http://habrahabr.ru/post/190352/
0 # Виталий 12.09.2014 17:13
Да, я тоже эту тему нашел. Вот думаю как она будет с вашим вариантом работать ? У меня просто комуто надо будет обязательно только через определенный канал выходить.
0 # vTanke 12.06.2015 10:48
а если 2 канала инета от одного провайдера и dns'ы одинаковые на обоих каналах, тогда как?
0 # Dandul 29.09.2015 11:09
Попробую воскресить тему. Скажите пожалуйста, должна такая конфигурация работать, если один провайдер висит на физическом интерфейсе, а второй на этом же интерфейсе только поднят влан? У меня не работает, работает только через police routing mikrotik, если помимо маркировки прописать правила ip route rules, но работает только за нат, реальные адреса от провайдера, который висит на влан, не могу нормально раздать, только по пппое, и трасса все равно ходит, если извне смотреть, через адрес первого прова, который на физике висит, а потом адрес из пула второго, до которого трасса. Нет в трассе адреса моего шлюза второго прова. Спасибо.
0 # DotCom 15.12.2016 21:15
Такой вопрос заинтересовал. А если есть список айпишников и портов. Помечать их и только их гонять через второго провайдера?

Недостаточно прав для комментирования