Я создаю DNS-сервер, который будет блокировать доступ к определенным веб-сайтам, возвращая неправильный IP-адрес для домена.
В настоящее время я использую DNSMasq для выполнения этого, однако мой список довольно большой, и я хочу перейти к привязке для выполнения этой функции. Хотя DNSMasq хорошо справляется с большим списком, у него есть несколько ограничений, заставляющих мой выбор. Чтобы сделать это для всего домена в DNSMasq, я просто добавляю одну строку в файл конфигурации следующим образом:
address=/url.com/1.2.3.4
Это всегда будет возвращаться 1.2.3.4
для *.url.com
Мне нужна помощь в следующем:
ура
pjf
Считая само собой разумеющимся, что черный список DNS - это не способ помешать кому-либо попасть на сайт, если они действительно этого хотят, но полезно для борьбы с вредоносным программным обеспечением и повседневная попытки попасть на плохой сайт ...
RPZ позволяет вам создать файл зоны, который определяет правила перезаписи ответа. Они были реализованы в версии 9.8.1.
Допустим, вы хотите заблокировать badrecord.example.com.
, имеющий IP-адрес 198.51.100.1
. Настоящий IP-адрес здесь не имеет значения, но его нужно указать, чтобы усилить то, что происходит.
options {
# Snip.
response-policy { zone "mypolicy"; };
};
zone "mypolicy" {
type master;
file "mypolicy.zone";
allow-query { none; };
};
Файл зоны будет выглядеть так:
$TTL 1H
@ SOA LOCALHOST. doesnt.really.matter.example.org. (1 1h 15m 30d 2h)
; NS required for zone syntax reasons, but ignored
NS LOCALHOST.
; CNAME bad reply to a DNS record that isn't in this file
badrecord.example.com. CNAME mywalledgarden.example.edu.
; replace bad reply with fixed IP address
badrecord2.example.com. A 203.0.113.1
; rewrite the top of a bad domain, as well as all records immediately
; beneath the apex. (i.e. not further than one level deep)
example.net. A 203.0.113.1
*.example.net. A 203.0.113.1
Наблюдения:
allow-query
правило.NXDOMAIN
должным образом. Вы только измените ответ если бы это было возможно чтобы клиент получил ответ, содержащий неверные данные.Это не единственные переделки, которые вы можете выполнить. Для полного синтаксиса и потенциальных приложений я рекомендую вам обратиться к BIND ARM.
Вы можете найти в Интернете руководства, предлагающие такие вещи, как создание корневого (.
) или создать по одной зоне для каждого домена, который необходимо заблокировать. Не делай этого. Это старый, неповоротливый способ делать вещи, к которым прибегали администраторы DNS из-за отсутствия лучших вариантов. Если RPZ - это вариант и он отвечает вашим потребностям, используйте его. Если вы не являетесь авторитетным для домена, не настраивайте себя на авторитетный для него.