9장. 네임 서버 설치 및 운영 (2) - 캐싱 전용 네임 서버

728x90
반응형

출처 : https://www.youtube.com/watch?v=bJvA-JxhfKE

 

도메인 이름 체계

 

 

 

  • 초창기 인터넷에서는 1대의 네임 서버만으로도 충분히 IP 주소와 이름의 관리가 가능
  • 하지만 인터넷이 폭발적으로 확장되면서, 몇 대의 네임 서버로는 실시간으로 인터넷 상의 수많은 컴퓨터들을 관리할 수 없게 되었음
  • 트리 구조와 같은 '도메인 이름 체계'를 고안함
  • 제일 최상단의 네임 서버인 root domain name server가 하위에 1단계 네임 서버인 net, com, org 등의 네임 서버와 국가 도메인인 kr, fr, jp 네임 서버를 관리한다. 그리고 1단계 네임 서버가 그 아래의 2단계 네임 서버들을 관리한다. 예를 들어, com 네임 서버는 nate, google, naver 등의 2단계 도메인을 관리하는 네임 서버들만 관리한다.
  • 위 그림에서 각 회사의 네임 서버들이 회사의 웹 서버, ftp 서버, mail 서버 등을 관리하고, 1단계 네임 서버들이 각 회사의 네임 서버를 관리하는 형식으로 이루어져있는 것이다.

 

로컬 네임 서버가 작동하는 순서

 

  • PC가 사용하는 네임 서버가 /etc/resolv.conf 파일에 "nameserver IP주소" 로 설정되어 있는데, 이 네임 서버를 로컬 네임 서버라고 부른다.
  • 그래서 www.nate.com의 IP 주소를 요구하면 이 로컬 네임 서버에 질문을 한다.
  • 로컬 네임 서버는 의외로 아는 것이 별로 없다. 로컬 네임 서버가 혼자서 전 세계의 모든 컴퓨터의 도메인 이름을 관리할 수는 없기 때문에 위 그림과 같이 동작하게 된다.
    1. PC의 웹 브라이저 주소창에 www.nate.com을 입력한다.
    2. PC가 리눅스일 경우 /etc/resolv.conf 파일을 열어서 'nameserver 네임서버IP' 부분을 찾아 로컬 네임 서버 컴퓨터를 알아낸다.
    3. 로컬 네임 서버에 www.nate.com의 IP 주소를 묻는다.
    4. 로컬 네임 서버는 자신의 캐시 DB를 검색해 www.nate.com의 정보가 들어있는지를 확인한다. (만약 정보가 있다면 바로 응답하지만, 대개는 정보가 없다.)
    5. 로컬 네임 서버가 'ROOT 네임 서버'에 www.nate.com의 IP 주소를 묻는다.
    6. 'ROOT 네임 서버'도 www.nate.com의 주소를 모르면 'com 네임 서버'의 주소를 알려주며 'com 네임 서버'에게 물어보라고 한다.
    7. 로컬 네임 서버가 'com 네임 서버'에게 www.nate.com의 주소를 묻는다.
    8. 'com 네임 서버'도 www.nate.com의 주소를 모르면 'nate.com'을 관리하는 네임 서버의 주소를 알려주며 'nate.com 네임 서버'에게 물어보라고 한다.
    9. 로컬 네임 서버가 'nate.com 네임 서버'에게 www.nate.com의 주소를 묻는다.
    10. 'nate.com 네임 서버'는 네이트에서 구축한 네임 서버이므로 OOO.nate.com이라는 이름을 가진 컴퓨터를 모두 안다. IP 주소를 알려준다.
    11. 로컬 네임 서버는 www.nate.com의 IP 주소를 요구한 PC에게 IP 주소를 알려준다.
    12. PC는 획득한 IP 주소로 접속을 시도한다.

참고로 위 방법은 Iterated query 방식이다. recursive query 방식으로도 동작하기도 한다. 자세한 내용은 네트워크 항목 참고.

 

2. Application Layer (2)

3. Electronic mail (SMTP, POP3, IMAP) 전자 메일에는 3가지 요소(component)가 있다. · user agents · mail server · 프로토콜 (그 중 대표적인 프로토콜인 SMTP, 메일 프로토콜의 standard임) ​ User Agent 쉽게 말해서 우

zangwoo.tistory.com

 

 

캐싱 전용 네임 서버

 

  • PC에서 URL로 IP 주소를 얻고자 할 때, 자신이 관리하지는 않지만 외부에 나가서 해당하는 URL의 IP 주소를 알려주는 네임 서버를 의미한다. 위 예시에서는 로컬 네임 서버가 캐싱 전용 네임 서버가 되는 것이다. (우리가 저번 시간에 쓴 192.168.111.2)
  • 이번에는 vmware에서 제공하는 네임 서버(192.168.111.2)를 쓰지 않고 우리의 server 가상 머신(192.168.111.100)을 캐싱 전용 네임 서버로 만들어보자.

 

