k8s 네트워크 디버깅

DNS Debugging

사용 도구

nslookup

  • 뒤에 조회하려는 도메인을 입력하면 된다
  • 서버와 어드레스는 어떤 DNS 를 조회하였는지 알려주는 도구
  • 아래 Name, Address 를 확인하여 어떤 DNS 를 참고하였는지 확인할 수 있다
Server:		168.126.63.1
Address:	168.126.63.1#53
 
Non-authoritative answer:
Name:	google.com
Address: 142.250.206.238

Non-authoritative answer

  • 검색시 위와 같은 문구가 나오는 경우가 있다
  • 이는 DNS recursive resolver 를 사용하였다는 의미로, 권한 있는 이름서버를 사용하지 않았다는 의미임
  • 그냥 넘어가면 됨

dig(domain information groper)

  • DNS 검색을 수행하고 조회된 네임 서버로부터 리턴되는 명령어를 사용
; <<>> DiG 9.10.6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27398
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google.com.			IN	A
 
;; ANSWER SECTION:
google.com.		215	IN	A	172.217.161.238
 
;; Query time: 18 msec
;; SERVER: 168.126.63.1#53(168.126.63.1)
;; WHEN: Sun Aug 21 13:04:48 KST 2022
;; MSG SIZE  rcvd: 55
  • QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 부분을 보면 어떤 곳을 조회하였는지 확인할 수 있음
  • ANSWER SECTION 을 보면, DNS 조회로 어떤 IP를 획득하였는지 확인 가능
  • ;; SERVER 를 보면, 어떤 DNS 서버를 사용하였는지 확인할 수 있다

Telnet

  • 실제로 해당 서버에 포트로 접근할 수 있는지 Telnet 을 활용하여 확인 가능
telnet google.com 443

다음과 같은 명령어로 접근 가능

Traceroute

  • 목적지까지 도달하는데 어떤 경로를 거처가는지 확인할 수 있음
traceroute www.coursera.org
traceroute: Warning: www.coursera.org has multiple addresses; using 54.230.167.54
traceroute to www-cloudfront-alias.coursera.org (54.230.167.54), 64 hops max, 52 byte packets
 1  172.30.1.254 (172.30.1.254)  6.489 ms  6.141 ms  6.119 ms
 2  183.97.19.254 (183.97.19.254)  16.942 ms  73.310 ms *