Блокировать IP-адрес в файле зоны DNS (вместо домена)
Я использую DNS-серверbind9. Раньше я блокировал веб-сайты, используя их доменное имя в файле зоны RPZ, например:
malicious.example CNAME .
Но мне нужно заблокировать IP, а не домен, например:
Как я могу это сделать? Или приведенный выше пример (
2 ответа
Вы не можете.
IP-адреса используются непосредственно в пакетах. Они ни на что не переводятся. Чтобы заблокировать IP-адреса, вам придется использовать брандмауэр.
Если вы хотите заблокировать результаты , содержащие набор IP-адресов, ответ Патрика охватывает это .
См. https://www.isc.org/docs/BIND_RPZ.pdf, стр. 11:
Создание триггерного правила для IP-адреса или подсети (v4)
Допустим, мы хотим переписать все DNS-запросы для всех хостов, которые разрешаются в подсети 172.16.3.0/24.
24.0.3.16.172.ns-ip IN CNAME .
Как видите, октеты в подсети необходимо поменять местами (аналогично тому, как работает rbl в-addr.arpa). Первое число представляет маску подсети. Если бы мы хотели заблокировать только один IP-адрес, первое число было бы 32, что соответствует /32, то есть:
32.1.3.16.172.ns-ip IN CNAME
См. также https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-dns-rpz-00#section-4.3 , где показано использованиеrpz-ip
вместоns-ip
(Функция RPZ была впервые изобретена в связке, и есть попытки сделать ее полным стандартом)
Следовательно, это также будет зависеть от того, какую версию привязки вы используете, которую вы не раскрываете. Посмотрите на прилагаемую документацию и уровень поддержки RPZ.