Print

Блокировка сайтов в роутере Keenetic ZyXel через правила Firewall

Блокировка сайтов

Итак, представим, что у нас в руках какой-нибудь ZyXel Keenetic (которые компания гордо называет интернет-центрами) и нам нужно разграничить доступ в интернет для различных хостов. Сначала разберемся с построением правил в целом, а после разберем задачку, где потребуется паре хостов предоставить неограниченный доступ, одному - только доступ к удаленному серваку, а всем остальным наглухо закрыть доступ в интернет. Всё это делается через пункт меню Безопасность -> Межсетевой экран.

Поставленные задачи можно решить с помощью правил межсетевого экрана для интерфейса Home Network. И всю эту настройку мы производим в указанном выше пункте меню.

Блокировка сайтов

По клику на кнопку Добавить правило откроется окно настройки этого самого правила, и вот что оно из себя представляет:

Здесь мы выбираем, разрешает нам что-то это правило или запрещает. Если выбран интерфейс ISP, то источником будет вся сеть, а назначением пул IP-адресов, которые раздает роутер. В случае, если мы настраиваем правило для домашней сети (интерфейс Home Network или просто Home), то всё будет наоборот - источниками станут IP домашней сети, а назначением внешние адреса. Далее Протокол, здесь мы выбираем, куда распространяется создаваемое нами правило. Если мы хотим ограничить доступ на какие-либо сайты, то нам следует создать Rules для протоколов TCPUDP и ICMP. В этом случае пункты меню Порты оставляем в режиме любой.

Цитата: На заметку
В роутерах ZyXel айпишники делят на адреса источника и назначения, у других вендоров это обычно зовут так:
destination (dst) - назначение;
source (src) - источник.

Теперь простая задачка. Мы хотим, чтобы для всех хостов был закрыт доступ в соцсеть вконтакте. Для начала нужно узнать, какой или какие IP-адреса у этого сайта. Тут нам поможет консольная команда Windows - nslookup.

nslookup vk.com
Server:  UnKnown
Address:  192.168.237.200
Не заслуживающий доверия ответ:
Name:     vk.com
Addresses:  87.240.165.82
          95.213.11.180

Нам прилетает ответ, что наш DNS-сервер резолвит данный адрес в такие-то IP-адреса. Их мы и прикроем.

Такое же правило сделаем для протокола UDP и ICMP. Всё, теперь доступ к втентаклю ограничен.
Это был самый простой вариант использования Firewall-правил, теперь перейдем к более творческой задаче, о которой уже говорилось в начале статьи.

Примечание. Принцип работы правил межсетевого экрана таков, что они выполняются по порядку сверху вниз, таким образом, разрешающие правила должны находится вверху списка, а общие правила для большого количества хостов следует располагать внизу списка.

Для реализации нашей задачи мы будем создавать правила на интерфейс Home network (Wired and wireless hosts), поэтому выберем его в соответствующем меню на вкладке межсетевого экрана.

Цитата: Если кто-то забыл задачу
Сначала разберемся с построением правил в целом, а после разберем задачку, где потребуется паре хостов предоставить неограниченный доступ, одному - только доступ к удаленному серваку, а всем остальным наглухо закрыть доступ в интернет.


Вначале создадим правила для хостов, имеющих неограниченный доступ:

И, как водится, тоже самое повторим для UDP и ICMP протокола. Теперь хост, имеющий IP 192.168.1.228 будет иметь доступ к любым узлам сети без каких-либо ограничений.

Важно! В качестве оффтопа объясню как на ZyXel настроить выдачу одного и того же IP конкретному хосту, т.е. как запилить привязку по MAC-адресу. Делается это в разделе меню Домашняя сеть во вкладке Устройства:

Теперь при подключении к роутеру данное устройство всегда будет динамически получать один и тот же IP.

Поехали дальше. В задаче было сказано, что не иметь ограничений должны два хоста, поэтому создаем permit-правила (разрешающие) для его IP, например, 192.168.1.229 по все тем же трем протоколам TCP, UDP и ICMP. Готово.
Теперь нам нужно создать правило для хоста, которому нужно прикрыть всё кроме одного единственного сайта, пусть это будет linkintel.ru (IP узнаем консольной командой nslookup):

