Шаги по настройке Mikrotik Router для фильтрации контента. Отмечу, что это делается на ПК с четырёхъядерным процессором, 4 ГБ оперативной памяти и жёстким диском на 500 ГБ, работающем под RouterOS v4.11 x86 с лицензией Level 6 в качестве центрального роутера. Я много искал информацию по этой теме, но не нашёл конкретных примеров, кроме советов использовать прокси Squid или другое оборудование. Это всё ещё в работе, буду рад вашим идеям и предложениям по улучшению.
Проблема: есть пользователи, которые хотят иметь доступ к порно, и есть те, кому нужен фильтр.
Шаг 1.) Настройте роутер так, чтобы всем был доступ в интернет, включая QoS, фильтрацию через firewall и Userman Test, как в других инструкциях.
Шаг 2.) В Userman Test, в профилях, в разделе ограничений, в настройках constraints задайте список адресов “kid_friendly” для профиля, который будет использовать клиент с фильтром контента. Возможно, придётся настроить два разных профиля и ограничения: один с ограничением скорости и адресным списком вроде “normal”, другой — с адресным списком “kid_friendly”. Userman Test очень придирчив, поэтому, возможно, придётся удалить все профили, перезагрузить роутер и заново их создать, чтобы списки корректно применились. Связи с адресными списками как-то кешируются и не применяются до перезагрузки.
Шаг 3.) Добавьте в firewall filter следующие правила:
;;; блокировка взрослого www
chain=forward action=add-dst-to-address-list dst-address=!10.0.0.0/8 address-list=adult_block address-list-timeout=0s layer7-protocol=kid_friendly-www
;;; блокировка взрослого www
chain=forward action=drop dst-address=!10.0.0.0/8 src-address-list=kid_friendly layer7-protocol=kid_friendly-www
Шаг 4.) Добавьте в firewall NAT правило:
;;; Kid Friendly Web Proxy - плохие сайты
chain=dstnat action=redirect to-ports=8080 protocol=tcp src-address-list=kid_friendly dst-address-list=adult_block dst-port=80
Шаг 5.) Теперь добавьте слова в Layer 7 - Protocol для фильтрации:
4 kid_friendly - WWW ^. (get|GET).+(choice|words|to|filter). $
Шаг 6.) Включите и настройте веб-прокси, как в других инструкциях. Затем добавьте в разделе access следующие два правила:
;;; URL не для детей (введите слова через вертикальную черту)
Dst. Host : (choice|words|to|filter) deny
;;; Блокировать всё
Dst. Host : deny
Это, возможно, не самый простой способ, но пока работает. Иногда бывают ложные срабатывания — тогда можно вручную добавить адрес нужного ресурса и разместить его перед правилами веб-прокси, блокирующими доступ. В этой схеме фильтрация распространяется только на клиентов с фильтром, и они обращаются к веб-прокси лишь при запросе страницы из списка adult_block. Остальные пользователи без фильтра помогают пополнять блок-лист.
Надеюсь, специалисты поделятся советами. Может, это кому-то пригодится.
Проблема: есть пользователи, которые хотят иметь доступ к порно, и есть те, кому нужен фильтр.
Шаг 1.) Настройте роутер так, чтобы всем был доступ в интернет, включая QoS, фильтрацию через firewall и Userman Test, как в других инструкциях.
Шаг 2.) В Userman Test, в профилях, в разделе ограничений, в настройках constraints задайте список адресов “kid_friendly” для профиля, который будет использовать клиент с фильтром контента. Возможно, придётся настроить два разных профиля и ограничения: один с ограничением скорости и адресным списком вроде “normal”, другой — с адресным списком “kid_friendly”. Userman Test очень придирчив, поэтому, возможно, придётся удалить все профили, перезагрузить роутер и заново их создать, чтобы списки корректно применились. Связи с адресными списками как-то кешируются и не применяются до перезагрузки.
Шаг 3.) Добавьте в firewall filter следующие правила:
;;; блокировка взрослого www
chain=forward action=add-dst-to-address-list dst-address=!10.0.0.0/8 address-list=adult_block address-list-timeout=0s layer7-protocol=kid_friendly-www
;;; блокировка взрослого www
chain=forward action=drop dst-address=!10.0.0.0/8 src-address-list=kid_friendly layer7-protocol=kid_friendly-www
Шаг 4.) Добавьте в firewall NAT правило:
;;; Kid Friendly Web Proxy - плохие сайты
chain=dstnat action=redirect to-ports=8080 protocol=tcp src-address-list=kid_friendly dst-address-list=adult_block dst-port=80
Шаг 5.) Теперь добавьте слова в Layer 7 - Protocol для фильтрации:
4 kid_friendly - WWW ^. (get|GET).+(choice|words|to|filter). $
Шаг 6.) Включите и настройте веб-прокси, как в других инструкциях. Затем добавьте в разделе access следующие два правила:
;;; URL не для детей (введите слова через вертикальную черту)
Dst. Host : (choice|words|to|filter) deny
;;; Блокировать всё
Dst. Host : deny
Это, возможно, не самый простой способ, но пока работает. Иногда бывают ложные срабатывания — тогда можно вручную добавить адрес нужного ресурса и разместить его перед правилами веб-прокси, блокирующими доступ. В этой схеме фильтрация распространяется только на клиентов с фильтром, и они обращаются к веб-прокси лишь при запросе страницы из списка adult_block. Остальные пользователи без фильтра помогают пополнять блок-лист.
Надеюсь, специалисты поделятся советами. Может, это кому-то пригодится.