Моя цель - настроить более короткое полное доменное имя, указывающее на входной контроллер k8s, но вам не нужны знания k8s, чтобы понять проблему.
Вот как я настроил зону:
*.k8s.domain.lan A 1.2.3.4
foo.domain.lan CNAME foo.k8s.domain.lan
Идея в том, что я могу подключиться ко всему на k8s.domain.lan
и быть направленным на входной контроллер, но для некоторых производственных вещей я хочу удалить k8s
расстаться, поэтому я настраиваю CNAME
для этого.
Моя проблема в том, что это в основном работает, на самом деле, кажется, все зависит от стека DNS клиента. Если я использую браузер для присоединения к веб-сайту, это все хорошо, браузеры все это понимают.
Но если я попробую простое ping
тогда это не работает:
$ ping foo.domain.lan
ping: cannot resolve foo.domain.lan: Unknown host
Итак, давайте посмотрим на DNS-запрос:
$ dig foo.domain.lan @1.1.1.1
; <<>> DiG 9.10.6 <<>> foo.domain.lan @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50273
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
; foo.domain.lan. IN A
;; AUTHORITY SECTION:
domain.lan. 3600 IN SOA ns1.domain.lan. hostmaster.domain.lan. 72 900 600 86400 3600
;; Query time: 34 msec
;; SERVER: 10.65.180.162#53(10.65.180.162)
;; WHEN: Sat Oct 19 09:03:31 CEST 2019
;; MSG SIZE rcvd: 153
Вы видите, что нет ANSWER
раздел, но в нем rd
флаг, который означает, что требуется рекурсия. В Windows DNS также включена рекурсия.
Как только я добавляю следующую запись на DNS-сервер Windows:
foo.domain.lan CNAME foo.k8s.domain.lan
Я получаю правильный, рекурсивно сделанный следующий ответ:
; <<>> DiG 9.10.6 <<>> registry.demofr.corp.netapp.com @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46625
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
; foo.domain.lan. IN A
;; ANSWER SECTION:
foo.domain.lan. 3600 IN CNAME foo.k8s.domain.lan.
foo.k8s.domain.lan. 3600 IN A 1.2.3.4
;; Query time: 35 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Sat Oct 19 09:07:04 CEST 2019
;; MSG SIZE rcvd: 103
Эта проблема кому-то знакома, и есть ли решение?
Кстати, это Windows 2012R2