IT 매일매일

DNS 서버

jj27 2023. 2. 9. 18:00

-서버란?

클라이언트에게 서비스를 제공하는 프로그램

-DNS 서버
도메인 주소를 IP주소로 바꿔주는 서비스를 제공하는 서버

*로컬 DNS? = 도메인 주소를 IP 주소로 바꿔주는 서버
*책임 DNS? = 사내에서 동작하는 기록서버

 

 


설정이 많지만 일단 다 지운다.
가장 기본적인 설정만 넣는다.
(옵션 부분에 설정을 하는것이다)
영역파일을 특정 디렉토리에 저장하겠다.(영역파일의 위치-named)
하나의 도메인을 만드는 명령어.(zone)+(영역 파일의 이름을 써준다)
타입 = 마스터 , 슬레이브 , 힌트

마스터 - 마스터 서버. 주 DNS 서버이다.
슬레이브 - 보조 서버(마스터에서 정보 업데이트 하면 슬레이브에 같이 업데이트 된다.)
힌트 - 루트 힌트 서버(루트DNS를 지정할때 사용된다.)

**named-checkconf

-zone 영역 파일


앞에 ;이 붙어있으면 주석으로 바뀐다(동작x)

*TTL DNS서버가 준 정보가 살아있을수 있는 시간

@ 이후 DNS주소,
ns - 네임 서버, 서버 관리자
시리얼 넘버 - 영역 파일의 시리얼 넘버
리프레쉬 - 변경 값이 있는가 확인 하는 시간의 단위
리트라이 - 재시도
익스파이어 - 만료되었을때 얼마동안 계속 재시도 할거냐
TTL - 알려준 정보가 살아있을수 있는 시간 값


도메인주소와 아이피 주소를 연결시켜놓는 공간

CLASS 타입 value에 값 입력
NS - 네임서버
A - ipv4
CNAME - 별명
MX - 메일서버

**DNS서버는 포트번호 53번

**파일 설정할때 입력하는 IP는 어떤 숫자가 들어가도 적용은 한다.(접속이 된다는 보장은 없다.)
+파일에 입력한 그대로 알려주는것이다.(오입력하면 망한다.)

-DNS 서버 간단 실습-(bind)


-리눅스에서 DNS서버(bind)설치

1) 설치
yum install bind

2) 설정 파일
/etc/named.conf

2. named.conf 파일

1) 기본 설정
options {
        directory "/var/named";
};

zone "sjb.com" in {
        type master;
        file "sjb.com.zone";
};


2) 설정 확인
named-checkconf
출력 결과가 없으면 정상!


3. zone 영역 파일
  1) 영역 파일 설정
/var/named/sjb.com.zone

;(name)         (ttl)   CLASS   TYPE    Origin          DNSMaster
;-------------------------------------------------------------------------------
$TTL 1D
@                       IN      SOA     ns.[ ].com.     root.[ ].com. (
                                            2018100201      ;serial number
                                                3600            ;Refresh
                                                1800            ;Retry
                                                36000           ;Expire
                                                86400           );TTL

;(name)         (ttl)   CLASS   TYPE    Value
;-------------------------------------------------------------------------------
                        IN      NS      ns.[ ].com.
ns                    IN       A       [ip주소]
www                IN      A       [ip주소]
news               IN      A       [ip주소]
server IN   CNAME   www



     TYPE
NS : 이름 서버
A : IPv4 주소
AAAA : IPv6 주소
MX : 메일 서버



2) 영역 파일 설정 확인

                                [도메인]               영역파일
named-checkzone asdf.com /var/named/asdf.com.zone
OK가 뜨면 문제가 없음!




4 루트 힌트 서버 추가

  1) /etc/named.conf

zone "." in {
        type hint;
        file "named.ca";
};


  2) 루트 힌트 서버 파일 다운
cd /var/named

wget https://www.internic.net/domain/named.root

  3) 서비스 재시작
설정이 변경되었으니 서비스를 한 번 재시작한다.
systemctl restart named

  4) 확인
nslookup
server [본인 리눅스IP]
www.naver.com 를 물어봤을 때 제대로 알려주면 성공

dig @192.168.240.100  www.naver.com       A        +trace
    [물어 볼 DNS서버]    [물어볼 도메인]   [레코드 타입]   [경로 추적 옵션]
-실습-

루트 힌트 서버 추가하고 nslookup으로 네이버 주소 입력해보기.

/etc/named.conf 경로에



zone "." in {
        type hint;
        file "named.ca";
};

코드를 추가해준다.

설정이 끝나면 시스템을 다시 시작(systemctl trstart named)해주고,
nslookup으로 네이버 주소를 입력해보자.

*이는 루트 DNS(.) 파일을 추가 해준 것 이고, 
이 설정을 추가하면 다른 웹 서버ip 주소를 다운받아 오기 때문에
nslookup으로 ip 확인이 가능해진다.