Микротик блокировка сайтов: Блокировка сайта в mikrotik
Как заблокировать сайты Вконтакте, Одноклассники и mail.ru на Mikrotik
Блокировка сайтов на MikroTik с помощью firewall Layer 7:
/ip firewall layer7-protocol add name=social regexp="^.*(get|GET).+(vk.com|odnoklassniki.com|ok.ru|my.mail.ru|facebook.com|twitter.com).*$"
/ip firewall layer7-protocol add name=social regexp="(|`ok.ru`|odno(c|k)la(s|ss)niki|fall-in-love|loveplanet|my.mail.ru)"
/ip firewall filter add chain=forward layer7-protocol=social action=drop
Блокировка сайтов на MikroTik с помощью DNS Layer 7:
Будем блокировать сайты на прикладном уровне модели OSI (Layer 7).
Всеми любимые социальные сети: вКонтакте, Одноклассники, Мой мир или любой другой сайт имеет смысл так блокировать, если Микротик является сервером, который обеспечивает выход в Интернет.
Важное условие: Mikrotik должен выступать в роли DNS-сервера.
Минус у этого способа: если использовать любой другой DNS-сервер на компьютерах, то никакой блокировки не будет. Конечно Мы можем создать правило, которым заблокируем весь DNS-трафик, кроме как к нашему серверу.
Настройки статических DNS-записей в Mikrotik:
В консоле нам нужно набрать: /ip dns static
Так Мы перейдем в настройку DNS-сервера Микротика. Тут можно связать любое доменное имя с любым ИП-адрессом.
Mikrotik поддерживает регулярные выражения для записи доменного имени. Но это медленнее, поэтому старайтесь не злоупотреблять. Для таких записей устанавливается флаг «R» (для PTR-записей нельзя использовать регулярные выражения). Для регулярных выражений точка заменяет любой символ.
Примеры:
1.Давайте сайту "www.vk.com" назначим ип-адресс 127.0.0.1, что сделает его полностью неработоспособным: [admin@MikroTik3] ip dns static> add name www.vk.com address=127.0.0.1
[admin@MikroTik3] ip dns static> print Flags: D - dynamic, X - disabled, R - regexp # NAME ADDRESS TTL 0 www.vk.com 127.0.0.1 1d
2."Заблокируем" некоторые социальные сети:
[admin@MikroTik3] ip dns static> add name name=".*\.vk\.com" address=127.0.0.1 [admin@MikroTik3] ip dns static> add name name=".*\.vkontakte\.com" address=127.0.0.1 [admin@MikroTik3] ip dns static> add name name=".*\.odnoklassniki\.ru" address=127.0.0.1 [admin@MikroTik3] ip dns static> add name name=".*\.my\.mail\.ru" address=127.0.0.1
Блокировка сайтов с помощью Firewall на MikroTik:
Будем блокировать сайты на сетевом уровне модели OSI (Layer 3).
Итак нам понадобятся IP-адреса, которые нужно блокировать.
Например:
>nslookup vk.com Name: vk.com Addresses:87.240.131.104 87.240.143.245 87.240.143.246 87.240.143.247 87.240.143.248 87.240.188.248 87.240.188.253 93.186.224.244 93.186.224.245 87.240.131.101 87.240.131.102 87.240.131.103 |
Теперь можно заблокировать все эти IP-адреса. Можно даже всю сеть (87.240.128.0/18) заблокировать:
inetnum: 87.240.128.0 - 87.240.159.255 netname: VKONTAKTE-SPB-NET descr: Vkontakte Ltd country: RU admin-c: PVD90-RIPE tech-c: PVD90-RIPE status: ASSIGNED PA mnt-by: VKONTAKTE-NET-MNT source: RIPE # Filtered |
Блокировка в Firewall:
/ ip firewall filter add chain=forward src-address-list=socialnetworks action=drop comment="Social Network" disabled=no /ip firewall address-list add list=socialnetworks address=87.240.143.247 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.143.248 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.188.248 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.188.253 disabled=no /ip firewall address-list add list=socialnetworks address=93.186.224.244 disabled=no /ip firewall address-list add list=socialnetworks address=93.186.224.245 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.131.101 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.131.102 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.131.103 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.131.104 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.143.245 disabled=no /ip firewall address-list add list=socialnetworks address=87.240.143.246 disabled=no |
Еще несколько вариантов блоков:
ВКонтакте:
/ip firewall address-list add list=vk address=87.240.128.0/18 /ip firewall address-list add list=vk address=93.186.224.0/20 /ip firewall address-list add list=vk address=95.142.192.0/20 /ip firewall address-list add list=vk address=95.213.0.0/17 /ip firewall address-list add list=vk address=185.32.248.0/22
Mail.ru:
/ip firewall address-list add list=mailru address=5.61.16.0/21 /ip firewall address-list add list=mailru address=5.61.232.0/21 /ip firewall address-list add list=mailru address=79.137.157.0/24 /ip firewall address-list add list=mailru address=79.137.183.0/24 /ip firewall address-list add list=mailru address=94.100.176.0/20 /ip firewall address-list add list=mailru address=95.163.32.0/19 /ip firewall address-list add list=mailru address=128.140.168.0/21 /ip firewall address-list add list=mailru address=178.22.88.0/21 /ip firewall address-list add list=mailru address=178.237.16.0/20 /ip firewall address-list add list=mailru address=185.5.136.0/22 /ip firewall address-list add list=mailru address=185.6.247.0/24 /ip firewall address-list add list=mailru address=185.16.244.0/22 /ip firewall address-list add list=mailru address=188.93.56.0/21 /ip firewall address-list add list=mailru address=194.186.63.0/24 /ip firewall address-list add list=mailru address=195.211.20.0/22 /ip firewall address-list add list=mailru address=195.218.168.0/24 /ip firewall address-list add list=mailru address=195.218.190.0/23 /ip firewall address-list add list=mailru address=217.20.144.0/20 /ip firewall address-list add list=mailru address=217.69.128.0/20
Одноклассники:
/ip firewall address-list add list=ok address=5.61.16.0/21 /ip firewall address-list add list=ok address=5.61.232.0/21 /ip firewall address-list add list=ok address=79.137.157.0/24 /ip firewall address-list add list=ok address=79.137.183.0/24 /ip firewall address-list add list=ok address=94.100.176.0/20 /ip firewall address-list add list=ok address=95.163.32.0/19 /ip firewall address-list add list=ok address=128.140.168.0/21 /ip firewall address-list add list=ok address=178.22.88.0/21 /ip firewall address-list add list=ok address=178.237.16.0/20 /ip firewall address-list add list=ok address=185.5.136.0/22 /ip firewall address-list add list=ok address=185.6.247.0/24 /ip firewall address-list add list=ok address=185.16.244.0/22 /ip firewall address-list add list=ok address=188.93.56.0/21 /ip firewall address-list add list=ok address=194.186.63.0/24 /ip firewall address-list add list=ok address=195.211.20.0/22 /ip firewall address-list add list=ok address=195.218.168.0/24 /ip firewall address-list add list=ok address=195.218.190.0/23 /ip firewall address-list add list=ok address=217.20.144.0/20 /ip firewall address-list add list=ok address=217.69.128.0/20
Yandex:
/ip firewall address-list add list=yandex address=5.45.192.0/18 /ip firewall address-list add list=yandex address=5.255.192.0/18 /ip firewall address-list add list=yandex address=37.9.64.0/18 /ip firewall address-list add list=yandex address=37.140.128.0/18 /ip firewall address-list add list=yandex address=77.88.0.0/18 /ip firewall address-list add list=yandex address=84.201.128.0/18 /ip firewall address-list add list=yandex address=87.250.224.0/19 /ip firewall address-list add list=yandex address=93.158.128.0/18 /ip firewall address-list add list=yandex address=95.108.128.0/17 /ip firewall address-list add list=yandex address=100.43.64.0/19 /ip firewall address-list add list=yandex address=130.193.32.0/19 /ip firewall address-list add list=yandex address=141.8.128.0/18 /ip firewall address-list add list=yandex address=178.154.128.0/17 /ip firewall address-list add list=yandex address=199.21.96.0/22 /ip firewall address-list add list=yandex address=199.36.240.0/22 /ip firewall address-list add list=yandex address=213.180.192.0/19
Вконтакте
Google+
LiveJournal
Одноклассники
Мой мир
Mikrotik — Правильная блокировка ресурсов по доменному имени | IT блоги
Знаете, я не поклонник блокировки сайтов на роутере, который предназначен для более серьезных задач. Это все равно что забивать гвоздь ковшом трактора. Но тем не менее иногда просто нет другого выхода. Представьте контору с 5-50 машинами, микротиком и больше ничего. Ах да, есть еще руководитель организации который платит за интернет, иногда даже по потребляемому трафику. И этот руководитель не хочет платить большие деньги за развлечения и отвлечения от работы сотрудников организации. И собственного опыта работы системным администратором знаю, что какой бы хороший интернет не был у сотрудника дома, его хлебом не корми, только дай залезть в контакт, одноклассники или порнухи посмотреть. Причем штрафные санкции со стороны начальства никого не пугают.
Так вот решил я задуматься над тем, как заблокировать нежелательный контент на микротике. Открыл поисковик и изучил множество способов, и пришел к выводу: что все что не делается под микротик, делается либо через ж… либо не до конца.
Основные проблемы:
Не рубит то что надо.
Рубит но не все.
Рубит, но половина сайтов перестает открываться.
Рубит, но нужно настраивать через WebProxy.
Настройку блокировки сайтов через WebProxy рассматривать не буду, т.к. это немного прошлый век.
Остановлюсь на рассмотрении основных ошибок, в примерах где начало было положено неплохое, но в конце все испортили.
Попробуем заблокировать: vk.com
Самое ужастное что можно было придумать это — аля:
/ip firewall filter add chain=forward protocol=tcp src-address=192.168.0.0/24 dst-address=87.240.143.244 action=drop
Помимо того что vk.com, vkontakte.ru, vkadre.ru имеет целых три жирных диапазона серверов, так еще случайность попадания на этот сервер крайне мала. Кроме того у контакта есть свой чудный api для встраивания комментариев на любые другие сайты.
Далее еще один пример, получше, но не совсем:
/ip firewall filter add chain=forward protocol=tcp src-address=192.168.0.0/24 content=»vk.com» action=drop
И данное правило с параметром content убьет все пакеты в которых содержится vk.com, следовательно все страницы в интернете, где есть встроенный комментатор контакта, будут открываться по 2-5 мин (Зависит от браузера и количества повторных попыток) или вообще улетят по таймауту.
Такое же правило, но параметр content немного другой:
/ip firewall filter add chain=forward protocol=tcp src-address=192.168.0.0/24 content=»Host: vk.com» action=drop
Приводит к тому же результату, пакеты дропаются, браузер пытается открыть повторно, пытается, пытается и забивает.
Два последних правила несомненно работают, только вот очень жаль, что при этом страдают сайты с иногда очень полезной информацией, которые имели неосторожность добавить на свои страницы комментарии вконтакте.
За эти 2-5 минут (разные браузеры) пользователь уже передумает ждать этот сайт, а у некоторых складывается иллюзия что инет глючит и работает через раз.
Жаль что люди которые учат данными примерами в интернете почти никогда толком не проверяют свою работу, идеи то хорошие, только вот незаконченные….
Итак, гвоздь программы : action=reject reject-with=tcp-reset
Просто нужно сообщить браузеру что запрашиваемый хост сбросил соединение, тогда браузер пропустит повторные попытки качать с данного хоста, следовательно страницы со встроенным vk открываются почти сразу.
Данное правило вызвало сообщение во фрейме о том что «Соединение закрыто удалённым сервером», при попытке открыть vk.com выдал тоже самое.
/ip firewall filter add chain=forward protocol=tcp src-address=192.168.0.0/24 content=»vk.com» action=reject reject-with=tcp-reset
Это правило показало более культурную картинку во фрейме в стиле «контакт задумался», при открытии vk.com браузер предложил скачать файл default длинной в 0 байт 🙂
/ip firewall filter add chain=forward protocol=tcp src-address=192.168.0.0/24 content=»Host: vk.com» action=reject reject-with=tcp-reset
Ну вот как то так, хочется лишь позлорадствовать в конце. Хотите стать специалистами? Научитесь доводить свои идеи и мысли, до своего логического завершения. И все обязательно получится 😉
(с)
Смотрите также:
Mikrotik. Блокировка соц.сетей и других интернет страниц для определенных IP в локальной сети по средствам RouterOS
Работаю системным администратором в небольшой организации и недавно столкнулся с задачей: заблокировать доступ к соц.сети только определенному кругу лиц.
Введение: архитектура сети крайне банальна — локальная сеть из 35 компьютеров, роутер PC на базе RouterOS v5 и внешняя выделенка. Компы на DHCP-сервере Mikrotik’a c статической привязкой к MAC. Перерыв кучку страниц в интернете попадал на разные реализации, но проблема была в блокировке для всей сети, а не конкретных клиентов.
Реализация: в моём случае самым удачным способом оказалось создание proxy-сервера и направление нужного мне клиента на proxy. Для начала настраиваем Proxy в RouterOS:
IP -> Proxy
/ip proxy set port=8080 enabled=yes
(Рис. 1)
Далее входим в Access (выделено желтым на рис.1) и вводим адреса узлов, которые необходимо заблокировать, как это показано на рис.2
/ip proxy access add dst-host=*vk.com* action=deny
(Рис. 2)
Итак, имеем включенный proxy c правилом блокировки определенного узла. Теперь нам необходимо перенаправить нужный IP на proxy. Для этого идем в IP -> Firewall -> NAT и добавляем правило (рис.3, 4)
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080
(Рис. 3)
(Рис. 4)
Далее 2 варианта развития:
1) Добавить один конкретный IP
или
2) Добавить список IP-адресов
Вариант 1: В нашем созданном правиле добавляем во вкладке General параметр Src.Address=IP (к примеру 192.168.1.14 рис.5).
(Рис. 5)
В итоге нужного нам человека мы адресуем на proxy который в свою очередь все, что нужно, успешно блокирует.
Вариант 2: В нашем созданном правиле во вкладке Advanced добавляем параметр Src.Address list=Block_List (сам Block_List сейчас будем наполнять)
(Рис. 6)
Заполняем наш Block_List: в моем случае IP адреса клиенты получают с DHCP сервера mikrotik и за каждым MAC адресом статически забит конкретный IP адрес. Просто кликаем по клиенту и в поле Address List вбиваем название нашего списка (в нашем случае это Block_List).
(Рис. 7)
Или в FireWall’e во вкладке Address List создаем вручную записи с привязкой нужного IP к нужному списку. (Рис. 8)
/ip firewall address-list add list=Block_List address=192.168.1.15
(Рис. 8)
Вот в общем то и все!
Обход блокировки сайтов со стороны провайдера на Mikrotik (RouterOS) при помощи Policy Based Routing
В рамках данной публикации мне хотелось бы поговорить об одном из методов обхода блокировки сайтов со стороны провайдера на маршрутизаторах Mikrotik под управлением RouterOS.
Бывают такие ситуации, когда провайдер блокирует доступ к некоторым ресурсам. Зачастую, блокировка ресурсов осуществляется на базе URL, IP и DNS, многое, конечно же, зависит от типа и возможностей оборудования, применяемого самим провайдером.
Блокировка по IP – один из популярных методов, при котором запрет осуществляется на базе конечного IP-адреса ресурса, это также может быть диапазон IP или же несколько диапазонов (для очень больших проектов).
Блокировка по DNS сводится к запрету, исключению либо подмене конечного IP для заданного домена. По сути, данный метод блокировки обходится довольно просто, путем замены DNS провайдера на сторонние, к примеру Google DNS (8.8.8.8, 8.8.4.4), Yandex DNS (базовый: 77.88.8.8, 77.88.8.1; безопасный: 77.88.8.88, 77.88.8.2; семейный 77.88.8.7, 77.88.8.3) или любой другой, который вашей душе угоден.
Если Вы хотите научиться настраивать MikroTik, предлагаем пройти онлайн обучение. Более подробную информацию Вы можете найти в конце данной публикации.
Серьезные провайдеры могут использовать так называемый DPI (Deep packet inspection), который по-сути, является глубоким анализов пакетов. DPI способен блокировать ресурсы не только по IP или DNS, но и при использовании прокси-серверов (Proxy) или других незащищенных каналов передачи.
В случае с простой блокировкой IP, обход осуществляется без проблем при помощи любого прокси-анонимайзера или любого VPN.
В случае с DPI, всё куда более сложнее, т.к. система анализирует не только заголовки пакетов, конечного получателя и т.д., но и содержимое пакета, копаясь в передаваемых данных, тем самым может даже нарушать законодательство, если, конечно же, в пользовательском соглашении нет мелкого шрифта. Возможности DPI очень широки и при желании, провайдер может даже запретить вам использовать OpenVPN.
Сегодня мы не будем рассматривать все методы обхода всех видов блокировки, а лишь рассмотрим один из вариантов реализации обхода, который предложен в официальной документации Mikrotik (Policy Based Routing).
Предполагается, что заранее у вас уже должен быть маршрутизатор на RouterOS, если такого не имеется — по выгодной цене маршрутизаторы Mikrotik можно приобрести в интернет-магазине Gigahertz.
Наиболее простой вариант обхода – использовать серверы 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
/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 – SuperFreeVPN. Для примера выберем сервер, расположенный в Лондоне (Великобритания) – IP 77.92.68.65 (uk.superfreevpn.com), логин free, пароль 1891. Обратите внимание, тип подключения PPTP либо L2TP. Минусом конкретно данного сервиса является то, что он постоянно меняет пароли для подключения к серверу, мы же используем его исключительно в качестве примера.
Создание подключения к VPN осуществляется в разделе PPP – Interface, нажимаем синий плюс и выбираем необходимый тип подключения.
/interface pptp-client
add comment="VPN Failover" connect-to=uk.superfreevpn.com disabled=no name=pptp-to-freevpn password=1891 user=free
Важно! Не используйте опцию «Add Default Route», в противном случае весь трафик пойдет через VPN.
Обратите внимание, некоторые серверы могут, как требовать шифрование, так и не использовать его вовсе, поэтому если соединение не удалось – проверьте используемый профиль подключения (PPP – Profiles). Для L2TP, в лучшем случае, используется MPPE 128-bit, который уже давным-давно скомпрометирован.
Лучшим вариантом будет использование OpenVPN, в частности с премиум-аккаунтом. Также не забывайте, что RouterOS не поддерживает пока TLS для OpenVPN.
Большинство бесплатных серверов могут быть нестабильны как в плане доступности, так и в плане скорости. К тому же, никто не гарантирует сохранности ваших личных данных. С учетом вышесказанного, к выбору поставщика услуг стоит подойти ответственно. Как минимум, всегда используйте защищенное соединение (HTTPS) при работе с сайтами.
Настройка маскарадинга
Сам 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 <домен>
Недостатком такого метода является получение неполного списка адресов — некоторые сервисы могут отдавать всего 2 записи из Х, а на следующий день они уже могуть стать другими. Для поиска наиболее полного списка всех адресов, можно воспользоваться специальными сервисами. При помощи поиска от Hurricane Electric, можно производить поиск, как по доменному домену (например, youtube.com), так и по названию компании, которая владеет пулом адресов (например, Youtube либо YouTube, LLC).
Редактирование, обновление и добавление новых ресурсов
Еще одним неоспоримым преимществом раздельных списков является то, что в любой момент можно добавлять, удалять или изменять отдельные списке, при этом остальные ресурсы не будут затронуты.
Список подсетей для Лаборатории Касперского
/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, если кратко, функция позволяет пересылать некоторые пакеты без дополнительно обработки. В некоторых конфигурациях, данная функция позволяет существенно (в несколько раз) ускорить обработку пакетов и понизить нагрузку на процессор.
Что делать, если провайдер делает подмену DNS-записей?
Для того, чтобы показывать клиенту страницу-заглушку, вместо конечного URL, провайдеры практикуют подмену DNS-записей. Проверить это очень легко: открываем командную строку и делаем tracert для необходимого домена, после чего проверяем whois для конечного IP, который асоциирован с доменным именем. Если IP не принадлежит конечному ресурсу, значит имеет место подмена DNS-записи.
В таком случае, если вы используете DNS провайдера, при подключении по VPN, для конечного домена будет использоваться IP, предоставленный провайдером. Поэтому, при обращении к домену даже через VPN, в конечном итоге, вы обратно попадете на страницу с заглушкой (если это внешний IP) либо получите ошибку «сервер не найден» (если IP недоступен). В этом случае необходимо отказаться от использования DNS провайдера (use-peer-dns=no), например:
/ip dhcp-client
add comment="default configuration" dhcp-options=hostname,clientid disabled=no interface=ether1-gateway use-peer-dns=no
Либо через интерфейс Winbox: зайти в подменю IP — DHCP Client, выбрать свое подключение к Интернет и отключить в его профиле опцию «Use Peer DNS».
Далее необходимо задействовать сторонние DNS-серверы, например Google DNS (8.8.8.8, 8.8.4.4), Яндекс DNS (77.88.8.8, 77.88.8.1) и/или любой другой сервер:
/ip dns
set allow-remote-requests=yes cache-size=1024KiB query-server-timeout=1s servers=8.8.8.8,8.8.4.4,77.88.8.8,77.88.8.1
После чего выполняетм очистку кеша DNS-записей:
/ip dns cache flush
Либо в Winbox: в разделе IP — DNS — Cache — Flush Cache.
Что делать, если провайдер перехватывает обращения к стороннему DNS?
На практике возможны случаи, когда провайдер перехватывает обращения к внешним DNS-сервисам (используя DNAT), возвращая при этом клиенту измененный ответ от сервера, в котором можно сразу подставить страницу с заглушкой. В этом случае все обращения к внешнему DNS также необходимо заворачивать в VPN, например:
/ip firewall address-list
add address=8.8.8.8 list=dns
add address=8.8.4.4 list=dns
add address=77.88.8.8 list=dns
add address=77.88.8.1 list=dns
/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark DNS traffic" dst-address-list=dns new-routing-mark=Traffic_dns passthrough=no src-address=192.168.106.0/24
/ip route
add check-gateway=ping comment="Route DNS" distance=1 gateway=l2tp-to-germany routing-mark=Traffic_dns
Есть у данного метода и минус: при подключении к серверу VPN по dns-имени, может возникнуть проблема, связанная с невозможностью получения IP, т.к. подключение по имени, а ответы от DNS принимаются только внутри тонеля.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.
Блокировка cоциальных сетей средствами Mikrotik
Задача блокировки социальных сетей Вконтакте, Одноклассники, да и любых других сайтов, очень просто решается средствами самого маршрутизатора Mikrotik. В основном, в сети можно найти описание уже устаревшего варианта решения данной проблемы с использованием L7 протокола.
Однако, такой вариант блокировки нежелательных сайтов сильно нагружает процессор маршрутизатора, так как приходится разбирать регулярные выражения, зачастую ещё и не правильно составленные в этих инструкциях. Таким образом можно заблокировать и те сайты, которые по ошибке тоже попали под регулярное выражение.
Пример такого неудачного регулярного выражения Layer7 Protocols для фильтрации социальных сетей:
^.+(vk.com|vkontakte|ok.ru|odnoklassniki|facebook|loveplanet|love.mail.ru).*$
Нетрудно заметить, что под действие данного правила, например, попадают любые сайты с окончанием доменного имени *ok.ru. Плюс возросшая нагрузка на роутер.
Блокировка cоцсетей на Mikrotik через адресные листы
В RouterOS, начиная с версии v6.36, появилась возможность добавлять доменные имена в адресные листы. В результате отпала необходимость заморачиваться с составлением регулярных выражений для Layer7 Protocols и такой вариант блокировки нежелательных сайтов практически не нагружает процессор роутера.
Первым делом добавляем нужные сайты в адресный лист (назовём его social). Сделать это можно и через web-интерфейс, перейдя в меню IP > Firewall > Address_Lists, но в данном случае удобнее использовать режим терминала (тоже в web-интерфейсе):
/ip firewall address-list add address=vk.com list=social
/ip firewall address-list add address=ok.ru list=social
Весьма удобно, что соцсети сами делают редирект на свои короткие доменные имена, потому нет необходимости дополнительно прописывать vkontakte.ru или odnoklassniki.ru и тому подобное, они заблокируются самостоятельно.
Осталось добавить правило блокировки в файервол:
/ip firewall filter add action=drop chain=forward src-address=192.168.11.0/24 dst-address-list=social
В приведённом примере блокируются соединения для доменов vk.com и ok.ru для всей подсети 192.168.11.0/24. Роутер самостоятельно добавляет нужные ip адреса, соотвествующие этим доменам в файервол. Вместо drop я бы рекомендовал использовать reject, так как оно быстрее сбрасывает соединение:
/ip firewall filter add action=reject chain=forward src-address=192.168.11.0/24 dst-address-list=social protocol=tcp reject-with=tcp-reset
Что ещё почитать про настройку MikroTik:
Не ленитесь ставить лайк и подписываться на канал Дзен и паблик Вконтакте, будет ещё много интересного.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Как заблокировать социальные сети и сайты с помощью Mikrotik | Mikrotik
Так или иначе рано или поздно у руководства любой компании появляется идея «А не заблокировать ли нам социальные сети. А то сотрудники не работают, а только в интернете ерундой занимаются». Вот и приходит команда админу «ЗАБЛОКИРОВАТЬ». И хорошо если в компании имеется мощный прокси-сервер который умеет разбирать шифрованный SSL трафик и влет блокировать все что админу угодно. Но игрушки такие стоят дорого, да и квалификация должна быть соответствующая. А в обычной рядовой фирме, хорошо если у админа есть хороший маршрутизатор. Собственно говоря в этой статье я и расскажу, как за пару минут с помощью Mikrotik и ровных рук можно решить поставленную задачу. Добро пожаловать под кат.
«Да я тебя по IP вычислю и забаню!»
Многие, кто в теме, помнят древнюю угрозу, которая озвучивалась на заре интернета в нашей стране. Но если посмотреть, то с тех самых времен мало что поменяловь. И как оговорится все гениальное просто. Давайте рассмотрим варианты, как можно решить поставленную руководством задачу без дополнительного финансирования:
- Прокси сервер — дешевые и бесплатные аналоги не умеют разбирать SSL трафик, а все современные социальные сети уже давно перешли на HTTPS. Дорогие варианты, которые умеют разбирать HTTPS и SSL на никто не купит. Так что для нас это не вариант
- Заглушка в DNS — Интересный андеграудный вариант. Создать левые зоны для каждой социальной сети и возвращать IP-адрес, например 127.0.0.1. Идея прикольная, вот только одна проблема — далеко не всем нужно банить социалки. В итоге это абсолютно не гибкий инструмент, который нам не подходит.
- Бан по IP. При всей своей простоте, в нашем случае это самый простой и гибкий инструмент. Почему? Все просто. Можно создать списки адресов и создать правила согласно которым кого-то пускать по указанным адресам а кого-то нет. Этот способ плохо подходит для блокировки отдельных мелких сайтов, поскольку блокирует не только ресурсы которые нам нужны, но и все остальные что живут на том же сервере. В итоге, для мелочи этот способ не годится, а вот для крупных гигантов, коими и являются социальные сети это то что нужно
Общий принцип действия
И так, со способами мы разобрались и определили наиболее для нас удобный. Теперь попробую описать что нам нужно.
- Определяемся с ресурсом который мы хотим заблокировать. Пускай это будет ну скажем тот же twitter.
- Идем по ссылке https://bgp.he.net/ и в строке поиска вбиваем название ресурса. В нашем случае это twitter.
- Ждем пока отработает поиск. Вуаля! у нас в руках список всех адресов и подсетей, которые использует twitter.
- Теперь любым удобным способом на маршрутизаторе создаем список IP адресов с удобным названием, например TWITTER-IPs
- Любым удобным способом на маршрутизаторе создаем список IP адресов компьютеров, которым можно посещать данный ресурс, назовем его TWITTER-USERS_PC
- Создаем правило в Firewall согласно которому разрешаем доступ компьютерам из списка TWITTER-USERS_PC к адресам из списка TWITTER-IPs
- Создаем правило в Firewall согласно которому запрещаем доступ к адресам из списка TWITTER-IPs
Все. Теперь только определенные пользователи могут посещать TWITTER. Точнее на ресурс можно попасть только с определенных ПК. С остальных ПК ресурс работать не будет. Вообще. Маршрутизатор будет полностью блокировать трафик на TWITTER и будет абсолютно все равно по какому протоколу, зашифрован там он или нет.
Вот как-то так.
От теории к практике
Вот вы сейчас прочитали то что я написал и задаетесь вопросом. Как это все настроить? Да легко. Давайте я вам все это дело покажу. Опустим посещение сайта и получение списка адресов. рассмотрим блокировку на примере подсети 104.244.42.0/24 которая принадлежит твиттеру.
- Открываем Winbox и подключаемся к нужному маршрутизатору.
- Переходим в раздел IP подраздел FIREWALL и выбираем вкладку ADDRESS LISTS
- Создаем новый список адресов:
- В после NAME вбиваем имя списка которое нравится вам. Внимание! поле имя не уникально и если вам в один список нужно добавить несколько адресов или подсетей, то нужно создать несколько списков с одинаковыми именами
- А поле ADDRESS вписываем IP адрес или подсеть. В моем случае это подсеть.
- И так повторяем столько раз сколько адресов или подсетей мы хотим объединить в один список
- Теперь создадим список TWITTER-USERS_PC. делаем все точно так же как в пунктах 3-6 за исключением того, что список у нас будет называться TWITTER-USERS_PC а в поле ADDRESS нужно вписывать IP адреса компьютеров и подсетей, которым мы хотим разрешить доступ к твиттеру.
- В итоге получается как-то вот так:
- Переходим на вкладку FILTER RULES
- Нажимаем кнопку ADD и создаем новое правило
- На вкладке GENERAL ничего не меняем только выбираем CHAIN типа FORWARD
- Переходим на вкладку ADWANCED. В поле Src. Address List выбираем список TWITTER-USERS_PC. В поле Dst. Address List выбираем список TWITTER-IPs
- Переходим на вкладку Action. В поле Action выбираем пункт accept
- Сохраняем наше правило кнопкой ОК. При необходимости добавляем комментарий. Все правило, которое разрешает с определенных ПК ходить на twitter готов. теперь переходим к созданию правила, которое всем остальным запретит доступ к этому ресурсу.
- Нажимаем кнопку ADD и создаем новое правило
- На вкладке GENERAL ничего не меняем только выбираем CHAIN типа FORWARD
- Переходим на вкладку ADWANCED. Поле Src. Address List оставляем пустым. В поле Dst. Address List выбираем список TWITTER-IPs
- Переходим на вкладку Action. В поле Action выбираем пункт DROP
- Сохраняем наше правило кнопкой ОК. Все запрещающее правило готово.
Для того чтобы эта связка правил работала ее нужно перетащить повыше в списке правил Filter Rules.
Ну вот и все. теперь вы знаете как осуществить блокировку не только по определенному адресу, но и по определенной подсети или по нескольким подсетям.
Надеюсь информация была для Вас полезна. в скором времени я планирую выложить скрипты для автоматического создания списков адресов для разных ресурсов. Следите за новыми статьями.
Огромный выбор сетевого оборудования Микротик по приятным ценам.
Хороший выбор сетевого оборудования Mikrotik для жителей Беларуси.
Mikrotik ограничение доступа к сайтам
Популярная серия бюджетных маршрутизаторов из Латвии на базе RouterOS предоставляет пользователям широкие возможности по настройке. Сегодня я подробно рассмотрю возможности mikrotik по блокировке сайтов, рекламы, социальных сетей, по созданию списка запретов на доступ. Все эти средства присутствуют в роутерах из коробки и не требуют специальных знаний для настройки, кроме стандартных средств управления.
Данная статья является частью единого цикла статьей про Mikrotik.
Как быстро закрыть доступ к сайту
Начнем с самого простого. У нас есть роутер Mikrotik, утилита winbox и желание конкретному пользователю установить запрет на посещение определенного сайта. Подключаемся к роутеру и идем в раздел IP -> Firewall , открываем закладку Filter Rules :
Нажимаем на + и добавляем новое правило блокировки сайта:
На первой вкладке General заполняем:
- Указываем цепочку Forward.
- Указываем адрес пользователя, которому будет закрыт доступ к сайту.
- Выбираем протокол TCP.
Дальше переходим на вкладку Advanced :
В поле Content указываем адрес сайта, который нужно заблокировать, например vk.com. Переходим на вкладку Action :
Здесь выполняем следующие действия:
- В поле Action выбираем reject.
- В пункте Reject With указываем tcp reset.
- Нажимаем OK.
На этом основная настройка закончена. В данный момент правило по фильтрации сайта уже работает. Мы с помощью стандартных средств mikrotik смогли заблокировать vk.com. Это нетрудно проверить на клиенте. При попытке открыть адрес сайта популярной соц. сети он получит следующее сообщение в браузере chrome:
В данном случае мы в ручном режиме сделали блокировку сайта конкретному пользователю. Если у вас таких сайтов и пользователей много, процесс надо по-возможности автоматизировать.
Черный список сайтов для фильтрации
Давайте создадим отдельно список сайтов и укажем его в правиле, чтобы не создавать запрет для каждого имени отдельно. Сделать это не сложно. Для этого опять идем в раздел IP -> Firewall , открываем вкладку Layer7 Protocols и нажимаем «+» для добавления списка:
В поле regexp необходимо ввести регулярное выражение для организации списка сайтов. Я сам лично не умею составлять правильно регулярные выражения, поэтому приходится их искать в интернете. Подавляющее большинство регулярок, которые я нашел, у меня не заработали. Привожу вам список видеохостинга для блокировки в виде регулярного выражения, которое заработало лично у меня:
Список можно расширить, добавляя значения в скобках через знак вертикальной палки, что означает логическое «или».
После составления списка, включаем его в правило. Как создать правило я уже рассказал в первой части статьи. В данном случае отличие будет только в одном пункте:
Вместо поля Content выбираем название нашего списка для блокировки video в поле Layer7 Protocol.
Если у вас настроен firewall на микротике и в нем присутствуют какие-то правила, то текущее правило блокировки нужно правильно разместить в списке, чтобы оно работало. Например, у меня есть материал на тему настройки firewall. Там есть правила:
Текущее правило блокировки списка сайта на основе Layer7 Protocol должно стоять выше этого правила, иначе оно не будет работать. Я не до конца понял, почему, но я провел достаточно много тестов, чтобы убедиться, что его реально надо ставить выше. Ну и, разумеется, оно должно стоять выше правила, разрешающего соединения forward из локальной сети.
В этом правиле блокировки в поле Src.Address вы можете указать конкретный ip пользователя, можете указать всю подсеть, либо вообще оставить поле пустым для запрета выхода на закрытые сайты всему транзитному трафику маршрутизатора, в независимости от его источника.
Вот как у меня выглядит список моих правил на фаерволе с учетом добавленного правила блокировки:
Тут я блокирую доступ c тестового ip адреса. Все остальные правила похожи на те, что я описывал в своей статье по настройке простого фаервола на микротике, ссылку на которую я приводил выше.
Вы можете включить логирование заблокированных соединений с сайтами из списка на вкладке Action самого правила:
Mikrotik будет генерировать подобные логи:
Эти записи вы можете перенаправить на удаленный сервер для логов, чтобы потом анализировать статистику срабатывания правила. Для удобства, эти правила можно разделить по сайтам, по пользователям и т.д. В общем, поле для контроля работы правила обширное.
Запретить социальные сети в mikrotik
Так как мы научились составлять списки для блокировки сайтов, на основе этой информации легко закрыть доступ в социальные сети одним правилом. Для этого как и ранее добавляем регулярное выражение со списком соц сетей:
Дальше создаем правило, как мы это делали выше и выбираем список, который только что добавили:
Выбираем как и ранее адреса источников для блокировки и добавляем правило. Все, этого достаточно для того, чтобы заблокировать социальные сети у пользователей. А включив логи, сможете еще и следить за тем, кто время от времени пытается в них зайти.
Блокировка рекламы средствами mikrotik
С помощью изученного средства по ограничению доступа к сайтам достаточно просто блокировать рекламу. Для примера рассмотрим вариант по блокировке рекламы в Skype. Так как я знаю адреса серверов, куда скайп лезет за рекламой, я могу его заблокировать в mikrotik. У меня есть список:
Это адреса, откуда загружается реклама. Списки эти могут меняться время от времени, нужно периодически проверять и обновлять. Самому подготовить список рекламных адресов для конкретного сервиса можно, к примеру, с помощью настройки собственного dns сервера и включения логирования запросов.
Дальше как обычно создаем regexp выражение для списка адресов:
Добавляем новое правило, подключаем к нему список, созданный ранее и наслаждаемся работой скайпа без рекламы.
Заключение
Материала в интернете по Микротику много. Я сам пока разбирался в данном вопросе перечитал кучу статей. И все они какие-то недоделанные. Либо вопрос слабо раскрыт, либо что-то вообще не работает. Не знаю, в чем причина такой ситуации. Возможно что-то меняется в настройках и информация становится неактуальной. Сходу у меня не заработала фильтрация на основе Layer7 Protocols, пришлось повозиться, покопаться в regexp, в правилах, в их расположениях. Надеюсь мой материал немного исправит данную ситуацию.
Буду рад любым замечаниям к статье, так как сам учусь в процессе написания. В своей работе лично я не использую какие либо ограничения доступа к сайтам, так как считаю это бесполезным занятием. Но многие пользуются, поэтому разбираться в этом вопросе считаю полезным делом.
Напоминаю, что данная статья является частью единого цикла статьей про Mikrotik.
Помогла статья? Есть возможность отблагодарить автора
Рекомендую полезные материалы по схожей тематике:
В этой инструкции вы узнаете, как заблокировать любой сайт в роутере MikroTik, социальную сеть одноклассники, вконтакте и т.п.
Блокирование сайтов по имени
В MikroTik RouterOS, начиная с версии 6.36, появилась возможность указывать DNS-имена сайтов в адрес-листах, а роутер сам определяет их IP-адреса или диапазоны IP-адресов. Поэтому процесс блокировки сайтов с помощью фаервола существенно упростился.
В RouterOS 6.36 и выше откройте меню NewTerminal и выполните следующие команды для блокировки сайтов:
# Добавляем список запрещенных сайтов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=youtube.com disabled=no
/ip firewall address-list add list=BlockedSites address=vk.com disabled=no
/ip firewall address-list add list=BlockedSites address=ok.ru disabled=no
# Добавляем в фаервол правило блокировки сайтов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment=»BlockedSites» disabled=no
# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment=»BlockedSites»] 1
# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment=»BlockedSites»] 1
Cписок запрещенных сайтов можно редактировать в меню IP — Firewall на вкладке Address Lists.
Правило блокировки находится в меню IP — Firewall на вкладке Filter Rules.
RouterOS по имени сайта неплохо определяет диапазоны IP-адресов, но не идеально. Мне не удалось с помощью данного способа заблокировать сайты facebook.com и instagram.com, поскольку MikroTik нашел не все необходимые диапазоны IP-адресов. Пришлось вручную найти необходимые IP-адреса и добавить их. Как это сделать, написано ниже.
Блокирование сайтов по IP-адресу
Фаервол позволяет заблокировать сайт по его IP-адресу. Узнать IP-адрес сайта можно в Windows, набрав в консоли команду nslookup имя сайта, например nslookup vk.com.
Чтобы выполнить команду nslookup в маршрутизаторе MikroTik, откройте меню New Terminal и выполните команду-аналог put [:resolve vk.com]
Сайты социальных сетей имеют много серверов с разными IP-адресами и вышеуказанные команды могут не показать адреса всех серверов. Поэтому лучше всего с помощью онлайн сервисов whois узнать, какие сети принадлежат данной социальной сети. Например, Vkontakte Ltd принадлежит сеть 87.240.128.0/18 и 93.186.224.0/22.
В поиске IP-адресов также поможет сервис bgp.he.net
После того, как мы узнали нужные нам IP-адреса, выполните в терминале MikroTik следующие команды:
# Добавляем список запрещенных IP-адресов с названием BlockedSites
/ip firewall address-list add list=BlockedSites address=87.240.143.244 disabled=no
/ip firewall address-list add list=BlockedSites address=87.240.128.0/18 disabled=no
/ip firewall address-list add list=BlockedSites address=93.186.224.0/22 disabled=no
# Добавляем в фаервол правило блокировки IP-адресов из списка BlockedSites
/ip firewall filter add chain=forward src-address-list=BlockedSites protocol=tcp action=reject reject-with=tcp-reset comment=»BlockedSites» disabled=no
# Перемещаем в фаерволе правило BlockedSites вверх выше остальных правил
/ip firewall filter move [find comment=»BlockedSites»] 1
Блокирование социальных сетей довольно трудоемкий процесс, поскольку социальные сети открывают дубликаты своих сайтов с другими именами и IP адресами серверов. Продвинутые пользователи обходят ограничения еще с помощью сайтов анонимайзеров. Поэтому блокируя доступ к социальным сетям, вам также придется выискивать сайты анонимайзеры и тоже их блокировать.
Блокирование HTTPS сайтов
Сейчас в интернете много сайтов используют защищенный протокол https, который шифрует данные. Поэтому контент таких сайтов очень сложно фильтровать. В MikroTik RouterOS, начиная с версии 6.41.1, появилась возможность блокировать https-сайты (TLS трафик) с помощью расширения TLS SNI, называемого «TLS-HOST»
Например, чтобы заблокировать сайт youtube.com, выполните в терминале MikroTik следующие команды:
# Добавляем в фаервол правило блокировки HTTPS сайта
/ip firewall filter add chain=forward dst-port=443 protocol=tcp tls-host=*.youtube.com action=reject comment=»BlockHttpsSite» disabled=no
# Перемещаем в фаерволе правило BlockHttpsSite вверх выше остальных правил
/ip firewall filter move [find comment=»BlockHttpsSite»] 1
В параметре tls-host можно указывать имена сайтов, составленных с использованием синтаксиса GLOB. Этот синтаксис используют для создания подстановочных знаков в имени сайта.
Обратите внимание, что если фрейм TLS handshake будет фрагментирован на несколько TCP сегментов (пакетов), то невозможно будет сопоставить имя сайта и заблокировать его.
Блокирование сайтов с помощью статических DNS записей
Заблокировать доступ к сайту можно также, создав статическую DNS запись с названием сайта и несуществующим IP адресом для него, например 127.0.0.1. Перед именем сайта бывает автоматически приписывается www, поэтому нужно создавать две записи, например odnoklassniki.ru и www.odnoklassniki.ru
Откройте меню NewTerminal и выполните следующие команды для блокировки одноклассников:
У пользователей заблокированные сайты еще будут открываться некоторое время, потому что на компьютерах есть DNS кэш, в котором временно хранятся имена посещенных сайтов и их IP адреса. Для очистки DNS кэша на компьютере нужно запустить командную строку cmd и ввести команду ipconfig /flushdns.
Такой способ блокирования сайтов будет работать только в том случае, если пользователь использует DNS сервер центрального роутера MikroTik. Если пользователь настроит вручную другой адрес DNS сервера, то ограничение работать не будет. Поэтому все DNS запросы необходимо завернуть на наш роутер. Для этого откройте меню New Terminal и выполните следующие команды:
Далее перейдите в меню IP — Firewall и на вкладке NAT переместите созданные правила вверх. Теперь все DNS запросы будут идти через наш роутер.
Блокирование сайтов с помощью Proxy-сервера
Закрыть доступ к сайтам можно также с использованием прозрачного proxy-сервера MikroTik.
Разрешим использование прокси-сервера и настроим его. Для этого откройте New Terminal и выполните следующие команды:
Делаем proxy-сервер прозрачным:
Закрываем доступ к прокси-серверу со стороны интернета:
Настройка некоторых параметров оборудования Mikrotik. Если вы администратор какой либо сети, то вам рано или поздно, придется столкнуться с задачей, когда необходимо закрыть доступ к определенным сайтам. Если это корпоративная сеть, то это скорей всего будут сайты социальных сетей и разного рода развлекательные сайты. Да и дома, порой, возникает потребность защитить детей, от сайтов нежелательного содержания. Как это сделать в Mikrotik RouterOS? Существует несколько способов, самый простой из них, создать запрещающее правило в Firewall с соответствующим адресом сайта.
К примеру, нам нужно запретить доступ, к сайту odnoklassniki.ru.
Для этого, в утилите Winbox мы заходим в раздел Firewall, и на вкладке Filter Rules добавляем новое правило, нажатием кнопки “+”.
На вкладке General, в параметре Chain выбираем значение forward, в параметре Protocol выбираем значение 6(tcp), Dst. Port, мы пишем 80, а в In Interface ставим “!” возле значения и выбираем наш порт, к которому подключен кабель провайдера, например eather1.
Далее, переходим на вкладку Adwenced, где в поле Content, вписываем название нашего сайта (желательно без www).
Потом на вкладке Action в параметре Action, выбираем значение drop, чтобы запретить этот сайт.
Сохраняем наше правило кнопкой Ok
Теперь нам нужно только поднять это правило выше всех разрешающих правил. Поднимаем его на самый верх.
Если это правило включено, не один компьютер в вашей сети, не сможет посещать сайт Одноклассники.
Но ведь таких сайтов, может быть и 2 и даже 10, а то и 50! Как же быть в таком случае? Ведь 20-30 правил создавать не будешь. так как это создаст большую нагрузку на роутер, и может сказаться на качестве работы всей сети. Для этого мы воспользуемся более сложным, но не менее эффективным способом.
Сперва, мы должны узнать IP адрес или адреса сайта, который мы хотим запретить. Открываем на нашем компьютере консоль, и даем команду nslookup site.com, например для Одноклассников
Мы видим что IP адрес этого сайта 217.20.147.94.
Теперь открываем раздел Firewall, и заходим на вкладку Address List, где кнопкой “+”, добавляем новый адрес. В поле Name мы вписываем название нового списка, например, BlockedSites, а в поле адрес, вписываем адрес этого сайта. И сохраняем кнопкой Ok.
Теперь, таким же способом, определяем IP следующего сайта, скажем — Вконтакте
Но на этот раз, мы видим, что адресов, гораздо больше. И нам придется их всех по одному добавить в наш список.
Совет для продвинутых пользователей: не обязательно вводить все адреса по одному. легко выяснить с помощью whois сервиса, что компании Vkontakte Ltd принадлежит сеть 87.240.128.0/18 и забанить ее всю, как и сеть 93.186.224.0/22.
Таким образом, мы имеем список всех адресов сайтов, которые мы хотим запретить. И список этот у нас называется BlockedSites.
Теперь мы просто создаем правило в котором мы запрещаем весь этот список.
Для этого, как и в первом случае, в разделе Firewall, переходим на вкладку Filter Rules и добавляем новое правило, нажатием кнопки “+”.
На вкладке General, в параметре Chain выбираем значение forward, в параметре Protocol выбираем значение 6(tcp), Dst. Port, мы пишем 80, а в In Interface ставим “!” возле значения и выбираем наш порт, к которому подключен кабель провайдера, например eather1.
Переходим на вкладку Adwenced, где в поле Dst. Address List, выбираем в качестве параметра, созданный нами список BlockedSites.
И по аналогии с первым вариантом, на вкладке Action в параметре Action, выбираем значение drop, чтобы запретить эти сайты.
Сохраняем наше правило кнопкой Ok.
И поднимаем наше правило в самый верх списка.
Теперь, чтобы запретить любой другой сайт, нам достаточно просто добавить его адрес или адреса, в список BlockedSites на вкладке Address List.
Рекомендуем к прочтению
Как заблокировать социальные сети и сайты с помощью Mikrotik | Микротик
Так или иначе рано или поздно у руководства появляется идея «А не заблокировать ли нам социальные сети. А то сотрудники не работают, а только в интернете ерундой занимаются ». Вот и приходит команда админу «ЗАБЛОКИРОВАТЬ». И хорошо если в компании имеется мощный прокси-сервер, который умеет разбирать шифрованный SSL-трафик и влет блокировать все что админу угодно. Но игрушки такие стоят дорого, да и квалификация должна быть соответствующая.А в обычной рядовой фирме, хорошо если у админа есть хороший маршрутизатор. Собственно говоря в этой статье я и расскажу, как за пару минут с помощью Mikrotik и ровных рук можно решить поставленную задачу. Добро пожаловать под кат.
«Да я тебя по IP вычислю и забаню!»
Многие, кто в теме, помнят древнюю угрозу, которая озвучивалась на заре интернета в нашей стране. Но если посмотреть, то с тех самых времен мало что поменяловь. И как оговорится все гениальное просто. Давайте рассмотрим, варианты как можно решить поставленную задачу без дополнительного финансирования:
- Прокси сервер — дешевые и бесплатные аналоги не умеют разбирать трафик SSL, все современные социальные сети уже давно перешли на HTTPS.Дорогие варианты, которые умеют разбирать HTTPS и SSL на никто не купит. Так что для нас это не вариант
- Заглушка в DNS — Интересный андеграудный вариант. Создать левые зоны для каждой социальной сети и возвращать IP-адрес, например 127.0.0.1. Идея прикольная, вот только одна проблема — далеко не всем нужно банить социалки. В итоге это абсолютно не гибкий инструмент, который нам не подходит.
- Бан по IP. При всей своей простоте, в нашем случае это самый простой и гибкий инструмент.Почему? Все просто. Можно создать списки адресов и создать правила согласно кому-то пускать по указанным адресам а кого-то нет. Этот способ плохо подходит для отдельных мелких сайтов, поскольку блокирует не только ресурсы, которые нам нужны, но все остальные ресурсы живут на том же сервере. В итоге, для мелочи этот не годится, а вот для крупных гигантов.
Общий принцип действия
И так, со способами мы разобрались и определили наиболее для нас удобный.Теперь попробую описать что нам нужно.
- Определяемся с ресурсом который мы хотим заблокировать. Пускай это будет ну скажем тот же twitter.
- Идем по ссылке https://bgp.he.net/ и в строке поиска вбиваем название ресурса. В нашем случае это twitter.
- Ждем пока отработает поиск. Вуаля! у нас в списке всех адресов и подсетей, которые используют twitter.
- После сообщения, например, TWITTER-IPs
- Любым сообщениями через маршрутизатор создаст список IP компьютеров, которым можно посещать данный ресурс, назовем его TWITTER-USERS_PC
- Создайте правило в межсетевом экране, согласно которому создайте доступ к компьютеру из списка TWITTER-USERS_PC к адресам из списка TWITTER-IP
- Создаем правило в межсетевом экране, создаваемую согласно списку TWITTER-IP
Все.Теперь только пользователи могут посещать TWITTER. Точнее на ресурс можно попасть только с определенными ПК. С остальных ПК ресурс работать не будет. Вообще. Маршрутизатор будет полностью блокировать трафик на TWITTER и будет абсолютно все равно по какому протоколу, зашифрован там он или нет.
Вот как-то так.
От теории к практике
Вот вы прочитали то, что я написал и задаетесь вопросом. Как это все настроить? Да легко. Давайте я вам все это дело покажу.Опустим посещение сайта и получение списка. рассмотрим блокировку на примере подсети 104.244.42.0/24 которая принадлежит твиттеру.
- Открываем Winbox и подключаемся к нужному маршрутизатору.
- Переходим в раздел IP подраздел FIREWALL и выбираем вкладку СПИСКИ АДРЕСОВ
- Создаем новый список адресов:
- В после ИМЯ вбиваем имя списка которое нравится вам. Внимание! поле имя не уникально и если вам в один список нужно создать несколько адресов или подсетей, то нужно создать несколько списков с одинаковыми именами
- А поле АДРЕС вписываем IP адрес или подсеть.В моем случае это подсеть.
- И так повторяем столько адресов или подсетей мы хотим объединить в один список
- Теперь создадим список TWITTER-USERS_PC. делаем все точно так же как в пунктах 3-6 за исключением того, что список у нас будет называться TWITTER-USERS_PC в поле ADDRESS нужно вписывать IP-адреса компьютеров и подсетей, которым мы хотим разрешить доступ к твиттеру.
- В итоге получается как-то вот так:
- Переходим на вкладку ПРАВИЛА ФИЛЬТРА
- Нажимаем кнопку ADD и создаем новое правило
- На вкладке ОБЩИЕ ничего не меняем только выбираем ЦЕПЬ типа ВПЕРЕД
- Переходим на вкладку ADWANCED .В поле Src. Список адресов выбираем список TWITTER-USERS_PC. В поле Dst. Список адресов выбираем список TWITTER-IP
- Переходим на вкладку Действие . В поле Действие выбираем пункт принять
- Сохраняем наше правило кнопкой ОК . При необходимости добавляем комментарий. Все правило, которое разрешает с определенных ПК ходить на twitter готов. теперь переходим к созданию правил, которое всем остальным запретит доступ к этому ресурсу.
- Нажимаем кнопку ADD и создаем новое правило
- На вкладке ОБЩИЕ ничего не меняем только выбираем ЦЕПЬ типа ВПЕРЕД
- Переходим на вкладку ADWANCED . Поле Src. Список адресов оставляем пустым. В поле Dst. Список адресов выбираем список TWITTER-IP
- Переходим на вкладку Действие . В поле Действие выбираем пункт DROP
- Сохраняем наше правило кнопкой ОК .Все запрещающее правило готово.
Для того, чтобы эта связка правил работала, нужно перетащить повыше в списке правил фильтров.
Ну вот и все. теперь вы знаете, как осуществить блокировку по нескольким подсетям.
Надеюсь информация была для Вас полезна. в скором времени я планирую выложить скрипты для автоматического создания списков адресов для разных ресурсов. Следите за новыми статьями.
Огромный выбор сетевого оборудования Микротик по приятным ценам.
Хороший выбор сетевого оборудования Mikrotik для жителей Беларуси.
.
Блокировка cоциальных сетей средств Mikrotik
Задача блокировки социальных сетей Вконтакте, Одноклассники, да и любых других сайтов, очень просто решается средством самого маршрутизатора Mikrotik. В основном, в сети можно найти описание уже устаревшего варианта решения данной проблемы с использованием протокола L7.
Однако такой вариант блокировки нежелательных сайтов сильно нагружает процессор маршрутизатора, так как часто возникают регулярные выражения, часто даже и не правильно составленные в этих инструкциях.. + (vk.com | vkontakte | ok.ru | одноклассники | facebook | loveplanet | love.mail.ru) * $
Нетрудно заметить, что под действие данного правила, например, попадают любые сайты с окончанием доменного имени * ok.ru. Плюсшая нагрузка на роутер.
Блокировка коцсетей на Mikrotik через адресные листы
В RouterOS, начиная с версии v6.36, появилась возможность добавлять доменные имена в адресные листы. В результате отпала необходимость заморачиваться с составлением регулярных выражений для протоколов Layer7 и такой вариант блокировки нежелательных сайтов практически не нагружает процессор роутера.
Первым делом добавляем нужные сайты в адресный лист (назовём его социальный ). Сделать это можно и через веб-интерфейс, перейдя в меню IP> Firewall> Address_Lists , но в данном случае удобнее использовать режим терминала (тоже в веб-интерфейсе):
/ ip firewall address-list добавить адрес = vk.com list = social
/ ip firewall address-list добавить адрес = ok.ru list = social
Весьма удобно, что соцсети сами делают редирект на свои короткие доменные имена, потому что нет необходимости прописывать vkontakte.ru или odnoklassniki.ru и тому подобное, они заблокированы самостоятельно.
Осталось добавить правило блокировки в файервол:
/ ip firewall filter add action = drop chain = forward src-address = 192.168.11.0 / 24 dst-address-list = social
В приведённом примере блокируются доменов vk.com и ok.ru для всей подсети 192.168.11.0/24. Роутер настроить нужные ip адреса, соотвествующие этим доменам в файервол. Вместо drop я бы рекомендовал использовать reject , так как оно быстрее сбрасывает соединение:
/ ip firewall filter add action = reject chain = forward src-address = 192.168.11.0 / 24 dst-address-list = социальный протокол = tcp reject-with = tcp-reset
Что ещё почитать про настройку MikroTik:
Не ленитесь ставить лайк и подписываться на канал Дзен и паблик Вконтакте, будет ещё много интересного.
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
.