firewall, блокировка сайтов
Я сразу признаюсь что не монстр в MikroTik-е но и не новичок в этой отрасли.
Так вот, возникла такая проблема с firewall-ом:
Дали мне задание закрыть доступ к "facebook" и " odnoklassniki" в локальной сети.
Вот я и создал такой фильтр
IP-Firewall-Filter Rules-Add:
Firewall Rule-General-Chain=forward, Advanced-Content=facebook.com, Action=drop
и такой фильтр
chain=forward, content=odnoklassniki.ru, action=drop
И всё стало работать (блокировать) как надо. Но вскоре выяснилось что также блокируются и некоторые другие сайты например protv.md причём protv.ro работает.
Как это понимать? при обращении к protv ,он явно посылает мне и значение facebook, иначе firewall бы его не тронул.
Где подправить чтоб другие сайты "с этими наваротами" прошли этот фильтр?
Так вот, возникла такая проблема с firewall-ом:
Дали мне задание закрыть доступ к "facebook" и " odnoklassniki" в локальной сети.
Вот я и создал такой фильтр
IP-Firewall-Filter Rules-Add:
Firewall Rule-General-Chain=forward, Advanced-Content=facebook.com, Action=drop
и такой фильтр
chain=forward, content=odnoklassniki.ru, action=drop
И всё стало работать (блокировать) как надо. Но вскоре выяснилось что также блокируются и некоторые другие сайты например protv.md причём protv.ro работает.
Как это понимать? при обращении к protv ,он явно посылает мне и значение facebook, иначе firewall бы его не тронул.
Где подправить чтоб другие сайты "с этими наваротами" прошли этот фильтр?
ну, например у протв.мд на главной есть код
попробую блокировать по IP
Для того чтобы работали сайты который подгружают сторонний контент, сделай подмену ip на ip работающего веб сервера (В микротике в ДНС сервисе). Иначе приходится ждать таймаута.
(сделай подмену ip на ip работающего веб сервера)
в смысле, работающего, типа ip гугла чтоли 173.194.35.144 или как понять работающего.?
хм...чото вышло и уже жорошо, ток немножко через %0пу :)
короче сделал ещё один фильтр
chain=forward, content=protv , action=accept
и он дал загрузить protv страничку, ток без контента фэйсбук,
НО это работает с одним обязательным условием - этот фильтр должен находится
ПЕРЕД фильтром блокировки фэйсбука...
теперь придётся дописать фильтр к другим сайтам. хорошо что у нас не интернет-кафэ ) . несколько
сайтов уже хватит для начало
если честно - глупый юзер такое натворит, что лучше уж хитрые. мне не жалко, пусть будет умнее меня - уже приятно будет знать что в коллективе есть с кем поговорить ).
верно, много дропа но важен результат а результат предусматривает и это ) мне повезло что я должен закрыть как можно больше развлечений во время работы. но просто я не знал что серьёзные компании на заглавной страничке пихают разную херню. вот нафига им эти прямые контенты других сайтов типа рейтинг себе поднять или похвастатся? могут просто свой контакт в фэйсбуке оставить гденибуть в меню Коитакты - как все нормальные люди...так нет.
кстати, этот фильтр facebook не пропускает и forum.md так что одно из двух: или я неумею, или микротик неспособен, или непрофессионально сайт неписали...
Есть еще вариант с DNS:
"you can add a static dns entry for facebook.com , so each time that IP resolves and block it in firewall easly."
только нужно обеспечить, чтобы пользователи не могли юзать никакие днс сервера, кроме твоего
но если продуманные пользователи использую айпишинк вместо доменного имени, то обойдут это ограничение...
йо-майо...как всё запущено... чтото я совсем запутался. вроде ясно написано, вроде всё понятно - но не работает.
ладно с фб потом разберусь,
я беру например http://www.123.ru там ip 176.9.18.87 и 176.9.0.0/16
пишу правила
/ip firewall filter add chain=forward dst-address=176.9.0.0/16 src-address-list=!unrestricted action=drop
/ip firewall filter add chain=forward dst-address=176.9.18.87 src-address-list=!unrestricted action=drop
и нифига не работает....
блин, ща возьму и инструкцию рпочту )
вот я торможу. я одно правило забыл:
/firewall filter add шеф=не_видит dst-address=магазин src-address-list=пиво action=выпить
и всё на удивление работает:
ip-firewall-address lists-add
name= facebook.com-01 address=66.220.152.16
name= facebook.com-02 address=69.171.239.10
name= facebook.com-03 address=69.171.255.10
name= facebook.com-04 address=66.220.149.11
name= facebook.com-05 address=66.220.158.11
name= facebook.com-06 address=69.171.224.37
name= facebook.com-07 address=69.171.229.11
name= facebook.com-08 address=69.171.242.11
name= facebook.com-09 address=69.171.247.69
name= facebook.com-10 address=69.171.247.53
name= facebook.com-11 address=69.171.247.23
name= facebook.com-12 address=69.171.247.37
name= facebook.com-13 address=46.4.126.94
name= odnoklassniki.ru address=217.20.147.94
и.т.п
потом:
ip-firewall-nat-add
chain=dstnat dst-address-list= facebook.com-01 action=dst-nat to-addresses=127.0.0.1
chain=dstnat dst-address-list= facebook.com-02 action=dst-nat to-addresses=127.0.0.1
...
chain=dstnat dst-address-list= facebook.com-13 action=dst-nat to-addresses=127.0.0.1
chain=dstnat dst-address-list= odnoklassniki.ru action=dst-nat to-addresses=127.0.0.1
и.т.п.
-------------------------------------------------
всем спасибо
Чтобы не блочились сайты содержащие у себя маску указаную в Content Фильтрующего правила, добавльте указатель "Host: " будет это выглядель так (в консоле):
/ip firewall filter add act=drop chain=forward cont="Host: mikrotik.org" prot=tcp src-address=192.168.0.2 in-int=LAN1
где: src-address= - адрес клиента
in-int= - входящий интерефейс (локальный/внутренний)
Если при конфигурировании будет использоваться утилита winbox то в поле Advanced-Content не нужно указывать ковычки.
creaza proxy server si fa redirect spre un sait neexistent sau pe un oarecare port, si pune restrictie la acces la domenul care contine "facebook"
/ip proxy set port=8080 enabled=yes
/ip proxy access add dst-host=*facebook* action=deny
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8080
Далее 2 варианта развития:
1) Добавить один конкретный IP
или
2) Добавить список IP-адресов
Вариант 1: В нашем созданном правиле добавляем во вкладке General параметр Src.Address=IP
Вариант 2: В нашем созданном правиле во вкладке Advanced добавляем параметр Src.Address list=Block_List (сам Block_List будеш наполнять)
По https пройдет.