Помощь - Поиск - Пользователи - Календарь
Полная версия: Как я реализовал оповещение пользователей посредством Mikrotika
PCROUTER.RU Форум > MikroTik > Скрипты
10ra
Привет!

Хочу поделиться с вами такой идеей. Вам понадобилось оповестить пользователей сети которые сидят за NATом и ходят через Mikrotik в инет (например: о том что по тех.причинам инет не будет работать, или сообщить новые настройки и тд.и тп.)

Как это проделать не имея web сервера и без лишней суеты и наворочек написано тут.
Поумолчанию инет работает не через прокси.

1. Включаем Web Proxy без кеша, без ничего просто enabled=yes

[admin@MikroTik] ip proxy> set enabled=yes port=8080

2. Сбрасываем страницу прокси которую она выдает в браузер во время ошибки. Жмем Y
[admin@MikroTik] ip proxy> reset-html
Current html pages will be lost! Reset anyway? [y/N]

3. В WinBox идем в раздел Files - и видем что там появилась папочка webproxy а в этой папке есть файл error.html, вот она та самая страница корорую мы сбрасывали в пункте 2;

4.Копируем эту страницу себе на компьютер (методом перетаскивания), а на роутере удаляем error.html, папка webproxy остается пустой. Открываем скопированый error.html обычным блакнотом. Правим его, пишим в нем наше послание

пользователям. Можно преукрасить для тех кто знает HTML. Оценили качество работы в своем браузере, открыв страничку. Теперь копируем ее обратно на наш роутер в папку webproxy. Свиду ничего не поменялось, но начинка у error.html уже наша.

5. Идем в
[admin@MikroTik] ip firewall nat>

и добавляем правило: всех кто идет на 80 порт кидать на прокси порт 8080, кроме тех ip кто находится в ip firewall address-list> под именем "Pro4itali".

chain=dstnat action=redirect to-ports=8080 protocol=tcp src-address-list=!"Pro4itali" dst-port=80

6.Идем в
[admin@MikroTik] ip firewall filter>

и добавляем правило: всех кто идет на 8080 порт добавлять src-address в address-list> под именем "Pro4itali". Я еще добавил timeout=15m - т.е. через 15 мин это ip из address-list удалится.

chain=input action=add-src-to-address-list protocol=tcp address-list=Pro4itali address-list-timeout=15m dst-port=8080

7.Идем в
[admin@MikroTik] ip proxy access>

и добавляем правило которое будет всех отбрасывать - deny. Т.е. прокси никого не пропускает и выдает при этом error.html юзеру в его браузер и он лицезреет наше творение.


Итого: Юзер пытается зайти на любой сайт, NAT смотрит что его нет в address-list под именем "Pro4itali" и его запрос кидает на прокси, прокси его не пускает и выдает error.html с нашим сообщение. При этом когда NAT перекинул юзера на прокси, сработало правило в filter что юзер пошел на прокси на 8080 порт и добавило его ip в address-list под именем "Pro4itali". Юзер ознакомился. Пытается опять зайти на свою страничку, NAT смотрит что он есть уже в address-list под именем "Pro4itali" пускает его в инет. Юзер щаслив инет опять заработал. Но проходит 15 минту и повторяется все снова (timeout=15m) - это вдруго он забыл, напоминание. Когда все свершилось отключаем все добавленые правила в роутере. И живем дальше.
Maxonmix
Спасибо! Пригодилось! =)
podarok66
Вопрос, у меня есть свой адресный лист, который тоже не надо отправлять на порт 8080. Как мне его прикрутить в вашем случае?

Цитата
Открываем скопированый error.html обычным блакнотом. Правим его, пишим в нем наше послание

пользователям. Можно преукрасить для тех кто знает HTML.

Настоятельно рекомендую изменить в шапке документа кодировку, которая там прописана на UTF-8, иначе пользователи почти гарантированно увидят кракозяблики.
100bux
Пожалуйста подскажите а как сделать почти тоже самое что и у вас но только не напоминалку а так что бы страница из роутера появлялась у пользователей только тогда когда отключён доступ к интернет в фаирволе роутера. Тоесть появлялась только у тех у кого доступ к интернет запрещен.
100bux
Цитата(Vasia @ 16.2.2015, 18:23) *


Огромное спасибо. Вот то что мне и надо было. А то я в Микротике не силён. Больно он очень сложный для меня. smile.gif
312031
Спасибо.
reacnhappy
Я тоже, еле разобрался. спасибо Вам!
------------
http://fitoterapevt.pp.ua/cikavi-statti
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.