액세스하려는 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 스위치)를 통해 구성 됩니다.passwd
group
hosts
귀하의 경우 모듈을 먼저 사용한 다음 DNS를 hosts
사용하라는 메시지가 표시됩니다 . 쿼리 의 경우 입니다 .files
libnss_files.so
/etc
hosts
/etc/hosts
여기에서 호스트 이름을 찾을 수 있으므로 DNS 서버에 쿼리할 필요도 없습니다.
dig
그 자체는 단지 DNS 클라이언트일 뿐입니다. 기본적으로 구성에 언급된 첫 번째 서버 /etc/resolv.conf
(구성이기도 함 libnss_dns.so
)를 쿼리하며 DNS 서버에는 해당 호스트 이름에 대한 기록이 없습니다.