Авторитетный DNS с ответом по умолчанию

Printmig является Вашим другом (Google для деталей). К сожалению, если у Вас нет резервного копирования нет очень, можно сделать.

2
задан 23 March 2011 в 11:21
3 ответа

Я в конечном счете использовал PowerDNS, но с бэкендом SQL. Я изменил SQL-операторы и добавил нейтрализацию к домену 'по умолчанию', если требуемый домен не был найден.

Работы отлично. Задержка почти никогда не выше 5 (некоторые дополнительные тонкие настройки конфигурации требуются).

1
ответ дан 3 December 2019 в 11:08

Другая опция могла бы состоять в том, чтобы создать зональный файл по умолчанию как следующее:

$TTL 3600
@   IN  SOA ns1.company.com hostmaster.company.com (
            2011010101;
            3600;
            1800;
            604800;
            3600;
            )
@   IN  NS  ns1.company.com
@   IN  NS  ns2.company.com

@   IN  MX  10 mail.company.com

@   IN  A   192.0.2.1
www IN  A   192.0.2.2

Предположение, что вышеупомянутое назвали /etc/bind/default.zone, можно затем добавить зональные записи как:

zone "domain1.com" {
    type master;
    file "/etc/bind/default.zone";
};
zone "domain2.com" {
    type master;
    file "/etc/bind/default.zone";
};

В этом случае при запросах или domain1.com или domain2.com, Вы получите информацию от зоны по умолчанию.

Однако знайте, я только сделанный это в мелком масштабе, и он не был протестирован с 500K зонами, таким образом, я не уверен, теперь Связывают, структурирует его в памяти. Так, например, я не уверен, загрузит ли это только один зональный файл и укажет на все зоны на него, или если это загрузит те же зональные времена файла 500K!

2
ответ дан 3 December 2019 в 11:08

для powerdns установить по умолчанию запись с пустым именем

nano /etc/pdns/pdns.conf


gmysql-any-query=select COALESCE(b.content,c.content,d.content,e.content,f.content) content, \
COALESCE(b.ttl,c.ttl,d.ttl,e.ttl,f.ttl) ttl, \
COALESCE(b.prio,c.prio,d.prio,e.prio,f.prio) prio, \
COALESCE(b.type,c.type,d.type,e.type,f.type) type, \
COALESCE(b.domain_id,c.domain_id,d.domain_id,e.domain_id,f.domain_id) domain_id, \
a.mydomain name \
from \
(select '%s' mydomain) a \
left outer join records b on b.name = SUBSTRING_INDEX(a.mydomain, '.', -4) and b.type = 'A' \
left outer join records c on c.name = SUBSTRING_INDEX(a.mydomain, '.', -3) and c.type = 'A' \
left outer join records d on d.name = SUBSTRING_INDEX(a.mydomain, '.', -2) and d.type = 'A' \
left outer join records e on e.name = SUBSTRING_INDEX(a.mydomain, '.', -1) and e.type = 'A' \
left outer join records f on f.name = SUBSTRING_INDEX(a.mydomain, '.', 0) and f.type = 'A' \
limit 1;
0
ответ дан 3 December 2019 в 11:08

Теги

Похожие вопросы