
Я настроил bind так, чтобы он захватывал все домены и возвращал для них тот же IP (запись A). Это для службы парковки доменов, где могут быть задействованы тысячи доменов.
После указания серверов имен для example.com на мои серверы имен я корректно получаю страницу припаркованного хостинга.
Единственная проблема в том, что поиск по серверам имен не работает. Если я dig NS example.com
просто получаю данные SOA вместо имен NS. Хотя dig example.com
возвращает правильную запись A.
Я потратил часы, пробуя разные варианты, и был бы очень признателен за помощь в этом вопросе.
Конфигурация для него:
named.conf.local
:
zone "." {
type master;
file "/etc/bind/zones/db.catchall";
};
db.catchall
:
$TTL 604800
@ IN SOA ns1.mynameserver.com. hostmaster.mynameserver.com. (
26 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN NS ip.addr.for.ns1
IN NS ip.addr.for.ns2
* IN A ip.addr.for.hosting
решение1
Наблюдаемое поведение ожидаемо и правильно для того, что вы настроили.
То есть, у вас есть сервер имен, который заявляет, что является полномочным для корневой зоны, и у которого есть подстановочная A
запись, которая будет соответствовать всему ниже. У него нет NS
записей, отличных от корневой зоны.
Однако то, что вы настроили, на самом деле не является правильным для сервера, который должен быть полномочным для множества различных зон. Если example.com
делегируется вашему серверу имен, ваш сервер имен должен иметь эту конкретную зону (по крайней мере SOA
и NS
на вершине зоны), а не только некоторую родительскую зону (например, .
).
Неправильными в этой конфигурации будут ответы на запросы для NS
(т. е. будет утверждаться, что нет серверов имен для example.com
), а также все отрицательные ответы (отрицательные ответы будут SOA
для неправильной зоны).
Если вы хотите сделать это с максимально корректным поведением, но без указания всех зон (что было бы лучше всего для корректности), я думаю, вам стоит обратить внимание на какое-нибудь высокосценарное программное обеспечение сервера имен, которое может отвечать так, как будто у него есть соответствующие зоны, соответствующие каким-то шаблонам (возможно, на основе списка публичных суффиксов?).