- Блокировка сайтов в роутере Keenetic ZyXel через правила Firewall
- С помощью статических маршрутов
- С использованием локальных политик IP-безопасности (IPSec)
Блокировка сайтов в роутере Keenetic ZyXel через правила Firewall
Итак, представим, что у нас в руках какой-нибудь ZyXel Keenetic (которые компания гордо называет интернет-центрами) и нам нужно разграничить доступ в интернет для различных хостов. Сначала разберемся с построением правил в целом, а после разберем задачку, где потребуется паре хостов предоставить неограниченный доступ, одному - только доступ к удаленному серваку, а всем остальным наглухо закрыть доступ в интернет. Всё это делается через пункт меню Безопасность -> Межсетевой экран.
Поставленные задачи можно решить с помощью правил межсетевого экрана для интерфейса Home Network. И всю эту настройку мы производим в указанном выше пункте меню.
По клику на кнопку Добавить правило откроется окно настройки этого самого правила, и вот что оно из себя представляет:
Здесь мы выбираем, разрешает нам что-то это правило или запрещает. Если выбран интерфейс ISP, то источником будет вся сеть, а назначением пул IP-адресов, которые раздает роутер. В случае, если мы настраиваем правило для домашней сети (интерфейс Home Network или просто Home), то всё будет наоборот - источниками станут IP домашней сети, а назначением внешние адреса. Далее Протокол, здесь мы выбираем, куда распространяется создаваемое нами правило. Если мы хотим ограничить доступ на какие-либо сайты, то нам следует создать Rules для протоколов TCP, UDP и 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-адресу), вы сделаете так, чтобы он не открывался.
- Определите с помощью команды ping_URL IP-адрес нужного сайта.
- Не закрывая командной строки (она должна быть запущена от админа), выполните еще одну инструкцию: route -p add IP_целевого_сайта mask 255.255.255.0 192.168.1.0 metric 1.
- Как это выполнить:
Ответ «Ок» означает, что маршрут к сайту 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-фильтров.
Первым делом дайте новому фильтру описание (удобнее всего указать URL блокируемого сайта).
Источником трафика укажите «Мой IP адрес».
Назначением — «Определенный IP или подсеть». Ниже пропишите адрес блокируемого сайта или подсети.
В разделе «Тип протокола» отметьте «Любой».
Последним шагом нажмите «Изменить свойства» и «Готово». Осталось совсем немного.
Подтвердите параметры нового фильтра.
Если хотите создать еще один, щелкните в следующем окне кнопку Добавить. Иначе — нажмите «ОК». Это запустит Мастер настройки действий фильтров.
В «Списке ИП-фильтров» отметьте только что созданный и кликните «Далее».
Дайте имя и описание тому, что он будет делать (блокировать сайт).
В параметрах действия укажите «Блокировать».
Завершающий шаг этапа — «Изменение свойств» и завершение работы мастера.
Теперь снова проверьте и подтвердите настройку.
Последний рывок — создать правила безопасности. Этим займется пятый Мастер.
По окончанию его работы опять измените свойства и нажмите «Готово».
Проверьте и подтвердите параметры нового правила.
И напоследок — все свойства политики. Она создана и отображается в списке раздела.
Осталось привести политику в действие. Кликните по ней правой кнопкой мышки и выберите «Назначить».
В разделе «Свойства» вы сможете в дальнейшем изменять любые параметры политики, а через контекстное меню — отключать, переименовывать и удалять.