![Добавить запись CNAME в файл зоны BIND](https://rvso.com/image/1557235/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%20CNAME%20%D0%B2%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%B7%D0%BE%D0%BD%D1%8B%20BIND.png)
Я настроил виртуальную частную сеть с помощью virtualbox с DNS-сервером под названием: dns1.xyz1.com
. У меня есть веб-сервер под названием: xyz1.com
.
Я хочу использовать свой DNS-сервер для разрешения IP-адреса веб-сайта. Я настроил файл зоны пересылки следующим образом:
$TTL 604800
@ IN SOA dns1.xyz1.com. admin.xyz1.com. (
13 ; Serial
604820 ; Refresh
86600 ; Retry
2419600 ; Expire
604600 ) ; Negative Cache TTL
; name servers - NS records
IN NS dns1.xyz1.com.
IN NS dns2.xyz1.com.
; name servers - A records
dns1.xyz1.com. IN A 192.168.56.13
dns2.xyz1.com. IN A 192.168.56.15
; 192.168.56.0/24 - A records
host1.xyz1.com. IN A 192.168.56.17
xyz1.com. IN CNAME host1.xyz1.com.
host1.xyz1.com. IN TXT "some text"
host2.xyz1.com. IN A 192.168.56.18
До того, как я добавил запись CNAME, я мог ввести: https://host1.xyz1.com
и браузер перенаправил меня на нужный веб-сервер.
После того, как я добавил запись CNAME (я хочу, чтобы браузер также перенаправлялся https://xyz1.com
на тот же веб-сайт, что и https://host1.xyz1.com
), но, к сожалению, после добавления строки CNAME, как показано ниже, ни один из адресов не открывает нужный веб-сервер: ни: https://xyz1.com
ни https://host1.xyz1.com
.
xyz1.com. IN CNAME host1.xyz1.com.
К вашему сведению, вот named.conf.local
содержимое файла:
zone "xyz1.com" {
type master;
file "/etc/bind/forward.xyz1.com";
};
zone "56.168.192.in-addr.arpa"{
type master;
file "/etc/bind/reverse.xyz1.com";
};
Нижняя линия:
Я хочу получить доступ к тому же веб-серверу (тому же IP), используя разные имена: или https://xyz1.com
. https://host1.xyz1.com
Можете ли вы сказать мне, что не так с моей записью CNAME? Как это исправить?
РЕДАКТИРОВАТЬ:
Спасибо за ответы. Но проблема все еще существует. Я не могу разрешить этот адрес: xyz.com и мне нужно указать на определенный сервер, используя имена: xyz.com
и host1.xyz.com
.
Основываясь на некоторых ответах, я обновил эту часть своего файла конфигурации:
; 192.168.56.0/24 - A records
@ IN A 192.168.56.7
host1.xyz1.com. IN CNAME xyz1.com.
host1.xyz1.com. IN TXT "text here"
Есть пингуемый веб-сервер с IP:, 192.168.56.7
на который я хочу, чтобы указывали xyz1.com
и host1.xyz1.com
. Как этого добиться?
решение1
CNAME
записи не могут сосуществовать с любым другим типом записи, за редкими исключениями. В вашем случае тот же домен уже имеет SOA
и NS
записи (как всегда имеет зона apex).
В результате BIND, скорее всего, полностью отказался загружать файл зоны. (Но узнать это наверняка можно, только проверив журналы ошибок BIND.)
Другими словами, не допускается наличие CNAME
вершины зоны, и вам придется вручную копировать IP-адреса как записи A
/ .AAAA
В будущем DNS может стандартизировать ANAME
псевдозаписи, которые позволят использовать псевдонимы IP-адресов без полной семантики CNAME. (В настоящее время они предлагаются некоторыми службами хостинга DNS в качестве пользовательского дополнения.) См.здесь,здесь, илиздесь.
решение2
Вы делаете это наоборот. Не устанавливайте доменное имя как CNAME для поддомена. Установите поддомен (host1) как CNAME для домена (xyz1.com).
Используйте @ для указания корневого домена (xyz1.com):
;192.168.56.0/24 - A records
@ IN A 192.168.56.17
host1.xyz1.com. IN CNAME xyz1.com.
host2.xyz1.com. IN A 192.168.56.18