Как Вы уже знаете сегодня день системного администратора, но вот в офисе моем об этом не все знают. Чтобы исправить это я соорудил небольшую шуточную напоминалку для коллег. Так как у нас используют оборудование фирмы Mikrotik, то на нем и все реализовал.
А задумка проста: пока забывчивый коллега серфит интернет показать ему страничку напоминалку вместо желаемого сайта, ну и через некоторое время все же показать что он там хотел увидеть вечером в пятницу.
Для этих целей поднимаем на Mikrotik`е прокси сервер
Далее сбрасываем страничку сообщающую об ошибках:
Нас спросят:
и мы смело жмем «y»
Далее создаем правило, которое блокирует все странички проходящие через наше прокси
В Mikrotik`е появится страничка webproxy/error.html ее оформляем красиво. Тут еще дополню: можно пользоваться переменной $(url) она содержит URL адрес назначения — куда пользователь хотел попасть. Я сделал редирект на страничке:
А задумка проста: пока забывчивый коллега серфит интернет показать ему страничку напоминалку вместо желаемого сайта, ну и через некоторое время все же показать что он там хотел увидеть вечером в пятницу.
Для этих целей поднимаем на Mikrotik`е прокси сервер
/ip proxy set enabled=yes
Далее сбрасываем страничку сообщающую об ошибках:
/ip proxy reset-html
Нас спросят:
Current html pages will be lost! Reset anyway? [y/N]:
и мы смело жмем «y»
Далее создаем правило, которое блокирует все странички проходящие через наше прокси
/ip proxy access add action=deny disabled=no
В Winbox
В Mikrotik`е появится страничка webproxy/error.html ее оформляем красиво. Тут еще дополню: можно пользоваться переменной $(url) она содержит URL адрес назначения — куда пользователь хотел попасть. Я сделал редирект на страничке:
Вот что я сделал:
В Winbox
Добавляем правило о перенаправлении трафика с 80 порта к нашему прокси, игнорируем адреса из списка Ok - этот список будет содержать тех кто уже видел напоминалку.
/ip firewall nat add disabled=no chain=dstnat protocol=tcp dst-port=80 src-address-list=!Ok action=redirect to-ports=8080 comment=sysadmin
Данное правило должно быть выше других:
/ip firewall nat move [find comment=sysadmin] destination=0
В Winbox
ну и теперь добавляем в список Ok тех кто видел нашу напоминалку:
/ip firewall filter add disabled=no chain=input protocol=tcp dst-port=8080 action=add-src-to-address-list address-list=Ok address-list-timeout=15m comment=sysadmin
Чтобы кто то не позабыл ставим timeout нахождение в списке на 15 минут
В Winbox
Теперь при попытке зайти на сайт по http коллеги увидят нашу напоминалку а после редиректа ту страничку которую хотели. Минут через 15 все повторится.
Остается только ждать поздравлений.
Применения у данного метода море. Вот например:
- оповещение каждого нового клиента в сети (правила или объявление о чем либо).
- у провайдера в случае необходимости поднятия отдельного соединения (pptp, l2tp, pppoe) по dhcp можно оповещать о том что это за провайдер, ссылку на сайт (который может и без подключения к интернету открываться), сообщение о том что необходимо поднять доп. соединение.
- блокировки. Тот же Реестр или блокирование соц. сетей в офисе.
- статистика кто что посещает или конкретно кто посещает данный URL - иногда и такое требуется
- много чего еще. Фантазия...
P.S.
Данная шутка была уместной и не могла привести к неожиданному концу света.
Прежде чем повторять убедитесь в том что это пройдет без последствий. Что бы не вывести из себя нервную группу людей не используйте address-list-timeout. Всех неадекватов, паралитиков и людей склонных преувеличивать, а так же опасных людей которые Вас побьют даже может ногами добавляем вручную в список Ok
Ссылки по теме:
Manual:IP/Proxy
How to make transparent web proxy
MikroTIK + Заглушка