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

привязать отказ разрешения DNS через цепочку cname

Я установил сервер имен Bind 9.9.4 на Centos7. Он включает одну зону со статическими IP-адресами для моей бизнес-сети. Я настроил его для пересылки на общедоступный DNS Google для всего остального. Казалось, все работает (как локальное, так и интернет-разрешение имен), пока я не понял, что у меня нет доступа к linkedin.com. LinkedIn, похоже, настроен с помощью цепочки cname, и когда я запрашиваю свой локальный сервер, он выполняет только половину шагов, необходимых для разрешения IP.

Если я выполняю поиск в общедоступном DNS-сервере Google, я получаю правильный ответ:

>>nslookup www.linkedin.com 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.linkedin.com    canonical name = 2-01-2c3e-003c.cdx.cedexis.net.
2-01-2c3e-003c.cdx.cedexis.net  canonical name = any-na.www.linkedin.com.
Name:   any-na.www.linkedin.com
Address: 108.174.10.10

Однако, если я прохожу через свой DNS-сервер, он, похоже, не разрешает вторую запись cname в цепочке, вместо этого возвращает 0.0.0.0

>>nslookup www.linkedin.com 10.26.2.4
Server:     10.26.2.4
Address:    10.26.2.4#53

Non-authoritative answer:
www.linkedin.com    canonical name = 2-01-2c3e-003c.cdx.cedexis.net.
Name:   2-01-2c3e-003c.cdx.cedexis.net
Address: 0.0.0.0

Я искал это в течение нескольких часов, пробуя различные параметры конфигурации в named.conf, но не мог понять, почему это происходит. Каждый раз, когда я вносил изменения в named.conf, я делал следующее, чтобы убедиться, что не получаю устаревшие результаты:

>>sudo systemctl reload named
>>sudo systemctl restart named
>>sudo rndc flush
>>sudo rndc reload

Если я напрямую попытаюсь разрешить IP-адрес 2-01-2c3e-003c.cdx.cedexis.net я получил 0.0.0.0 независимо от того, нацелен ли я на свой DNS-сервер или на DNS-сервер Google:

>>nslookup 2-01-2c3e-003c.cdx.cedexis.net 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53    
Name:   2-01-2c3e-003c.cdx.cedexis.net
Address: 0.0.0.0

>>nslookup 2-01-2c3e-003c.cdx.cedexis.net 10.26.2.4
Server:     10.26.2.4
Address:    10.26.2.4#53
Non-authoritative answer:
Name:   2-01-2c3e-003c.cdx.cedexis.net
Address: 0.0.0.0

Я считаю, что это проблема моей конфигурации, но я не смог точно определить, что не так. Ниже мой named.conf. Любая помощь будет принята с благодарностью:

acl "trusted" { 10.26.2/24; 10.28.2/24; localhost; };

options {
  listen-on port 53 { 127.0.0.1; 10.26.2.4; };
  #listen-on-v6 port 53 { ::1; };
  directory     "/var/named";
  dump-file     "/var/named/data/cache_dump.db";
  statistics-file "/var/named/data/named_stats.txt";
  memstatistics-file "/var/named/data/named_mem_stats.txt";

  forwarders { 8.8.8.8; 8.8.4.4; };
  forward first;

  recursion yes;

  allow-query { trusted; };

  allow-transfer  { 10.26.2.5; };

  dnssec-enable yes;
  dnssec-validation no;

  #auth-nxdomain no;

  /* Path to ISC DLV key */
  bindkeys-file "/etc/named.iscdlv.key";

  managed-keys-directory "/var/named/dynamic";

  pid-file "/run/named/named.pid";
  session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
  type hint;
  file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named/named.conf.local";

Вот дополнительная информация об отладке.

копаться на моем сервере имен (10.26.2.4):

>>dig @10.26.2.4 www.linkedin.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> @10.26.2.4 www.linkedin.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26538
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.linkedin.com.      IN  A

;; ANSWER SECTION:
www.linkedin.com.   1   IN  CNAME   2-01-2c3e-003c.cdx.cedexis.net.
2-01-2c3e-003c.cdx.cedexis.net. 0 IN    A   0.0.0.0

;; AUTHORITY SECTION:
.           141169  IN  NS  k.root-servers.net.
.           141169  IN  NS  i.root-servers.net.
.           141169  IN  NS  b.root-servers.net.
.           141169  IN  NS  c.root-servers.net.
.           141169  IN  NS  g.root-servers.net.
.           141169  IN  NS  l.root-servers.net.
.           141169  IN  NS  e.root-servers.net.
.           141169  IN  NS  h.root-servers.net.
.           141169  IN  NS  m.root-servers.net.
.           141169  IN  NS  f.root-servers.net.
.           141169  IN  NS  a.root-servers.net.
.           141169  IN  NS  d.root-servers.net.
.           141169  IN  NS  j.root-servers.net.

;; Query time: 31 msec
;; SERVER: 10.26.2.4#53(10.26.2.4)
;; WHEN: Sat Jan 27 14:03:27 MST 2018
;; MSG SIZE  rcvd: 313

копаться в DNS Google:

>>dig @8.8.8.8 www.linkedin.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> @8.8.8.8 www.linkedin.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17261
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.linkedin.com.      IN  A

;; ANSWER SECTION:
www.linkedin.com.   1   IN  CNAME   2-01-2c3e-003c.cdx.cedexis.net.
2-01-2c3e-003c.cdx.cedexis.net. 1 IN    CNAME   any-na.www.linkedin.com.
any-na.www.linkedin.com. 1  IN  A   108.174.10.10

;; Query time: 28 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Jan 27 14:03:47 MST 2018
;; MSG SIZE  rcvd: 126

Первое, что вы, вероятно, захотите сделать, это добавить оператор разрешения рекурсии, например allow-recursion {trusted;};