캐싱 전용 네임 서버 구축

 

실습 목표

  • Server 가상 머신을 캐싱 전용 네임 서버로 만든다.
  • 네임 서버와 관련된 패키지를 설치하고, 설정 파일을 수정한다.

 

실습

Server 가상 머신을 초기화하고 부팅한 다음, root 사용자로 접속한다.

 

패키지 설치

 

네임 서버와 관련된 패키지를 설치한다.

dnf -y install bind bind-chroot

 

 

gedit 에디터로 named.conf 파일을 열고 수정한다.

gedit named.conf

11행 : listen-on port 53 { 127.0.0.1; }; -> listen-on port 53 { any; };
12행 : listen-on-v6 port 53 { ::1; }; -> listen-on-v6 port 53 { none; };
19행 : allow-query { localhost; }; -> allow-query { any; };
33행 : dnssec-validation yes; -> dnssec-validation no;

 

 

서비스(데몬)을 작동한다. 네임 서버의 서비스 이름은 'named' 이다. Active가 active (running) 상태로 잘 동작하고 있다.

systemctl restart named -> 재시작(stop + start)
systemctl enable named -> 네임 서버 상시 가동
systemctl status named -> 네임 서버 상태 확인

 

 

방화벽 설정

 

방화벽 설정으로 들어가 설정을 영구적으로 바꾼 다음, 서비스의 dns 를 체크해준다. 옵션 -> firewalld 다시 불러오기를 눌러서 저장을 해준다.

 

firewall-config

 

 

 

네임 서버가 잘 작동하는지 확인해보자. dig @네임서버IP 조회할URL 형식으로 명령을 입력하면 된다. 여기서는 네이트를 입력해 본 결과 잘 작동하는 것을 확인할 수 있다. www.nate.com 의 IP 주소 120.50.131.112를 웹 브라우저 주소창에 입력하면 네이트 홈페이지가 나타나게 된다.

 

dig @192.168.111.100 www.nate.com -> 192.168.111.100은 현재 server 가상 머신의 IP 주소

 

 

nslookup 명령을 실행해 작동 테스트를 할 수 있다.

nslookup
server 192.168.111.100
www.nate.com
exit

 

 

외부 클라이언트 X 윈도우 환경(Client 가상 머신)에서 동작하기

 

Client 가상 머신으로 방금 구축한 server 가상 머신에서 설정한 네임 서버를 사용하도록 변경해보자. Client 가상 머신을 초기화하고 부팅한다.

 

 

 

client 가상 머신에서 우리가 만든 server 가 네임 서버를 고정적으로 사용하도록 지정한다. gedit 에디터로 /etc/resolv.conf 파일을 열고 nameserver 뒤의 IP 주소를 server 가상 머신의 IP 주소인 192.168.111.100으로 변경한다.

su -c 'gedit /etc/resolv.conf'

 

 

파이어폭스를 실행하면 웹 사이트들이 잘 들어가진다. 우리가 만든 네임 서버가 Iterated query 방식으로 잘 작동하고 있음을 의미한다.

 

 

텍스트 모드 환경(server B 가상 머신)에서 확인하기

 

 

다음은 server(B) 가상 머신으로 텍스트 모드에서 server 가상 머신에 설정한 네임 서버를 사용하도록 만들어보자.

root 사용자로 접속해 nano 에디터로 /etc/resolv.conf 파일을 수정한다.

 

 

nameserver의 IP 주소를 server의 IP 주소인 192.168.111.100 으로 변경한다. nano 에디터를 저장하고 나가는 건 ctrl+x -> y -> enter 를 누르면 된다.

 

 

nslookup 명령을 입력해 네임 서버가 잘 작동하는지 확인할 수 있다. server를 입력하면 우리의 server 가상 머신이 네임서버로 동작하고 있고, 네이트닷컴의 IP 주소를 잘 알려주고 있다.

nslookup
server
www.nate.com
exit

 

 

Windows 환경(Winclient 가상 머신)에서 확인하기

Winclient 가상 머신을 초기화하고 부팅한다.

 

 

제어판 -> 네트워크 및 인터넷 -> 네트워크 및 공유센터 -> Ethernet0 상태 -> Ethernet0 속성 -> 인터넷 프로토콜 버전 4(TCP/IPv4) 속성에서 DNS 서버 주소를 우리의 server 가상 머신의 IP 주소를 입력한다.

 

 

네이트 홈페이지가 잘 접속된다.

 

 

 

728x90
반응형