2022이전/클라우드

DNS 서버 다루기(캐싱 DNS서버, Master네임 서버)_실습

바로퇴장 2020. 5. 15. 16:58
  • 캐싱DNS서버 구축하기

    보통 UDP 통신 방식을 이용한다.

    옛날에 있는 외부에 DNS 서버를 이용했다. 하지만 클라우드 네트워크 환경에서는 DNS서버를 하나 트래픽을 줄였다.

    캐싱DNS서버는 외부 도메인 IP주소만 불러오는 용도이다.

    DNS는 한번은 등록이 되면 자동으로 캐시파일로 등록이 됨으로 확인해야 한다.

  1. 필용한 패키지 설치

    yum -y install bind bind-chroot
  2. 설치된 패키지의 설정 변경

    cat /etc/named.conf
    ...

    변경전 내용

    ...
    options {
     listen-on port 53 { 127.0.0.1; };                //UDP : 통신방식 //허용IP
     listen-on-v6 port 53 { ::1; };                    //ip-v6 : 사용여부
     directory     "/var/named";                        
     dump-file     "/var/named/data/cache_dump.db";
     statistics-file "/var/named/data/named_stats.txt";
     memstatistics-file "/var/named/data/named_mem_stats.txt";
     recursing-file  "/var/named/data/named.recursing";
     secroots-file   "/var/named/data/named.secroots";
     allow-query     { localhost; };                //나에게 실제로 질의받는 대상
    ...
    

    변경 후 내용

    options {
         listen-on port 53 { any; };                //모두에게 허용
         listen-on-v6 port 53 { none; };            //ip-v6: 사용하지 않음
         directory       "/var/named";
         dump-file       "/var/named/data/cache_dump.db";
         statistics-file "/var/named/data/named_stats.txt";
         memstatistics-file "/var/named/data/named_mem_stats.txt";
         recursing-file  "/var/named/data/named.recursing";
         secroots-file   "/var/named/data/named.secroots";
         allow-query     { any; };                //모두에게 허용
    
  3. named 활성화 하기

    systemctl status named                        /named 상태 확인
    systemctl start named                        /named 시작
    systemctl enable named                        /named 시작 상태 enablE

web 서버 => 인트라넷, 사내 홈페이지 => full name : www.rapamall.com

​ 192.168.108.100

dns 서버 => 회사 내부 서버 연결용 DNS

​ rapamall.com

​ 192.168.108.100

클라이언트 => 일반 사용자

www.naver.com => dns서버(192.168.108.100) => 인터넷 검색 후 IP 알려줌

​ 캐싱 DNS 서버

www.rapamall.com => dns서버(192.168.108.100) => 바로 알려줌

​ 자신이 직접 특정 도메인을 관리하는 경우 : Master name 서버

  • 마스터 네임 서버 구축하기

    1. 상위 1번 동일
    2. 설치된 패키지의 설정 변경(vi /etc/named.conf)
    ...맨 마지막 줄에 내용 추가
    zone "rapamall.com" IN {                //관리하고 싶은 도메인 내용 넣기
        type master;                        //관리 권한(master, slaver)
        file "rapamall.com.db";                //도메인 상세내용 확인할 수 있는 DB
        allow-update { none; };                
    };
    1. rapamall.com.db 작성하기
    $TTL    3H                                    #확인한 IP를 3시간 캐시에 저장한다.
    @               SOA     @       root. ( 2 1D 1H 1W 1H)
                    IN      NS      @                #"@" /etc/named.conf에 정의된 test.com을 의미한다.    
                    IN      A       192.168.108.100
    
    www             IN      A       192.168.108.100            #www.rapamall.com
    nfs                IN        A         192.168.108.101            #nfs.rapamall.com

    1. 잘 작성했는지 확인해보기
    #named-checkzone rapamall.com /var/named/rapamall.com.db
    zone rapamall.com/IN: loaded serial 2
    OK
  • 여담

트래픽 분산화 기법

  1. DNS 를 통하여 분산을 시켜준다.
  2. 로드벨런서로 트래픽을 분산시켜준다.