NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Prism Central の DNS リゾルバ設定の様子。(127.0.0.1)

Prism Central 2024.3 の PCVM で、DNS リゾルバ設定の様子を確認してみます。Prism Central の PCVM には、自動的に 127.0.0.1 の DNS サーバーアドレスが設定されていますが、これは Microservices Platform(MSP)で利用されるため削除不可です。

今回の環境

Prism Central のバージョンです。ちなみに PCVM は 1ノード構成です。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ ncli cluster version

    Cluster Version           : pc.2024.3.0.1
    Changeset ID              : 3ee440
    Changeset Date            : 2025-01-23 14:55:19 +0000
    Is LTS                    : false

    ncli Version              : fraser-2024.3.0.1-stable-pc
    Changeset ID              : 3ee440
    Changeset Date            : 2025-01-23 14:55:19 +0000

 

この Prism Central に設定してある、DNS サーバーが設定されています。

 

ncli でも、下記のように DNS サーバーのアドレス設定が確認できます。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ ncli cluster get-name-servers

    Name Servers              : 192.168.1.101, 192.168.1.102

 

PCVM に設定される DNS サーバーのアドレス

PCVM で /etc/resolv.conf ファイルを確認すると、Prism Central に設定した DNS サーバーのほかに、ループバック アドレス(127.0.0.1)も設定されています。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ cat /etc/resolv.conf
# Auto generated by DnsConfig on Sun Mar 30 19:53:50 2025

nameserver 127.0.0.1
nameserver 192.168.1.101
nameserver 192.168.1.102
search prism-central.cluster.local

 

そこで、PCVM 自身で 53 番ポートをリスニングしているプロセスを確認すると、dnsmasq が起動していることがわかります。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ sudo lsof -i:53 -P
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 1441 root    4u  IPv4  44978      0t0  UDP *:53
dnsmasq 1441 root    5u  IPv4  44979      0t0  TCP *:53 (LISTEN)
dnsmasq 1441 root    6u  IPv6  44980      0t0  UDP *:53
dnsmasq 1441 root    7u  IPv6  44981      0t0  TCP *:53 (LISTEN)

 

dnsmasq のサービスは、Systemd で管理されています。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ systemctl is-active dnsmasq
active

 

dnsmasq の Unit ファイルを確認すると、設定ファイルとして /etc/dnsmasq.conf が指定されています。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ systemctl cat dnsmasq
# /etc/systemd/system/dnsmasq.service
[Unit]
Description=Dnsmasq server
After=network.target

[Service]
PermissionsStartOnly=true
LimitNOFILE=1048576
LimitNPROC=512
ExecStartPre=/usr/sbin/dnsmasq -u root --test
User=root
WorkingDirectory=~
ExecStart=/usr/sbin/dnsmasq -k -u root --all-servers --conf-file=/etc/dnsmasq.conf
ExecReload=/bin/kill -SIGUSR1 $MAINPID
ExecStop=/bin/kill $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

 

/etc/dnsmasq.conf ファイルの内容です。

  • prism-central.cluster.local への問い合わせは、192.168.5.2(PCVM ローカル アドレス)の 31000 番ポートにフォワーディングされます。
nutanix@NTNX-192-168-20-11-A-PCVM:~$ cat /etc/dnsmasq.conf
# Do not make changes in the dnsmasq.conf file instead
# add changes in /etc/dnsmasq.d directory by creating
# a new configuration file

server=/prism-central.cluster.local/192.168.5.2#31000

conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
log-queries=extra
log-facility=/var/log/dnsmasq.log
log-async=10

local-ttl=30

address=/ntnx-base/
address=/default/


 

PCVM 内部の Kubernetes でフォワーディング先を確認すると、Prism Central の MSP DNS(mspdns サービス)になっています。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ kubectl get svc -A | grep 31000
kube-system         mspdns                                         NodePort       10.200.32.21              53:31000/UDP,53:31000/TCP                      65d

 

PCVM での名前解決の様子

PCVM から dig で名前解決すると、MSP に関係しない(prism-central.cluster.local 以外の)名前は、Prism Central に設定した DNS サーバーで名前解決できています。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ dig lab-nxce-01.go-lab.jp +norecurse

