Friday, 27 September 2013

Как заменить отдельную ресурсную запись на рекурсивном DNS?

Часто возникает задача - а как, например, запросы на какой-либо сайт отправить на заглушку в стиле "сайт заблокирован" или же наоборот отправить на локальное зеркало этого сайта.

Суть задачи простая - рекурсивный DNS с возможность подменить одну отдельную ресурсную запись определенного домена, не определяя при этом домен полностью.

Я приведу пример решения данной задачи на IPv6 и Debian, но для IPv4 решение аналогично.

Итак, ставим Unbound:
apt-get install -y unbound

Открываем его конфиг:
vi /etc/unbound/unbound.conf 
Забиваем там следующее:
local-data: "test.fastvps.ru. IN AAAA xxx:xxx:151:8081::2"
forward-zone: name: "."
forward-addr: 2001:4860:4860::8888
Где 2001:4860:4860::8888 - адрес вышестоящего IPv6 DNS сервера (в моем случае - Google).



В итоге получим следующее:
host test.fastvps.ru ::1
Using domain server: Name: ::1
Address: ::1#53
Aliases: test.fastvps.ru has IPv6 address xxx:xxx:151:8081::2

Как вы видите,  не важно что творится во внешнем мире, для записи test.fastvps.ru наш рекурсор будет всегда выдавать забиты нами явно IP. При этом вся остальная зона будет работать корректно.



No comments:

Post a Comment

Note: only a member of this blog may post a comment.