Network/WindowsServer

Windows - DNS (/etc/hosts)

잇(IT) 2022. 4. 7. 21:23
728x90

- 이번 포스팅은 DNS에 대해 알아 볼 것이다. DNS는 Domain name system의 줄임으로 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위함이다. 숫자로된 IP 주소를 기억하기 힘들기 떄문에 편의를 위해 만들어진 시스템이다.


DNS (Domain Name System, Service, Server)

1. URL IP Address 변환

2. URL 검색 순서

2.1 첫번째 cache memory 확인

- ipconfig /displaydns 캐쉬 확인

- ipconfig /flushdns

 2.2 /etc/hosts 참조

 2.3 DNS (고정 IP 설정 or DHCP 서버에서 수신하는) 참조

 

5.1 DNS의 이해

- 도메인은 .(루트) 최상위 도메인 기준으로 다음과 같이 3단계로 구분되어 있다.

 

- DNS 서버는 클라이언트로부터 도메인 질의가 오게 되면

1. cache 확인

cache의 경우 이전에 한번이라도 사용한 경험이 있으면 다음에 재사용하게 될 때 보다 빠르게 사용할 수 있도록 도와준다.

2. /etc/hosts 파일 확인

3. DNS 확인

위의 3가지 순서를 거치게 된다. 위의 그림은 3. DNS 확인의 해당하는 경우다.


5.1.1 DNS 방식

1. 클라이언트 서버에서 도메인 주소를 DNS 서버에 질의한다.

2. DNS 서버에서 root DNS로 질의한다.

3. root DNS에서 질의에 대한 답변으로 kr DNS의 주소를 알려준다.

4. DNS 서버에서 kr DNS로 질의한다.

5. kr DNS에서 질의에 대한 답변으로 bank.kr DNS의 주소를 알려준다.

6. DNS 서버에서 bank.kr DNS로 질의한다.

7. bank.kr DNS에서 질의에 대한 답변으로 www.bank.krIP에 해당하는 10.10.10.10을 알려준다.

8. DNS 서버에서 클라이언트 서버에 10.10.10.10의 주소를 전달한다.

9. 클라이언트 서버에서 10.10.10.10IP로 접속한다.

 

- 클라이언트 서버의 DNS 서버 주소를 공인 IP 주소인 168.126.63.1로 임시로 지정한다.

 

- nslookup

DNS 서버에 질의하여, 도메인의 정보를 조회하는 명령어다.

168.126.63.1DNS 서버로 임시 지정했기 떄문에 기본 서버가 kns.kornet.net인 것을 알 수 있다.

 

- naver.com의 도메인 정보를 조회하게 되면 권한 없는 응답이라는 메시지와 함께 naver.com에서 사용하는 IP주소를 확인 할 수 있다.

 

- 권한 없는 응답이라는 메시지가 나오는 이유는 DNS 서버에서 naver가 가지고 있는 레코드를 받아서 클라이언트 서버에게 전달하지만 naver의 레코드의 권한은 naver만 가지고 있기 때문에 권한 없는 응답이라는 메시지가 나오는 것이다.

 

- set type=all

set type=all는 도메인의 모든 레코드를 요청하는 명령어다.

nameserver 중 하나인 ns1.naver.com의 도메인을 다시 한번 검색해본다.

 

- ns1.naver.com 도메인의 IP 주소를 알 수 있다.

 

- 클라이언트 서버의 DNS 서버의 IP 주소를 ns1.naver.comIP 주소로 임시 변경한다.

 

- nslookup을 사용하여 naver.com을 검색하면 이번에는 권한 없는 응답이라는 메시지가 없는 것을 볼 수 있다. 현재 DNS 서버가 naver.com에 포함된 서버이고 레코드 권한을 가지고 있기 때문이다.

 

- 하지만 DNS 서버가 사설 IP에 해당하기 때문에 naver.com과 관련되지 않은 이외의 주소는 찾을 수 없는 것을 확인 할 수 있다.


5.1.2 /etc/hosts 방식

 

- /etc/hosts 방식은 기존에 매칭되어 있는 IP와 도메인을 host가 임의로 변경하는 행위이다.  

 

- compmgmt.msc

컴퓨터 관리 콘솔로 진입한다.

 

- Administrator 계정이 비활성화 되어있는데 추후에 수정할 /etc/hosts 파일의 권한이 Administrator한테 있기 때문에 계정을 활성화 해준다.

 

- 계정 사용 안 함의 체크를 풀어주게 되면 Administrator가 활성화 된다.

 

- Administrator 계정으로 전환해준다.

 

                      - 다시 DNS 서버 주소를 168.126.63.1(공인IP)로 바꾼다.

 

- 인터넷 옵션 -> 홈 페이지 about:blank로 변경 (cache가 남지 않기 하기 위해 임시로 사용한다.) -> 삭제 -> 모든 cache 기록을 삭제한다.

다음과 같이 아무런 cache 기록을 남기지 않은 상태의 브라우저이다.

 

- ipconfig /flushdns

캐시 메모리를 비운다.

 

- 위와 같이 특정 도메인을 검색하게 되면 cache 기록이 ipconfig /displaydns에 남게 된다.

 

- 다시 cache 기록을 삭제한다.

 

- Windows -> System32 -> drivers -> etc -> hosts 파일을 txt 파일로 실행시킨 다음 임의로 naverIP 주소에 daum 도메인 주소를 매칭 시킨다.

 

- daum의 도메인 주소를 검색창에 입력하게 되면 cache에 아무런 기록이 없고 /etc/hosts 파일에 의해 도메인 주소는 daum이지만 naver 브라우저가 열리는 것을 볼 수 있다.

728x90