Як я реалізував оповіщення користувачів за допомогою mikrotika

Хочу поділитися з вами такою ідеєю. Вам знадобилося оповістити користувачів мережі які сидять за 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 # 33; 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 = # 33; "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) - це раптом він забув, нагадування. Коли все сталося відключаємо всі внесені вами правила в роутері. І живемо далі.