Блокировка социальных сетей на маршрутизаторах Mikrotik

Запретить доступ к социальным сетям и прочим сайтам на маршрутизаторах Mikrotik можно несколькими способами.

Первый и наиболее эффективный

способ, это включить web-proxy, запретить в нем конкретные сайты, в фаерволе во вкладке NAT добавить правило которое будет нужные IP направлять на web-proxy.
Добавляется правило в IP — Firewall — NAT (Chain: dstnat, protocol: tcp, Dst. port: 80, Action: redirect, To Ports: 8080, в Src. Address или Src. Address List указываем кого необходимо направить на Web proxy)
Включаем Web proxy поставив галочку в IP — Web proxy — Enabled, смотрим чтобы порт был 8080.
Добавляем сайты которые нужно заблокировать в IP — Web proxy — Access (например Dst. host: vk.com, Action: deny)

Второй и один из простых

это добавить статическую DNS запись, тогда все кто подключены к маршрутизатору не смогут зайти на сайт.
Для этого необходимо нажать «IP» — «DNS» — «Add New», в поле «Name» указать домен сайта, в «Address» — 127.0.0.1.
Пример добавления через командную строку:

ip dns static add name youtube.com address=127.0.0.1
ip dns static add name www.youtube.com address=127.0.0.1
ip dns static add name name=".*\.vk\.com" address=127.0.0.1

Команда просмотра статических DNS записей на маршрутизаторе:

ip dns static print

Однако этот запрет можно обойти прописав вручную на компьютерах сторонний DNS сервер, например Google DNS — 8.8.8.8 и 8.8.4.4.

Третий вариант

это посмотреть на каких ip-адресах находится сайт, например набрав в командной строке Windows команду nslookup vk.com, потом в фаерволе заблокировать доступ к ним для всех пользователей или конкретным. Вместо кучи ip адресов можно указать подсеть, например 87.240.131.0/24 (это ip 87.240.131.1-254). На сайтах типа «http://bgp.he.net/AS47541#_prefixes» можно посмотреть диапазоны IP адресов принадлежащие AS компании.
Пример команд:

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.131.97 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.117 disabled=no
ip firewall address-list add list=socialnetworks address=87.240.131.120 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 layer7-protocol add name=social regexp="^.+(vk.com|vkontakte|odnoklassniki|odnoklasniki|facebook|youtube|loveplanet).*\$"
ip firewall filter add action=drop chain=forward comment="Block_social" layer7-protocol=social src-address-list=Block_social

Смотрите также мои статьи:
Блокировка социальных сетей на Cisco
Блокировка социальных сетей используя iptables

Подписаться на IT Blog (RU) по Email
Subscribe to IT Blog (EN) by Email

Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Блокировка социальных сетей на маршрутизаторах Mikrotik: 8 комментариев

  1. Копну статейку))) Может Подскажет кто, настроить. Зарезаны соцсети через регулярку на седьмом уровне. DHCP присваивает диапазон 192.168.1.51-192.168.1.120 Нужно чтобы доступ в соцсети был у машин со статическими ip вне этого диапазона. Сделал adress list в файрволле с этим диапазоном. И понимаю что в правило отвечающее за зарезку соцсетей надо добавить этот адресс лист. но куда конкретно- что то туплю

  2. С учетом того, что одноклассники уже давно сидят на ok.ru, нет смысла блокировать odnoklassniki, но, добавляя ok.ru в регулярное выражение ты будешь блокировать все сайты *ok.ru. А среди них есть и полезные: book.ru, vostok.ru и т.д.
    Мне пришлось из-за этого одноклассники блокировать DNS-ом

  3. Сделал при помощи первого варианта с WebProxy. Как оказалось у него один, но существенный недостаток: блокируется только сам хост, в то время как все его страницы остаются доступными. Т.е., к примеру, vk.com блокируется, а вот vk.com/username прекрасно открывается.

  4. подскажите как с помощью регулярных выражений заблокировать сайт ok.ru, но при этом не блокировать book.ru?

  5. А как запретить доступ одного компа по макадресу ко всем ресурсам интренета кроме одного сайта, gmail.com??

  6. А как заблокировать доступ к социалкам для определённых айпишников в локалке?

    1. 1) В DHCP Server -> Leases зерезервировать IP, чтобы не сменился адрес (нажать по адресу и кнопку Make Static).
      2) Добавить к правилам выше в Dst. Address или Dst. Address List эти IP-адреса, тогда правило будет действовать только для них.

Добавить комментарий