Tracerouteが動作しているときに名前解決失敗の根本原因を見つける方法

Tracerouteが動作しているときに名前解決失敗の根本原因を見つける方法

アクセスするDNSを設定した後、サンプルアプリケーションを開発してデプロイしましたhttps://dev-intra.test.co.jp/test(ホスト名はここで編集されました)。ところが申請書が出てこないですね。

私はこの状況の根本原因を見つけようとしています。

traceroute結果は成功した。

myPC@hikaru:~$ traceroute dev-intra.test.co.jp
traceroute to dev-intra.test.co.jp (192.168.88.11), 30 hops max, 60 byte packets
 1  hikaru.mshome.net (172.18.160.1)  0.531 ms  0.507 ms  0.499 ms
 2  * 10.10.10.1 (10.10.10.1)  28.829 ms *
 3  * * *
 4  * 192.168.2.197 (192.168.2.197)  28.617 ms  28.612 ms
 5  * dev-intra.test.co.jp (192.168.88.11)  39.146 ms *

だから試してみましたが、dig dev-intra.test.co.jp名前が解決されていないようです。

; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> dev-intra.test.co.jp +multiline
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13425
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;dev-intra.test.co.jp. IN A

;; AUTHORITY SECTION:
inf9.co.jp.             222 IN SOA ik0103.i-kyushu.or.jp. root.i-kyushu.or.jp. (
                                2022122301 ; serial
                                3600       ; refresh (1 hour)
                                300        ; retry (5 minutes)
                                3600000    ; expire (5 weeks 6 days 16 hours)
                                300        ; minimum (5 minutes)
                                )

;; Query time: 39 msec
;; SERVER: 172.18.160.1#53(172.18.160.1) (UDP)
;; WHEN: Mon Jan 23 20:10:36 JST 2023
;; MSG SIZE  rcvd: 114

リクエストに応じて追加情報を提供してください。

hikamiya@AT-MPC22151:~$ grep host /etc/nsswitch.conf
hosts:          files dns
hikamiya@AT-MPC22151:~$ cat /etc/resolv.conf
# [network]
# generateResolvConf = false
nameserver 172.18.160.1
hikamiya@AT-MPC22151:~$ resolvectl
sd_bus_open_system: No such file or directory
hikamiya@AT-MPC22151:~$ grep dev-intra /etc/hosts
192.168.88.11   dev-intra.test.co.jp
hikamiya@AT-MPC22151:~$

追加情報:

hikamiya@AT-MPC22151:~$ cat /var/run/nscd/socket
cat: /var/run/nscd/socket: No such file or directory
hikamiya@AT-MPC22151:~$ cat /run/nscd/socket
cat: /run/nscd/socket: No such file or directory
hikamiya@AT-MPC22151:~$ getent hosts dev-intra.test.co.jp
192.168.88.11   dev-intra.test.co.jp

それらの違いは何ですか?私が重要な点を逃したのですか?

誰でもコメントがあれば教えてください。ありがとう

答え1

tracerouteシステムのネームサービスを使用して、ホスト名をネットワークアドレスに解決します。

これは、各データベース(、、、...)に使用するネームサービスモジュールと順序を/etc/nsswitch.conf指定する(nameserviceスイッチ)によって構成されます。passwdgrouphosts

あなたの場合は、モジュールを最初に使用してからDNSをhosts使用するように求められます。クエリの場合です。fileslibnss_files.so/etchosts/etc/hosts

ここでホスト名を見つけることができるので、DNSサーバーに問い合わせる必要もありません。

digそれ自体はただのDNSクライアントです。デフォルトでは、構成で言及されている最初のサーバー/etc/resolv.conf(構成でもありますlibnss_dns.so)を照会し、DNSサーバーにはそのホスト名の記録はありません。

関連情報