본문 바로가기
Study/기타

[리눅스] DNS 서버 설정

by 나아가는 2023. 11. 8.
반응형

https://aws.amazon.com/ko/route53/what-is-dns/

1. 캐시 DNS 서버 구축

1) bind 패키지 설치

yum list bind
yum install -y bind

2) 설정 파일 수정

/etc/named.conf

options {
         directory       "/var/named";
};

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

zone "wst02.sec." IN {
         type master;
         file "wst02.sec.zone";
};
# 다중 DNS 서버 구성할 때
zone "wst02.itc." IN {
         type master;
         file "wst02.itc.zone";
};

 

유효성 검사 > 출력 아무것도 안되면 정상

named-checkconf /etc/named.conf

3) zone 파일 생성

/var/named/wst02.sec.zone

address 수정하면 serial 도 같이 수정해야지 변경사항을 확인 가능하다.

$TTL 86400
@ IN SOA ns.wst02.sec. root.ns.wst02.sec. (
                     11 ; Serial
                     28800 ; Refresh
                     14400 ; Retry
                     3600000 ; Expire
                     86400 ) ; Minimum
; Name Server

      IN NS ns.wst02.sec.
; Host Address
      IN  A  192.168.10.135
ns    IN  A  192.168.10.133
www   IN  A  192.168.10.135
win         IN     A       192.168.10.131

유효성 검사

named-checkzone [domain] [file.zone]
named-checkzone wst02.sec /var/named/wst02.sec.zone

 

/var/named/wst02.itc.zone

====================
$TTL    1D
@   IN   SOA  ns.wst02.itc.   root.ns.wst02.itc. (
                                   1         ; Serial
                                   1D        ; Refresh
                                   1H        ; Retry
                                   1W        ; Expire
                                   3H )      ; Minimum
; Name Server
   IN   NS      ns.wst02.itc.
; Host address
            IN     A       192.168.10.135
ns          IN     A       192.168.10.133
www         IN     A       192.168.10.135
win         IN     A       192.168.10.131

유효성 검사 named-checkzone wst02.sec /var/named/wst02.itc.zone

4) 서비스 재시작

# DNS 재시작
systemctl restart named.service
or 
systemctl restart named
systemctl status named

# 방화벽 해제
systemctl stop firewalld
systemctl status firewalld

5) 다른 pc 에서 dns server 임시 변경해서 테스트

vi /etc/resolv.conf
===================
nameserver 192.168.10.133
===================

nslookup wst02.sec

nslookup naver.com

2. 마스터 - 슬레이브 서버 설정

0) slave server 에서 zone 파일 삭제

rm -rf /var/named/wst02.sec.zone

1) master name server 의 named.conf 에서 이전 될 zone 을 지정

/etc/named.conf

options {
        directory       "/var/named";
};

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

zone "wst02.sec." IN {
        type master;
        file "wst02.sec.zone";
        also-notify {192.168.10.135;};
};

2) slave named server의 named.conf 에서 zone 영역 지정

  • /var/named 대해서 named 그룹에 대해서 write 가능하도록 권한이 있어야 한다.
    • Slave 서버측 : name 그룹
  • slave 에서는 zone 파일을 master에서 복사해서 가져오는데 수정하지 못하게 binary로 되어있다.
  • 해당 파일 cat으로 실행시 파일 손상있을 수 있으니 ls로 생성 확인. 

/etc/named.conf

options {
          directory       "/var/named";
};

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

zone "wst02.sec." IN {
          type slave;
          file "wst02.sec.zone";
          masters {192.168.10.133;};
};

 

3) 서버 재시작

systemctl restart named
# slave에 zone 파일 만들어지는지 확인
ls /var/named/

4) master 에 zone 파일 update 하고 반영 잘되는지 확인

  • address 추가 후 꼭 시리얼 넘버 수정하기.
  • 안 그러면 변경 사항이 있는지 슬레이브에서 확인을 못해서 업데이트 안 함.

/var/named/wst02.sec.zone → NS 네임 서버 이름 꼭 지정해야 함

$TTL    86400
@  IN   SOA  ns.wst02.sec.   root.ns.wst02.sec. (
                              12           ; Serial
                              28800        ; Refresh
                              14400        ; Retry
                              3600000      ; Expire
                              86400 )      ; Minimum
; Name Server
          IN   NS      ns.wst02.sec.
; Host Address
          IN   A       192.168.10.135
ns        IN   A       192.168.10.133
www       IN   A       192.168.10.135
win       IN   A       192.168.10.131
ns2       IN   CNAME   www

3. 도메인 위임

1) 상위 서버 세팅 (192.168.10.133) - DNS 서버 자기 자신으로 설정

/etc/named.conf

options {
        directory       "/var/named";
};

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

zone "wst02.sec." IN {
        type master;
        file "wst02.sec.zone";
};

 

/var/named/wst02.sec.zone

$TTL    86400
@  IN   SOA  ns.wst02.sec.   root.ns.wst02.sec. (
                              12           ; Serial
                              28800        ; Refresh
                              14400        ; Retry
                              3600000      ; Expire
                              86400 )      ; Minimum
; Name Server
                 IN   NS      ns.wst02.sec.
; Host Address
                 IN   A       192.168.10.135
ns               IN   A       192.168.10.133
www              IN   A       192.168.10.135
win              IN   CNAME   ns
; Sub Domain
st.wst02.sec.    IN  NS  ns.st.wst02.sec.
ns.st.wst02.sec. IN  A  192.168.10.135

 

named 서비스 재시작

systemctl restart named

2) 하위 서버 세팅 (192.168.10.135) - DNS 서버 자기 자신으로 설정

/etc/named.conf

options {
          directory       "/var/named";
};

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

zone "st.wst02.sec." IN {
          type master;
          file "st.wst02.sec.zone";
};

 

/var/named/st.wst02.sec.zone

$TTL    86400
@  IN   SOA  ns.st.wst02.sec.   root.ns.st.wst02.sec. (
                              12           ; Serial
                              28800        ; Refresh
                              14400        ; Retry
                              3600000      ; Expire
                              86400 )      ; Minimum
; Name Server
          IN   NS      ns.st.wst02.sec.
; Host Address
          IN   A       192.168.10.135
ns        IN   A       192.168.10.133
www       IN   A       192.168.10.135
win       IN   A       192.168.10.131

 

 

named 서비스 재시작

systemctl restart named

3) 상위 서버에서 테스트

  • 상위 서버가 하위 도메인 서버의 정보까지 확인할 수 있다.
nslookup www.wst02.sec
nslookup www.st.wst02.sec

 

반응형

'Study > 기타' 카테고리의 다른 글

[mysql] 컬럼 순서 변경, 컬럼 설정 변경  (0) 2023.11.30
[네트워크] 이더넷과 CSMA/CD  (1) 2023.11.13
[리눅스] FTP 서버 설정  (1) 2023.11.08
[CSS]CSS의 display 속성  (0) 2023.10.18
[Git] 필수 명령어  (0) 2023.09.13