Есть желание управлять доступом к ресурсам интернета для всех тех кто использует в корпоративной сети Wifi (или обычная LAN сеть) — это могут быть обычные клиенты которые находятся в зоне ожидания, так и офисные сотрудники с ноутбуками путешествующими по офисному зданию. Я предполагаю, а даже действительно знаю, что офисным сотрудникам в повседневной работе не нужен доступ к социальным сетям и многим засветившимся в логах ресурсам относящихся к отдыху.
Сегодня же я разберу для как активировать прозрачный для пользователей прокси с целью управления какие ресурсы можно, а какие нельзя. Все дальнейшие настройки будут происходить на Mikrotik 2011UiAS-2HnD.
Запускаю со своей рабочей системы (Lenovo E555 — Ubuntu 12.04.5 Desktop amd64 Gnome Classic) консоль командной строки: Приложения — Стандартные — Терминал и запускаю оснастку управления устройством(ами)Mikrotik:
ekzorchik@navy:~$ winbox
Winbox — IP&MAC — auth&pass — IP- Web Proxy
вкладка General:
Enabled: ставим галочку
Max Fresh Time: 1d 00:00:00
Serialize Connections: ставим галочку
остальные настройки оставляем дефолтными
(или же через консоль командной строки:
[ekzorchik@ekzorchik] > ip proxy set enabled=yes port=8080
)
Включаемм прозрачный прокси, т. е. все http запросы будем перенаправлять на порт proxy 8080:
Winbox — IP&MAC — auth&pass — IP — Firewall — вкладка NAT — Add
вкладка: General
Chain: dstnat
Protocol: 6 (tcp)
Dst. Port: 80
Src. Address: 192.168.1.0/24
вкладка: Action
Action: redirect
To Ports: 8080
(или же через консоль командной строки:
[ekzorchik@ekzorchik] > ip firewall nat add chain=dstnat src-address=192.168.1.0/24 dst-port=80 protocol=tcp action=redirect to-ports=8080 comment="Redirect to Proxy"
)
Если же помимо всех кому-то определенному нужен полный доступ в интернет (т. е. Без ограничений прокси), то настройки будут следующие:
Winbox — IP&MAC — auth&pass — IP — Firewall — вкладка: Address Lists — Add
Name: noProxy
Address: 192.168.1.5
и еще:
Name: toNotProxy
Address: либо сети локальной сети либо внешние узлы(ограниченные маской подсети): 10.7.8.0/24
А теперь расширенное правило вместо ранее добавленного для всех:
[ekzorchik@ekzorchik] > ip firewall nat add chain=dstnat src-address=192.168.1.0/24 dst-port=80 protocol=tcp action=redirect to-ports=8080 comment="Redirect to Proxy" src-address-list=!noProxy dst-address-list=!toNotProxy
а по настройкам без консоли это получается следующее:
Winbox — IP&MAC — auth&pass — IP — Firewall — Add
вкладка General:
Chain: dstnat
Protocol: 6 (tcp)
Dst. Port: 80
Src. Address: 192.168.1.0/24
вкладка Advanced:
Src. Address List: !noProxy
Dst. Address List: !toNotProxy
вкладка Action:
Action: redirect
To Ports: 80
Теперь можно регулировать доступ к узлам интернета, например запретим доступ к сайту vk.com,odnoklassniki.ru:
Winbox — IP&MAC — auth&pass — IP — Web Proxy — Access — Add
Src. Address: 192.168.1.0/24
Dst. Host: vk.com
Action: deny
После нажимаю Apply — Ok, а затем блокирующее правило нужно поставить первым, а все разрешающие после запрещающих.
По такому же принципу создаются новые правила для любых других ресурсов, также можно использовать символ звездочки, как элемент регулярных выражений.
Но вот каждый раз вносить новые узлы для блокировки через GUI не удобно, можно все то же самое делать из через подключение к Mikrotik через ssh:
ekzorchik@navy:~$ ssh -l ekzorchik 192.168.1.9
Отобразить текущие правила:
[ekzorchik@ekzorchik] > ip proxy access print
Flags: X — disabled
# DST-PORT DST-HOST PATH METHOD ACTION HITS
0 vk.com deny 2
Добавляю новые правила блокировки хостов:
[ekzorchik@ekzorchik] > ip proxy access add src-address=192.168.1.0/24 dst-host=*.odnoklassniki.ru action=deny
[ekzorchik@ekzorchik] > ip proxy access add src-address=192.168.1.0/24 dst-host=*.ok.ru action=deny
Еще одним напоминание пользователям будет использование настройкиRedirect To: на сайт в Вашей внутренней сети на котором будет доходчиво доведено почему данный ресурс не открывается т. к. он не относится к рабочим моментам, а носит развлекательный характер.
Вот только данная возможность, как использование прозрачного прокси сервера с целью регулирования доступа к нежелательным ресурсам не распространяется на URL адреса в которых стоит префикс https (соединение происходит через 443 порт), а только на префикс http (соединение происходит через 80 порт). Префикс 443 предполагает что данные между Вами и удаленным ресурсом зашифрованы, а вот расшифровать данный вид трафикаMikrotik не умеет. Ну и что, не умеет и ладно, ведь не весь интернет базируется на безопасном исполнении.
Когда пользователь подключенный к Wifi обратится к ресурсам настроенным в правилах блокировки он получит вот такую вот дефолтную отбивку если конечно же не настроен редирект на поясняющую страницу:
ERROR: Forbidden
--------------------------------------------------------------------------------
While trying to retrieve the URL http://vk.com/:
•Access Denied
Your cache administrator is webmaster.
--------------------------------------------------------------------------------
Generated Mon, 06 Jun 2016 12:43:17 GMT by 192.168.1.9 (Mikrotik HttpProxy)
Теперь я хоть и в минимальном исполнении смогу регулировать доступ в интернет. Когда перед Вами стоит задача ограничить его использование даже любое действии хоть на малую часть выполняющее поставленную задачу во много раз лучше чем нечего не делание. Вот я и сделал один шаг, в дальнейшем я буду показывать все что узнал сам Вам, обучая других сам узнаешь больше. На этом я прощаюсь и до новых встреч, с уважением автор блога — ekzorchik.
Источник: http://www.ekzorchik.ru/2016/06/manage-internet-access-via-mikrotik/