; <<>> DiG 9.11.36-RedHat-9.11.36-14.el8_10 <<>> lab-nxce-01.go-lab.jp +norecurse
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35312
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: c9f094fac251e655eb750b906811d57617701538eba53e22 (good)
;; QUESTION SECTION:
;lab-nxce-01.go-lab.jp.         IN      A

;; ANSWER SECTION:
lab-nxce-01.go-lab.jp.  3600    IN      A       192.168.20.30

;; AUTHORITY SECTION:
go-lab.jp.              3600    IN      NS      infra-dns-01.go-lab.jp.
go-lab.jp.              3600    IN      NS      infra-dns-02.go-lab.jp.

;; ADDITIONAL SECTION:
infra-dns-01.go-lab.jp. 3600    IN      A       192.168.1.101
infra-dns-02.go-lab.jp. 3600    IN      A       192.168.1.102

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 30 00:47:02 PDT 2025
;; MSG SIZE  rcvd: 180

 

ためしに Kubernetes の LoadBalancer サービスに関連する FQDN で名前解決してみます。PCVM の Kubernetes に作成されている LoadBalancer サービスの一覧を確認します。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ kubectl get svc -A | grep LoadBalancer
default             anc-hermes-service                             LoadBalancer   10.200.32.49    192.168.20.11   4801:30449/TCP,4811:31053/TCP,4812:32071/TCP   65d
default             anc-ovn-external                               LoadBalancer   10.200.32.229   192.168.20.11   6652:30573/TCP                                 65d
default             anc-policydb-external                          LoadBalancer   10.200.32.102   192.168.20.11   6653:32455/TCP                                 65d
ntnx-base           iam-proxy                                      LoadBalancer   10.200.32.103   192.168.20.11   8440:30818/TCP,8443:30977/TCP,8445:31309/TCP   65d
ntnx-base           iam-proxy-cac                                  LoadBalancer   10.200.32.170   192.168.20.11   9441:32116/TCP,9442:30844/TCP                  65d
ntnx-base           iam-proxy-internal                             LoadBalancer   10.200.32.23    192.168.5.2     8448:31061/TCP                                 65d
ntnx-base           svcmgr                                         LoadBalancer   10.200.32.116   192.168.5.2     2083:30855/TCP                                 65d
pc-platform-core    batch-service                                  LoadBalancer   10.200.32.14    192.168.5.2     8889:32203/TCP,8891:31282/TCP                  65d
pc-platform-nci     mitra-service                                  LoadBalancer   10.200.32.79    192.168.20.11   2105:31106/TCP                                 65d
pc-platform-nci     objects-lite                                   LoadBalancer   10.200.32.12    192.168.5.2     7206:32667/TCP,7201:32600/TCP,7204:31033/TCP   65d
pc-platform-nci     security-dashboard                             LoadBalancer   10.200.32.218   192.168.20.11   8801:31876/TCP,8800:30310/TCP,8805:32064/TCP   65d
pc-platform-nci     security-svc-internal                          LoadBalancer   10.200.32.62    192.168.20.11   8804:32008/TCP                                 65d
pc-platform-other   licensing-app                                  LoadBalancer   10.200.32.173   192.168.20.11   9091:30128/TCP                                 65d

 

「ntnx-base」Namespace にある「iam-proxy」サービスの FQDN は、下記のようになります。

  • iam-proxy.ntnx-base.prism-central.cluster.local

この FQDN を dig で確認すると、さきほどの結果とは AUTHORITY SECTION / ADDITIONAL SECTION が異なり、Prism Central に設定した DNS サーバー以外(192.168.1.101 / 192.168.1.102 以外)のレコードで名前解決されていることがわかります。

nutanix@NTNX-192-168-20-11-A-PCVM:~$ dig iam-proxy.ntnx-base.prism-central.cluster.local +norecurse

; <<>> DiG 9.11.36-RedHat-9.11.36-14.el8_10 <<>> iam-proxy.ntnx-base.prism-central.cluster.local +norecurse
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53952
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 359dda31defc70c7 (echoed)
;; QUESTION SECTION:
;iam-proxy.ntnx-base.prism-central.cluster.local. IN A

;; ANSWER SECTION:
iam-proxy.ntnx-base.prism-central.cluster.local. 5 IN A 192.168.20.11

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 30 00:48:48 PDT 2025
;; MSG SIZE  rcvd: 151

 

以上。

 

©2024 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。