Перенаправить разрешение домена на имя AWS
Я пытаюсь настроить локальный DNS-сервер для разрешения домена через AWS Route 53.
На данный момент я создал зону хостинга на Route 53, для которой у меня есть серверы имен:
ns-1474.awsdns-56.org.
ns-189.awsdns-23.com.
ns-2002.awsdns-58.co.uk.
ns-892.awsdns-47.net.
Теперь самое сложное. На моем локальном компьютере я установил и создал файл зоны, который должен пересылать его в AWS, но этого не происходит.
(отказ от ответственности, я заменил настоящее доменное имя наha-test.com
)
;
; BIND data file for ha-test.com
;
$TTL 604800
@ IN SOA ha-test.com. root.ha-test.com. (
10 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
;ha-test.com. IN A 192.168.1.100
ha-test.com. IN NS ns-1474.awsdns-56.org.
ha-test.com. IN NS ns-189.awsdns-23.com.
ha-test.com. IN NS ns-2002.awsdns-58.co.uk.
ha-test.com. IN NS ns-892.awsdns-47.net.
Если я раскомментируюA
, он разрешает домен по IP, но в остальном он не работает.
Я надеялся, что установки NS на указанные выше значения будет достаточно дляbind
перенаправить на DNS, но, очевидно, я ошибался.
Это результатdig
:
dig @127.0.0.1 ha-test.com
; <<>> DiG 9.16.1-Ubuntu <<>> @127.0.0.1 ha-test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60486
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 99e2f6f74458640b01000000600eed92f545a3c7ada5b428 (good)
;; QUESTION SECTION:
;ha-test.com. IN A
;; AUTHORITY SECTION:
ha-test.com. 604800 IN SOA ha-test.com. root.ha-test.com. 10 604800 86400 2419200 604800
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: пон јан 25 17:10:58 CET 2021
;; MSG SIZE rcvd: 121
Если я сделаю
dig @ns-1474.awsdns-56.org ha-test.com
Решается правильно.
Обновлять
Удалось решить эту проблему, но я не уверен, правильный ли это способ:
Вnamed.conf.local
, у меня была такая зона:
zone "ha-test.com" IN {
type master;
file "/etc/bind/zones/ha-test.com";
};
После замены она станет зоной переадресации:
zone "ha-test.com" {
type forward;
forwarders { 205.251.194.241; };
};
IP-адрес выше — это IP-адрес, который я получилns-1474.awsdns-56.org
. Я мог бы указать несколько IP-адресов от всех NS, но это кажется немного неправильным. Не так ли?
1 ответ
Глядя на фрагменты, я предполагаю, что вы настроили частную зону хостинга (у вас есть частный IP-адрес для сервера, который вы пытаетесь разрешить) и у вас уже есть некоторое сетевое соединение между вашей локальной привязкой и AWS (VPN или Direct Connect).
По сути, после обновления вы на правильном пути. Вам необходимо настроить BIND для работы в качестве пересылки для рассматриваемой зоны хостинга. Если зона хостинга связана с вашим VPC, в котором находится сервер, и если у вас есть правильное подключение, вы можете перенаправить адрес непосредственно на DNS-сервер VPC, его адрес обычно является вторым IP-адресом диапазона CIDR VPC (например, 192.168.0.2).
В этом случае вы перенаправляете свои запросы непосредственно в AWS.
Немного другая версия того же самого, которая была довольно распространена в течение некоторого времени, заключается в том, чтобы экземпляр EC2 работал в том же VPC, который действует как переадресатор на Route53, а затем на ваших локальных компьютерах настраивайте IP-адрес экземпляра EC2 в качестве вашего DNS. сервер, что на практике является тем же, что и вы, с той разницей, что BIND работает на экземпляре EC2 внутри VPC.
В настоящее время AWS рекомендует использовать так называемый преобразователь маршрута 53 с входящей конечной точкой. Должны быть выполнены те же предварительные условия, которые описаны выше: вам необходимо иметь подключение к Интернету между локальной средой и AWS, а ваш VPC должен быть связан с вашей зоной хостинга. Разница здесь в том, что вместо запуска выделенного экземпляра EC2, который вам нужно защищать и администрировать, теперь у вас есть сервис AWS, который сделает это за вас. В дополнение к этому вы получаете некоторую устойчивость и высокую доступность, поскольку можете настроить Route53 Resolver в нескольких подсетях (AZ). Кроме того, вы также можете создать исходящую конечную точку, что даст вам возможность пересылать запросы от AWS на локальные DNS-серверы и, таким образом, разрешать DNS-запросы наоборот). Подробнее о Route53 Resolver можно прочитать в документации.