Мы запускаем bind на наших внутренних DNS-серверах.
У нас есть группа подсетей высокой доступности в AWS, которая предоставляет RDS. Чтобы управлять доступом по внутренним ссылкам, мы хотим, чтобы экземпляр RDS разрешил свой частный IP, а не публичный IP.
Поскольку IP время от времени меняется, я настроил пересылку в нашем днс, которая будет разрешать RDS по отношению к DNS-серверу Amazon и давать нам текущий частный IP:
zone "coivvuccn9hs.eu-west-1.rds.amazonaws.com" IN {
type forward;
forward only;
forwarders {
xxx.xxx.xxx.xxx;
};
};
Когда я делаю запрос от одного из внутренних DNS-серверов к DNS-серверу AWS: dig @ xxx.xxx.xxx.xxx server.coivvuccn9hs.eu-west-1.rds.amazonaws.com, я получаю правильный ответ
Однако, когда я делаю рывок @localhost server.coivvuccn9hs.eu-west-1.rds.amazonaws.com, я получаю общедоступный IP-адрес, хотя tcpdump показывает, что сервер запрашивает DNS-сервер AWS и получает действительный ответ.
Насколько я понимаю, сервер пересылки получит приоритет над ответом от корневых серверов, так почему я получаю общедоступный IP-адрес, а не частный IP-адрес?
Это ответ, который я получаю:
dig @localhost server.coivvuccn9hs.eu-west-1.rds.amazonaws.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> @localhost server.coivvuccn9hs.eu-west-1.rds.amazonaws.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5580
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 0
;; QUESTION SECTION:
;server.coivvuccn9hs.eu-west-1.rds.amazonaws.com. IN A
;; ANSWER SECTION:
server.coivvuccn9hs.eu-west-1.rds.amazonaws.com. 5 IN CNAME <somename>.eu-west-1.compute.amazonaws.com.
<somename>.eu-west-1.compute.amazonaws.com. 604800 IN A <public ip>
;; AUTHORITY SECTION:
eu-west-1.compute.amazonaws.com. 900 IN NS u6.amazonaws.com.
eu-west-1.compute.amazonaws.com. 900 IN NS pdns1.ultradns.net.
eu-west-1.compute.amazonaws.com. 900 IN NS u2.amazonaws.com.
eu-west-1.compute.amazonaws.com. 900 IN NS ns1.p31.dynect.net.
eu-west-1.compute.amazonaws.com. 900 IN NS u4.amazonaws.com.
eu-west-1.compute.amazonaws.com. 900 IN NS pdns3.ultradns.org.
eu-west-1.compute.amazonaws.com. 900 IN NS ns4.p31.dynect.net.
eu-west-1.compute.amazonaws.com. 900 IN NS u3.amazonaws.com.
eu-west-1.compute.amazonaws.com. 900 IN NS pdns5.ultradns.info.
eu-west-1.compute.amazonaws.com. 900 IN NS u1.amazonaws.com.
eu-west-1.compute.amazonaws.com. 900 IN NS ns2.p31.dynect.net.
eu-west-1.compute.amazonaws.com. 900 IN NS ns3.p31.dynect.net.
eu-west-1.compute.amazonaws.com. 900 IN NS u5.amazonaws.com.
;; Query time: 489 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug 24 15:13:53 2017
;; MSG SIZE rcvd: 416
09:47:32.007021 IP 172.28.200.11.31772 > 172.29.0.2.domain: 11853+ [1au] A? gamingstats.coivvuccn9hs.eu-west-1.rds.amazonaws.com. (81) 09:47:32.256192 IP 172.29.0.2.domain > 172.28.200.11.31772: 11853 2/0/1 CNAME ec2-52-30-30-69.eu-west-1.compute.amazonaws.com., A 172.29.7.136 (145)