[OS] Window Client-Cache-DNS-Linux web server 구현

hugingstar·2025년 12월 12일

Operating system

목록 보기
12/34
post-thumbnail

구글(8.8.8.8)로 보내면 어떤 방식으로 8.8.8.8인지 알 수 있을까? 그에 대한 답은 DNS에 있는 DNS 정보를 빌려서 어떤 도메인이 어떤 IP인지를 식별했기에 가능하다.

Win 10 클라이언트에서 Win2022 DNS 서버로 곧바로 통신을 하는 경우에 Wireshark로 신호를 분석해본다면 Protocol가 보내질 때 53번 UDP을 사용해서 통신을 한다.

  • Win10 클라이언트 : 17.0.0.0
  • Win2022 DNS 서버 : 10.17.0.100

  • DNS에서 IP를 제공하는 원리를 보면, 클라이언트가 DNS로 정보를 보낸 다음에, 최상위 root DNS까지 가서 Google DNS를 알아내고 다시 그 정보르 Client까지 보내준다.
  • Root에도 없으면 Root hints로 가서 FQDN(Fully qualified domain name)을 어떻게든 알아낸다.
  • Com DNS는 com으로 끝나는 도메인 정보를 가진 서버이다. (중간다리 역할)

  • 루트 힌트를 보면 13개의 루트 힌트가 설정되어 있다.

  • 이런 것 처럼 DNS 서버로 곧바로 접속하면 처음 접속하더라도 사이트의 정보를 바로 가져올 수 있지만, 모체가되는 DNS 서버에 트래픽이 몰려버리면 터질수도 있다. 그래서 필요한 것이 Cache 개념이다.

1. Cache 구현

  • Cache는 작은 DNS 서버 같은 역할을 하는 서버 컴퓨터이다. DNS 서버 과부하를 막기 위해서 만들어진 개념이다.

  • DNS 서버와 클라이언트 사이에 Cache를 연결할려면 먼저 네트워크 설정에서 DNS를 10.17.0.100번으로 설정하고, IP는 10.17.0.50으로 설정한다.

  • 즉, 클라이언트(10.17.0.0)의 요청이 DNS(10.17.0.100)으로 바로 가는 것이 아니라 캐시(10.17.0.50)으로 들어온 다음에 DNS(10.17.0.100)으로 나가도록 설정한다.

  • 캐시는 중간다리 역할을 하기 때문에 전달자라는 것을 명시해주어야한다.

  • 어떤식으로 통신이되는지 확인하기 위해서 클라이언트 PC에서 캐시를 다 지우고, 통신을 연결하여 네트워크 분석을 해본다.

  • 캐시 서버의 캐시를 지우는 방법은 클라이언트에서 지우는 방법과는 약간 차이가 있다.

  • DNS 관리자에서 캐시된 조회에서 지워야한다.

  • IP 설정 참고 사진

ping을 날린 결과 www.bulbogikebab.ke으로 ping이 잘가는 것을 볼 수 있다.(www.bulbogikebab.ke은 리눅스 웹서버> DNS로 연결되어 있다.)

0개의 댓글