я настраиваю DNS-сервер дома, чтобы облегчить мне псевдоним некоторых из моих локальных серверов, а также как проект, чтобы лучше понять DNS. Поскольку я новичок в этом, пожалуйста, простите (и исправьте, если хотите) любые ошибки с терминологией!
цель моего локального DNS-сервера - использовать мой домен для доступа к некоторым из моих локальных машин. Допустим, мой домен my-domain.com
. У меня дома есть медиа-сервер, к которому я хочу получить доступ как media.my-domain.com
, и у меня есть два локальных DNS сервера, которые я использую для этой цели. Эти DNS-серверы делегировать Google DNS для других запросов.
вот мой файл зоны для my-domain.com
, хранящийся в /etc/bind/zones/db.my-domain.com
на моем локальном DNS-сервере ns1
:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.my-domain.com. admin.my-domain.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; name servers - NS records
@ IN NS ns1.my-domain.com.
@ IN NS ns2.my-domain.com.
;
; name servers - A records
ns1.my-domain.com. IN A 10.55.55.55
ns2.my-domain.com. IN A 10.55.55.56
;
; 10.55.55.0/24 - A records
media.my-domain.com. IN A 10.55.55.100
вот мой файл опций, который хранится в /etc/bind/named.conf.options
на моем локальном DNS-сервере ns1
:
acl "trusted" {
10.55.55.0/24; # home network
};
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { trusted; };
listen-on { 10.55.55.55; };
allow-transfer {none; }; # disable zone transfers
forwarders {
8.8.8.8; # google1
8.8.4.4; # google2
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
здесь 10.55.55.0/24
- это моя локальная подсеть, и ns1
и ns2
мои основной и Дополнительный DNS-серверы, соответственно.
я использование my-domain.com
для других целей в интернете, например, когда я получаю доступ к admin.my-domain.com
он берет меня в консоль администратора общедоступного веб-сайта. То есть, если вы выполняете nslookup
on admin.my-domain.com
С DNS-серверов Google вы увидите, что он отображается на глобально доступный публичный IP-адрес.
к сожалению, после того, как я реализовал свои локальные DNS-серверы, я не могу решить admin.my-domain.com
правильно. Мой nslookup
запросы попали на мои локальные DNS-серверы, которые не настроены для этого поддомен, и я получаю "нет ответа" от моего локального DNS.
поведение я хотел бы, вместо этого, для моих DNS-серверов для пересылки запросов на my-domain.com
в Google DNS, а только дают ответы ns1.my-domain.com
,ns2.my-domain.com
и media.my-domain.com
. Я видел некоторые вопросы, похожие на мои, но ответы, как правило, создают один файл зоны для каждого поддомена. Это действительно единственный способ? Мне бы очень хотелось иметь возможность сказать: "если я указал правило для x.my-domain.com
затем следуйте это правило. В противном случае делегируйте цепочку (в Google DNS в моем случае)."
я не уверен, как устранить эту проблему с Google, так как я не очень ясно, по терминологии, и так как я в общей сложности нуб я не знаю, с чего начать на исправление его сам. То, о чем я прошу, вообще возможно? Любая помощь в том, как я мог бы реализовать это поведение или искать его, была бы принята с благодарностью. Спасибо!