Познакомимся со всевозможными способами блокировки сайтов. Все представленные способы могут блокировать сайты c https. Примеры использовались на RouterOS: v6.43.2.
DNS:
Если клиент задаст в настройках сетевого подключения другой адрес DNS-сервера, отличный от выдаваемого локально MikroTik-ом, то для работы этого правила потребуется перенаправить все dns-запросы.
/ip dns static
add name="vk.com" address=127.0.0.1 comment="Blocking_Website"
- Перенаправляем все dns запросы на наш dns-сервер:
/ip firewall nat
add chain=dstnat protocol=udp dst-port=53 action=redirect
add chain=dstnat protocol=tcp dst-port=53 action=redirect
Команда для очистки dns кеша на клиентах с windows:
cmd от имени Администратора >ipconfig /flushdns
Domain Name = IP-адрес:
При указании в правиле доменного имени, RouterOS, сама определит все принадлежащие ему ip-адреса.
- Добавляем в address-list с именем drop_website домен vk.com:
/ip firewall address-list
add list=drop_website address="vk.com"
- Добавляем правило в цепочку для фильтра файрвола:
/ip firewall filter
add action=reject reject-with=tcp-reset chain=forward in-interface=ether2 dst-address-list=drop_website protocol=tcp
Content Filter:
Ограничим работу правила с 09:00-15:00 и с Пн-Пт.
/ip firewall filter
add action=reject reject-with=tcp-reset chain=forward src-address=192.168.5.2 in-interface=ether2 protocol=tcp content=vk.com time=09h-15h,fri,thu,wed,tue,mon
Дни недели и их сокращения:
Monday - Mon - Понедельник
Tuesday - Tue - Вторник
Wednesday - Wed - Среда
Thursday - Thu - Четверг
Friday - Fri - Пятница
Saturday - Sat - Суббота
Sunday - Sun - Воскресенье
TLS SNI:
Блокируем https-сайты (TLS трафик) с помощью расширения TLS SNI, называемого TLS-HOST.
/ip firewall filter
add action=reject reject-with=tcp-reset chain=forward in-interface=ether2 dst-port=443 protocol=tcp tls-host=*.vk.com
Layer7 Protocol - Inspect: [link]
- Создаем группу хостов, к которым будет применяться блокировка:
/ip firewall address-list
add address=192.168.1.33 disabled=no list=host_drop_website
add address=192.168.1.34 disabled=no list=host_drop_website
- Добавляем регулярное выражение, по которому будут блокироваться сайты:
/ip firewall layer7-protocol
add name=drop_website regexp="^.+(youtube|vk|ok|facebook|instagram).*$" comment="Blocking_Website"
- Создаем правила для маркировки соединений и пакетов:
/ip firewall mangle
add action=mark-connection chain=prerouting src-address-list=host_drop_website protocol=udp dst-port=53 connection-mark=no-mark layer7-protocol=drop_website new-connection-mark=drop_website_conn passthrough=yes comment="Blocking_Website"
add action=mark-packet chain=prerouting src-address-list=host_drop_website connection-mark=drop_website_conn new-packet-mark=drop_website_packet
- Добавляем правила в цепочку для фильтра файрвола:
/ip firewall filter
add action=drop chain=forward packet-mark=drop_website_packet comment="Blocking_Website"
add action=drop chain=input packet-mark=drop_website_packet comment="Blocking_Website"