Я пытаюсь создать DNS для поддоменов с подстановочными знаками, которые работают на localhost.
Это не работает. Основной домен в порядке, но поддомены вместо этого указывают на внешний сервер.
Вот что у меня есть:
В /etc/ named.conf:
zone "typeflex" IN {
type master;
file "/var/named/typeflex.zone";
allow-update { none; };
};
В /var/ named/typeflex.zone:
$TTL 86400;
@ IN SOA typeflex.com. hostmaster.typeflex.com. (
20170101 ; serial
3h ; refresh
1h ; retry
1w ; expiry
1d ; minimum
)
IN NS typeflex.com.
IN A 127.0.0.1
@ IN A 127.0.0.1
* IN A 127.0.0.1
*.typeflex.com. IN A 127.0.0.1
www IN CNAME typeflex.com.
Ваша зона не для typeflex.com.
но для typeflex.
TLD. В typeflex.com
работает, потому что /etc/hosts
отменяет DNS A
рекорд для него. Вместо этого для каждого поддомена используется авторитетный DNS-сервер.
Если у вас есть localhost
как ваш рекурсивный DNS-сервер, вам не нужно ничего связанного с вашим /etc/hosts
; просто создайте авторитетную зону для typeflex.com.
и добавить:
$ORIGIN typeflex.com.
@ IN SOA ...
@ IN A 127.0.0.1
* IN A 127.0.0.1
+ Изменить zone "typeflex" IN {
к zone "typeflex.com" IN {
и убедитесь, что вы бежите rndc reload
чтобы сделать изменения активными.
Затем убедитесь, что ваш /etc/resolv.conf использует:
nameserver 127.0.0.1
... а не какие-либо другие серверы имен.
Также убедитесь, что ваша конфигурация привязки допускает рекурсивный поиск из loopback (127.0.0.1).