31 июля 2013 в 10:50

Администрирование → Mikrotik. Блокировка соц.сетей и других интернет страниц для определенных IP в локальной сети по средствам RouterOS

Работаю системным администратором в небольшой организации и недавно столкнулся с задачей: заблокировать доступ к соц.сети только определенному кругу лиц.
Введение: архитектура сети крайне банальна — локальная сеть из 35 компьютеров, роутер PC на базе RouterOS v5 и внешняя выделенка. Компы на DHCP-сервере Mikrotik'a c статической привязкой к MAC. Перерыв кучку страниц в интернете попадал на разные реализации, но проблема была в блокировке для всей сети, а не конкретных клиентов.

Реализация: в моём случае самым удачным способом оказалось создание proxy-сервера и направление нужного мне клиента на proxy. Для начала настраиваем Proxy в RouterOS:
IP -> Proxy
 /ip proxy set port=8080 enabled=yes



(Рис. 1)

Далее входим в Access (выделено желтым на рис.1) и вводим адреса узлов, которые необходимо заблокировать, как это показано на рис.2
 /ip proxy access add dst-host=*vk.com* action=deny



(Рис. 2)

Итак, имеем включенный proxy c правилом блокировки определенного узла. Теперь нам необходимо перенаправить нужный IP на proxy. Для этого идем в IP -> Firewall -> NAT и добавляем правило (рис.3, 4)
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080



(Рис. 3)


(Рис. 4)

Далее 2 варианта развития:
1) Добавить один конкретный IP
или
2) Добавить список IP-адресов

Вариант 1: В нашем созданном правиле добавляем во вкладке General параметр Src.Address=IP (к примеру 192.168.1.14 рис.5).


(Рис. 5)
В итоге нужного нам человека мы адресуем на proxy который в свою очередь все, что нужно, успешно блокирует.


Вариант 2: В нашем созданном правиле во вкладке Advanced добавляем параметр Src.Address list=Block_List (сам Block_List сейчас будем наполнять)


(Рис. 6)

Заполняем наш Block_List: в моем случае IP адреса клиенты получают с DHCP сервера mikrotik и за каждым MAC адресом статически забит конкретный IP адрес. Просто кликаем по клиенту и в поле Address List вбиваем название нашего списка (в нашем случае это Block_List).

(Рис. 7)

Или в FireWall'e во вкладке Address List создаем вручную записи с привязкой нужного IP к нужному списку. (Рис. 8)
/ip firewall address-list add list=Block_List address=192.168.1.15



(Рис. 8)

Вот в общем то и все!