Назад | Перейти на главную страницу

Как делегировать DNS для поддомена моему собственному серверу BIND9?

У меня есть VPS (под управлением Debian) и домен («mydomain.net»). Я хочу добиться следующего: я хочу создать поддомен home.mydomain.net для динамических хостов в моем доме, например мой NAS и т. д., чтобы я мог разрешить свой NAS отовсюду с помощью "nas.home.mydomain.net". (В конце концов, я хочу создать свою собственную службу DynDNS, но часть обновления и т.д. здесь не главное, я справлюсь с этим.)

Предположим, я хочу иметь запись DNS для test.home.mydomain.net это указывает на 8.8.8.8 на данный момент (поскольку я могу быть уверен, что будет эхо ICMP, я могу изменить это позже).

Судя по тому, что я читал, исследуя способы настройки, мне кажется, что мне нужны следующие вещи:

На моем сервере администрирования 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 для моего сервера имен. Кажется немного странным, что вы должны предоставить эти записи, поскольку они указывают на сам? Это почему?