Автор Тема: Обход блокировки сайтов на Mikrotik при помощи Policy Based Routing.  (Прочитано 137 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Дмитрий

  • Global Moderator
  • Jr. Member
  • *****
  • Сообщений: 59
  • Country: ua
  • Karma: +1/-0
  • Пол: Мужской
  • ICQ: 41488731
Обход блокировки сайтов на Mikrotik при помощи Policy Based Routing.

Сегодня мы не будем рассматривать все методы обхода всех видов блокировки, а лишь рассмотрим один из вариантов реализации обхода, который предложен в официальной документации Mikrotik (Policy Based Routing).

Предполагается, что заранее у вас уже должен быть маршрутизатор на RouterOS, если такого не имеется - по выгодной цене маршрутизаторы Mikrotik можно приобрести у меня!

Наиболее простой вариант обхода – использовать серверы VPN. Причем заблокированные ресурсы можно открывать через VPN, а все оставшиеся – через провайдера.
У данного метода существует ряд преимуществ. Одно из главных достоинств данного метода состоит в том, что вы будете использовать лишь часть пропускной способности VPN. Дело в том, что сервисы VPN обычно находятся далеко заграницей и каналы к ним сильно загружены, поэтому направляя через тоннель весь трафик, скорость доступа будет падать, причем как для заблокированных ресурсов, так и для всех остальных.
Из дополнительных преимуществ данного метода можно отметить отсутствие необходимости настройки VPN на всех клиентских устройствах, особенно если это смартфон. Хотя для смартфонов существует достаточное количество бесплатных приложений, реализующих необходимый функционал. Есть у данного способа и недостаток – поиск оптимального VPN-сервиса, как вариант, покупка премиум-аккаунта.

Создание списка адресов
К примеру, у нас есть листинг из заблокированных адресов. В качестве примера у нас 4 списка: ВКонтакте, Одноклассники, Yandex и Mail.ru. Все диапазоны в виде команд для Mikrotik, для простоты добавление. Некоторые спросят, а почему не объединить все ресурсы в один список? Ответ очень простой, при изменении всего одного интернет-ресурса, вы будете вынуждены пересматривать весь список, т.к. по одним подсетям вы ориентироваться будет сложно.
Адреса можно добавлять как вручную через терминал из WinBox > New Terminal.

Список подсетей для ресурсов ВКонткте
Код: *** ссылки только после регистрации или входа
/ip firewall address-list
add address=87.240.128.0/18 list=vkcom add address=93.186.224.0/20 list=vkcom add address=95.142.192.0/20 list=vkcom
add address=95.213.0.0/17 list=vkcom add address=185.32.248.0/22 list=vkcom add address=95.213.0.0/18 list=vkcom
add address=95.142.207.0/24 list=vkcom add address=95.142.206.0/24 list=vkcom add address=95.142.204.0/23 list=vkcom
add address=95.142.203.0/24 list=vkcom add address=95.142.202.0/24 list=vkcom add address=95.142.201.0/24 list=vkcom
add address=95.142.200.0/21 list=vkcom add address=95.142.192.0/21 list=vkcom add address=93.186.232.0/21 list=vkcom
add address=93.186.224.0/21 list=vkcom add address=185.32.251.0/24 list=vkcom add address=185.32.250.0/24 list=vkcom
add address=185.32.248.0/23 list=vkcom add address=185.29.130.0/24 list=vkcom

Либо предварительно загрузив в память микротика необходимые списки в виде командных файлов с разрешением RSC. Файлы в Mikrotik загружаются путем обычного петаскивания на окно WinBox > Files. Или же при помощи кнопки Upload, если Drag-n-Drop по каким-то причинам не работает. После чего импортируете списки командой:
Код: *** ссылки только после регистрации или входа
import file=vkcom.rsc
Где vkcom.rsc - название файла со списком.   Скачать список для Вконтакте - *** ссылки только после регистрации или входа

Список подсетей для ресурсов Яндекса (в т.ч. КиноПоиск)  Скачать список для Яндекса -*** ссылки только после регистрации или входа
Код: *** ссылки только после регистрации или входа
/ip firewall address-list
add address=5.45.192.0/18 list=yandex add address=5.255.192.0/18 list=yandex add address=37.9.64.0/18 list=yandex
add address=37.140.128.0/18 list=yandex add address=77.88.0.0/18 list=yandex add address=84.201.128.0/18 list=yandex
add address=87.250.224.0/19 list=yandex add address=93.158.128.0/18 list=yandex add address=95.108.128.0/17 list=yandex
add address=100.43.64.0/19 list=yandex add address=130.193.32.0/19 list=yandex add address=141.8.128.0/18 list=yandex
add address=178.154.128.0/17 list=yandex add address=199.21.96.0/22 list=yandex add address=199.36.240.0/22 list=yandex
add address=213.180.192.0/19 list=yandex add address=93.158.134.0/24 list=yandex add address=87.250.255.0/24 list=yandex
add address=87.250.254.0/24 list=yandex add address=87.250.251.0/24 list=yandex add address=87.250.250.0/24 list=yandex
add address=87.250.247.0/24 list=yandex add address=77.88.8.0/24 list=yandex add address=77.88.55.0/24 list=yandex
add address=77.88.54.0/24 list=yandex add address=77.88.44.0/24 list=yandex add address=77.88.35.0/24 list=yandex
add address=77.88.21.0/24 list=yandex add address=77.75.159.0/24 list=yandex add address=77.75.152.0/22 list=yandex
add address=5.45.240.0/24 list=yandex add address=5.45.232.0/24 list=yandex add address=5.45.229.0/24 list=yandex
add address=5.45.217.0/24 list=yandex add address=5.45.213.0/24 list=yandex add address=5.45.205.0/24 list=yandex
add address=5.45.196.0/24 list=yandex add address=5.255.255.0/24 list=yandex add address=5.255.200.0/24 list=yandex
add address=5.255.196.0/24 list=yandex add address=5.255.195.0/24 list=yandex add address=37.9.112.0/24 list=yandex
add address=213.180.204.0/24 list=yandex add address=213.180.202.0/24 list=yandex add address=213.180.199.0/24 list=yandex
add address=213.180.193.0/24 list=yandex add address=185.71.79.0/24 list=yandex add address=185.71.78.0/24 list=yandex
add address=185.71.77.0/24 list=yandex add address=185.71.76.0/24 list=yandex add address=185.71.76.0/22 list=yandex
add address=185.32.186.0/24 list=yandex add address=185.32.185.0/24 list=yandex add address=178.154.170.0/24 list=yandex
add address=178.154.131.0/24 list=yandex add address=109.235.165.0/24 list=yandex add address=109.235.160.0/21 list=yandex
add address=100.43.87.0/24 list=yandex

Список подсетей для Одноклассники.ru   Скачать список для Одноклассников - *** ссылки только после регистрации или входа
Код: *** ссылки только после регистрации или входа
/ip firewall address-list
add address=5.61.16.0/21 list=okru add address=5.61.232.0/21 list=okru add address=79.137.157.0/24 list=okru
add address=79.137.183.0/24 list=okru add address=94.100.176.0/20 list=okru add address=95.163.32.0/19 list=okru
add address=128.140.168.0/21 list=okru add address=178.22.88.0/21 list=okru add address=178.237.16.0/20 list=okru
add address=185.5.136.0/22 list=okru add address=185.6.247.0/24 list=okru add address=185.16.244.0/22 list=okru
add address=188.93.56.0/21 list=okru add address=194.186.63.0/24 list=okru add address=195.211.20.0/22 list=okru
add address=195.218.168.0/24 list=okru add address=195.218.190.0/23 list=okru add address=217.20.144.0/20 list=okru
add address=217.69.128.0/20 list=okru

Список подсетей для ресурсов Mail.ru   Скачать список для MailRU - *** ссылки только после регистрации или входа
Код: *** ссылки только после регистрации или входа
/ip firewall address-list
add address=5.61.16.0/21 list=mailru add address=5.61.232.0/21 list=mailru add address=79.137.157.0/24 list=mailru
add address=79.137.183.0/24 list=mailru add address=94.100.176.0/20 list=mailru add address=95.163.32.0/19 list=mailru
add address=128.140.168.0/21 list=mailru add address=178.22.88.0/21 list=mailru add address=178.237.16.0/20 list=mailru
add address=185.5.136.0/22 list=mailru add address=185.6.247.0/24 list=mailru add address=185.16.244.0/22 list=mailru
add address=188.93.56.0/21 list=mailru add address=194.186.63.0/24 list=mailru add address=195.211.20.0/22 list=mailru
add address=195.218.168.0/24 list=mailru add address=195.218.190.0/23 list=mailru add address=217.20.144.0/20 list=mailru
add address=217.69.128.0/20 list=mailru add address=195.211.21.0/24 list=mailru add address=195.211.22.0/24 list=mailru
add address=195.211.20.0/24 list=mailru add address=208.87.94.0/24 list=mailru add address=195.211.130.0/23 list=mailru
add address=195.211.128.0/24 list=mailru add address=195.211.128.0/23 list=mailru add address=195.211.128.0/22 list=mailru
add address=185.16.244.0/23 list=mailru add address=185.16.148.0/22 list=mailru add address=128.140.170.0/24 list=mailru

Списки адресов находятся в разделе IP – Firewall – Address Lists.



Маркировка пакетов
Для того, чтобы отобрать только заблокированные ресурсы, необходимо найти и промаркировать необходимые пакеты.
Делается это в IP – Firewall – Mangle. При создании указываем следующие параметры: chain=prerouting action=mark-routing dst-address-list=mailru (список адресов) src-address=192.168.106.0/24 (локальная подсеть) Вместо 192.168.106.0/24 необходимо указывать свою локальную подсеть, из которой будут идти обращения.

Как несложно догадаться, dst-address-list это конечный адрес (из списка).

Для всего трафика, удовлетворяющего данным условиям, будет установлена соответствующая метка Traffic_XXXXX.

Код: *** ссылки только после регистрации или входа
/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark mail.ru" dst-address-list=mailru new-routing-mark=Traffic_mailru passthrough=no src-address=192.168.106.0/24
add action=mark-routing chain=prerouting comment="Mark ok.ru" dst-address-list=okru new-routing-mark=Traffic_okru passthrough=no src-address=192.168.106.0/24
add action=mark-routing chain=prerouting comment="Mark vk.com" dst-address-list=vkcom new-routing-mark=Traffic_vkcom passthrough=no src-address=192.168.106.0/24
add action=mark-routing chain=prerouting comment="Mark Yandex" dst-address-list=yandex new-routing-mark=Traffic_yandex passthrough=no src-address=192.168.106.0/24

Создание VPN-подключения
В качестве примера воспользуемся бесплатным сервисом VPN PPTP – uFreeVPN.

Для примера выберем сервер, расположенный в Лондоне (Великобритания) – *** ссылки только после регистрации или входа, логин ufreevpn.com, пароль free.

Минусом конкретно данного сервиса является то, что он постоянно меняет пароли для подключения к серверу, мы же используем его исключительно в качестве примера.

Создание подключения к VPN осуществляется в разделе PPP – Interface, нажимаем синий плюс и выбираем необходимый тип подключения.

Код: *** ссылки только после регистрации или входа
/interface pptp-client
add comment="VPN Failover" connect-to=ukvpn.ufreevpn.com disabled=no name=pptp-to-freevpn password=free user=ufreevpn.com

Важно! Не используйте опцию «Add Default Route», в противном случае весь трафик пойдет через VPN.

Обратите внимание, некоторые серверы могут, как требовать шифрование, так и не использовать его вовсе, поэтому если соединение не удалось – проверьте используемый профиль подключения (PPP – Profiles). Для L2TP, в лучшем случае, используется MPPE 128-bit, который уже давным-давно скомпрометирован.

Лучшим вариантом будет использование OpenVPN, в частности с премиум-аккаунтом. Также не забывайте, что RouterOS не поддерживает пока TLS для OpenVPN.

Большинство бесплатных серверов могут быть нестабильны как в плане доступности, так и в плане скорости. К тому же, никто не гарантирует сохранности ваших личных данных. С учетом вышесказанного, к выбору поставщика услуг стоит подойти ответственно. Как минимум, всегда используйте защищенное соединение (HTTP) при работе с сайтами.

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

Делается это в разделе IP – Firewall – NAT. Для out-interface обязательно следует указать правильное название вашего VPN-подключения.

Код: *** ссылки только после регистрации или входа
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pptp-to-freevpn

Добавление статических маршрутов
После настройки маскарадинга переходим к завершающему шагу – созданию статических маршрутов. Делается это в разделе IP – Routers.

Код: *** ссылки только после регистрации или входа
/ip route
add comment="Route MAIL.RU" distance=1 gateway=pptp-to-freevpn routing-mark=Traffic_mailru
add comment="Route OK.RU" distance=1 gateway=pptp-to-freevpn routing-mark=Traffic_okru
add comment="Route VK.COM" distance=1 gateway=pptp-to-freevpn routing-mark=Traffic_vkcom
add comment="Route YANDEX" distance=1 gateway=pptp-to-freevpn routing-mark=Traffic_yandex

При создании маршрутов конечный адрес задаем как и для обычного интернет подключения –0.0.0.0/0, в качестве шлюза (gateway) необходимо указать VPN-подключение (в нашем случае pptp-to-freevpn). Обязательно выбираем routing-mark из выпадающего списка. Таким образом мы создаем статический маршрут для промаркированного трафика.



Вот собственно и всё, если всё проделано верно, а VPN рабочий – вы сможете получить доступ к необходимым ресурсам.
Также можете почитать официальную документацию Mikrotik по Policy Base Routing.

Как узнать IP определенного сайта?
Чуть выше, в качестве примера, опубликованы общие списки IP-адресов и диапазонов, принадлежащих соответствующим ресурсам. Списки предоставлен как есть, без претензий к их точности. Настоятельно рекомендую формировать список самостоятельно, так сказать «под себя».
В случае с обычными интернет-сайтам, обычно требуется добавить всего 1-2 IP-адреса, в то время как для больших проектов может использоваться несколько диапазонов. Как же найти все IP по определенному сайту?

В качестве наиболее простого варианта, из под Windows (вызов командной строки – комбинация Win+R) можно использовать стандартную команду:

Код: *** ссылки только после регистрации или входа
nslookup <домен>
Недостатком такого метода является получение неполного списка адресов.
Для поиска наиболее полного списка всех адресов, можно *** ссылки только после регистрации или входа. При помощи поиска от Hurricane Electric, можно производить поиск, как по доменному домену (например, youtube.com), так и по названию компании, которая владеет пулом адресов (например, Youtube либо YouTube, LLC).


Редактирование, обновление и добавление новых ресурсов
Еще одним неоспоримым преимществом раздельных списков является то, что в любой момент можно добавлять, удалять или изменять отдельные списке, при этом остальные ресурсы не будут затронуты.

Список подсетей для Лаборатории Касперского  Скачать список для Kaspersky Lab - *** ссылки только после регистрации или входа

Код: *** ссылки только после регистрации или входа
/ip firewall address-list
add address=93.159.230.0/23 list=kaspersky add address=93.159.228.0/23 list=kaspersky
add address=93.159.224.0/22 list=kaspersky add address=91.103.64.0/21 list=kaspersky add address=77.74.183.0/24 list=kaspersky
add address=77.74.180.0/22 list=kaspersky add address=77.74.178.0/23 list=kaspersky add address=77.74.177.0/24 list=kaspersky
add address=77.74.176.0/24 list=kaspersky add address=185.85.15.0/24 list=kaspersky add address=185.85.14.0/24 list=kaspersky
add address=185.85.12.0/24 list=kaspersky add address=185.54.221.0/24 list=kaspersky add address=185.54.220.0/24 list=kaspersky

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

Что делать, если Policy Based Routing медленно работает?
На некоторых конфигурациях может возникнуть проблема, суть которой состоит в том, что при прямом подключении по VPN на ПК – всё работает быстро, но если настроить Policy Based Routing по вышеуказанному примеру в Mikrotik, сайты начинают открываются медленно.

Проблема решается отключением FastTrack в IP – Firewall – Filter Rules.





Поддержка FastTrack была добавлена, начиная с RouterOS 6.29, если кратко, функция позволяет пересылать некоторые пакеты без дополнительно обработки. В некоторых конфигурациях, данная функция позволяет существенно (в несколько раз) ускорить обработку пакетов и понизить нагрузку на процессор.

Источник: *** ссылки только после регистрации или входа
« Последнее редактирование: Мая 24, 2017, 06:38:38 pm от Дмитрий »


  • admin.ix-ua@jabber.ua
Новости из мира *** ссылки только после регистрации или входа