Точно также пилим правила для протоколов UDP и ICMP.
Но чтобы попасть на этот сайт хосту нужно обратиться к DNS-серверу, поэтому его IP также нужно добавить в список разрешенных. DNS-сервер также всплывает в nslookup.

Помимо TCP/53 делаем также правило для протокола UDP/53.

В довершение всего блокируем доступ остальным хостам прямо по сетевой маске.

Аналогичное действие для UDP и ICMP протокола.
Такой у нас будет итог:

Не пугаемся, просто на картинке правила сделаны для других IP. 192.168.1.33 и 192.168.1.34 имеют неограниченный доступ, а для 192.168.1.35 он порезан.

Важное дополнение. Вообще-то куда удобнее работать с правилами межсетевого экрана через текстовой редактор, используя файл конфигурации роутера. Выцепляем файлик startup-config в меню Настройка -> Файлы (в более свежих версиях прошивки он лежит в Система -> Конфигурация) и открываем его в любом текстовом редакторе, например, в Блокноте. После редактирования сохраняем изменения и закидываем файл обратно на роутер.

access-list _WEBADMIN_ISP
    permit tcp 194.152.35.79 255.255.255.255 0.0.0.0 0.0.0.0 port eq 80
    deny tcp 217.20.155.58 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 217.20.156.159 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 5.61.23.5 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 95.213.11.180 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 87.240.165.82 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 87.240.165.82 255.255.255.255 port eq 80 0.0.0.0 0.0.0.0 port eq 80
    deny icmp 87.240.165.82 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 104.244.42.129 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 52.21.53.45 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 52.7.122.35 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 54.175.107.36 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 54.209.247.221 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 54.175.203.218 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 54.173.74.145 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 52.1.102.11 255.255.255.255 0.0.0.0 0.0.0.0
    deny tcp 52.45.107.175 255.255.255.255 0.0.0.0 0.0.0.0
    permit tcp 192.168.237.237 255.255.255.255 0.0.0.0 0.0.0.0 port eq 80
! 
access-list _WEBADMIN_Home


В приведенном примере конфига правила сделаны для интерфейса ISP, в Home всё по аналогии. (link)

Как заблокировать доступ по ip-адресам описано выше. Если же вы говорите о блокировке по доменному имени, и по какой-либо причине SkyDNS вам не подходит, есть еще обходной путь - добавить в файл конфигурации startup-config.txt команды ip host с именами сайтов, которые вы хотите заблокировать и несуществующим ip-адресом, например вот так:
ip host www.rbc.ru 192.168.1.20
...
после чего сайт www.rbc.ru будет заблокирован. Всего можно добавить 64 таких записи.
Но следует отменить, что некоторые сайты, например Вконтакте, используют большое число доменных имен, поэтому заблокировать их таким способом непростая задача. В таких случаях SkyDNS конечно предпочтительнее. Этот сервис имеет широкие возможности блокировки/разрешения доступа к сайтам как по категориям, так и по конкретным url, дает возможность посмотреть статистику обращений. К сожалению он платный, для 3-х устройств на данный момент 450р\год, а бизнес версия более 10-ти устройств 4500руб\год (цены на июль 2021).

С помощью статических маршрутов

Статический (постоянный) маршрут — это жестко заданный путь следования пакетов от одного сетевого узла к другому. Например, от вашего компьютера к серверу, на котором хостится веб-сайт. Прописав в реестре Windows или в настройках роутера ложный маршрут к интернет-ресурсу (точнее, к его IP-адресу), вы сделаете так, чтобы он не открывался.

добавление статического маршрута

Ответ «Ок» означает, что маршрут к сайту 213.180.193.3 создан. Теперь на этом компьютере ya.ru открываться не будет.

В реестре Windows все статические маршруты находятся в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes.

удаление статического маршрута в реестре

