У меня есть VPS (под управлением Debian) и домен («mydomain.net»). Я хочу добиться следующего: я хочу создать поддомен home.mydomain.net для динамических хостов в моем доме, например мой NAS и т. д., чтобы я мог разрешить свой NAS отовсюду с помощью "nas.home.mydomain.net". (В конце концов, я хочу создать свою собственную службу DynDNS, но часть обновления и т.д. здесь не главное, я справлюсь с этим.)
Предположим, я хочу иметь запись DNS для test.home.mydomain.net
это указывает на 8.8.8.8
на данный момент (поскольку я могу быть уверен, что будет эхо ICMP, я могу изменить это позже).
Судя по тому, что я читал, исследуя способы настройки, мне кажется, что мне нужны следующие вещи:
A
запись в mydomain.net
зона DNS, указывающая на мой собственный DNS-серверNS
запись в mydomain.net
зона DNS, которая делегирует запросы для home.mydomain.net
на вышеупомянутый сервер имен на моем VPSНа моем сервере администрирования VPS я могу редактировать зону DNS для своего mydomain.net
и я добавил записи, упомянутые выше, теперь это записи (123.123.123.123 обозначает фиксированный IPv4-адрес моего VPS):
mydomain.net 86400 SOA 0 ns1.myprovider.net. hostmaster.myprovider.net. 2018041707 3600 1200 2419200 86400
mydomain.net 86400 NS 0 ns1.myprovider.net
mydomain.net 86400 NS 0 ns2.myprovider.net
mydomain.net 86400 NS 0 ns3.myprovider.net
home.mydomain.net 86400 NS 0 ns.mydomain.net
ns.mydomain.net 86400 A 0 123.123.123.123
mydomain.net 86400 A 0 123.123.123.123
www.mydomain.net 86400 A 0 123.123.123.123
Пока это правильно? На этом этапе я могу успешно пинговать ns.mydomain.net
.
Когда я делаю nslookup www.mydomain.net
из отдельного окна Windows, он правильно разрешается до 123.123.123.123.
Когда я пытаюсь найти что-то не существующее, например nslookup xyz.mydomain.net
, Я получаю мгновенный ответ, что домена не существует.
Когда я пытаюсь решить, например, test.home.mydomain.net
, пройдет несколько секунд, пока я не получу DNS request timed out.
. Насколько я понимаю, это пока правильно, не так ли? Запрос DNS делегируется ns.mydomain.net
, но пока никто не отвечает, поэтому у меня тайм-аут.
Следующий шаг: установка и настройка BIND9 на моем Debian VPS. Я только что установил (apt install bind9
). Теперь я хочу настроить его таким образом, чтобы он заботился только о разрешении хостов в home.mydomain.net
. Мне не нужен полноценный DNS-сервер, который пересылает произвольные запросы и т. Д., Все, что мне нужно, это чтобы он «чувствовал ответственность» за хосты в home.mydomain.net
и (пока) решает test.home.mydomain.net
по 8.8.8.8. Информации о конфигурации bind9 очень много, но мне так и не удалось выяснить, что именно мне нужно делать. Вот что я пробовал:
(Обновлено) Это мое /etc/bind/named.conf.local
:
zone "home.mydomain.net" {
type master;
file "/etc/bind/db.home.mydomain.net";
};
И это соответствующий /etc/bind/db.home.mydomain.net
:
$TTL 5
@ IN SOA ns.mydomain.net. root.mydomain.net. (
10;
3600;
1200;
2419200;
86400;
);
ns.mydomain.net IN A [My NS IPv4 address]
ns.mydomain.net IN AAAA [My NS IPv6 address]
test IN A 8.8.8.8
Это не работает после перезапуска bind9, я не могу решить test.home.mydomain.net
до 8.8.8.8., у меня все еще время ожидания запроса. Думаю, я, возможно, не полностью понял роль записи SOA, иначе я упустил кое-что еще. Кто-нибудь может сказать мне, что отсутствует и / или не так?
Обновить:
Вышеупомянутая конфигурация работает сейчас - после добавления записей A и / или AAAA для моего сервера имен. Кажется немного странным, что вы должны предоставить эти записи, поскольку они указывают на сам? Это почему?