Чтобы убрать оттуда запись, ставшую ненужной, и возобновить доступ к сайту, щелкните по записи правой кнопкой мышки и выберите «Удалить». Или выполните в командной строке инструкцию route — f. Последний способ удаляет все существующие постоянные маршруты. Если хотите убрать только один из них, выполните команду route delete IP_целевого_узла, например, route delete 213.180.193.3. После этого сайт ya.ru снова станет доступным.

С использованием локальных политик IP-безопасности (IPSec)

Использование для ограничения доступа в Интернет политики безопасности IP (IPSec) — способ нетривиальный. О существовании такой возможности знают очень немногие (в отличие от Hosts), и тот, для кого вы заблокируете некий веб-ресурс, ни за что не догадается, как вы это сделали.

С помощью IPSec можно блокировать как отдельный IP сайта, так и пул адресов. Единственный недостаток этого метода в том, что оснастка управления политиками есть не во всех редакциях Windows. Так, в домашних выпусках она отсутствует.

Создание политики IP-безопасности может показаться сложным, но только в первый раз. После нескольких попыток оно не будет отнимать у вас больше 2-3 минут. Тем более, что каждый шаг настройки сопровождает Мастер.

создание политики ip безопасности

В открывшемся далее окошке укажите имя новой политики и кратко опишите ее назначение. Можно оставить эти поля по умолчанию, но лучше заполнить, чтобы потом не запутаться.

имя политики

Следом нажмите «Далее», ничего не меняя.

запросы безопасного соединения

Завершите работу Мастера, отметив «Изменить свойства» и щелкнув «Готово».

завершение работы мастера

В окошке свойств будущей политики IPSec кликните «Добавить». Это запустит следующий Мастер — создания правил IP-безопасности.

правила безопасности для связи с другим компьютером

В окне «Конечная точка туннеля» оставьте всё как есть. я

конечная точка туннел

В разделе «Тип сети» выберите «Все подключения».

тип сети

В «Списке IP-фильтров» (их только предстоит создать) кликните «Добавить». Следом — дайте вашему списку имя и снова нажмите «Добавить». Запустится третий Мастер — IP-фильтров.

список ip-фильтров

Первым делом дайте новому фильтру описание (удобнее всего указать URL блокируемого сайта).

описание ip-фильтра

Источником трафика укажите «Мой IP адрес».

источник ip-трафика

Назначением — «Определенный IP или подсеть». Ниже пропишите адрес блокируемого сайта или подсети.

назначение ip-трафика

В разделе «Тип протокола» отметьте «Любой».

тип протокола ip

Последним шагом нажмите «Изменить свойства» и «Готово». Осталось совсем немного.

завершение работы мастера ip-фильтра

Подтвердите параметры нового фильтра.

параметры нового фильтра

Если хотите создать еще один, щелкните в следующем окне кнопку Добавить. Иначе — нажмите «ОК». Это запустит Мастер настройки действий фильтров.

фильтр нежелательные сайты

В «Списке ИП-фильтров» отметьте только что созданный и кликните «Далее».

выбор фильтра

Дайте имя и описание тому, что он будет делать (блокировать сайт).

имя действия

В параметрах действия укажите «Блокировать».

пункт блокировать

Завершающий шаг этапа — «Изменение свойств» и завершение работы мастера.

изменить свойства

Теперь снова проверьте и подтвердите настройку.

подтверждение настройки

Последний рывок — создать правила безопасности. Этим займется пятый Мастер.

создание правил безопасности

По окончанию его работы опять измените свойства и нажмите «Готово».

завершение мастрера ПБ

Проверьте и подтвердите параметры нового правила.

подтверждение параметров нового правила

И напоследок — все свойства политики. Она создана и отображается в списке раздела.

все свойства политики

Осталось привести политику в действие. Кликните по ней правой кнопкой мышки и выберите «Назначить».

активация политики безопасности

В разделе «Свойства» вы сможете в дальнейшем изменять любые параметры политики, а через контекстное меню — отключать, переименовывать и удалять.

0
0
0
s2smodern