BIND


bind: dns 서버 구축 프로그램


bind-utils: DNS
서버 질의를 위해 사용되는 유틸리티 제공


bind-libs: bind
bind-utils가 사용하는 라이브러리 패키지


bind-chroot: chroot
환경에서 bind 사용을 위한 파일 제공


Install bind

1
yum install bind*
cs




DNS는 기본적으로 UDP 53번 포트로 동작하며, DNS 헤더를 포함한 메시지 크기가 512바이트를 초과할 경우에 TCP 53번 포트로 변경하여 동작하도록 설

계되어 있다. 또한, 마스터와 슬레이브 네임 서버 간, 존 전송 시에도 많은 양의 데이터를 전송하기 때문에 TCP를 사용한다.

/var/named/named.ca 루트 네임 서버는 전 세계 13개로 운영되며, TCP로 동작하게 되어 부하를 발생하지 않게 하기 위함이다.

루트 네임서버 정보 갱신은 rs.internic.net/domain/named.root 파일을 다운받아 named.ca파일을 덮어 씌우면 된다.



bind settings

/etc/named.conf

1
2
3
4
5
zone "." IN {
        type hint;
        file "named.ca";
};
 
cs



chroot

보안 등의 이유로 가상의 새로운 루트 디렉토리를 지정하여 서비스를 사용하도록 하는 것. DNS 서비스의 경우, /var/named/chroot를 최상위 디렉토리로 인식하게 하여 사용한다.


OPTIONS section in named.conf

1
2
3
4
5
6
7
8
9
10
11
12
options {
//      listen-on port 53 { 127.0.0.1; };
        listen-on port 53 { any; };
//      listen-on-v6 port 53 { ::1; };
        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";
//      allow-query     { localhost; };
//      allow-transfer  { ; };  2nd NS's address
//      masters { ; }; master NS's address in 2nd NS
 
cs


외부 접근 설정, 2차 네임 서버 또는 마스터 네임 서버 지정 옵션 등 추가


/etc/resolve.conf - 리졸버 설정 파일

1
2
3
4
search sample-test.com
nameserver 119.
nameserver 168.
 
cs

자신의 도메인을 search 지시자에 명시하고, 네임서버로 사용할 자신의 IPnameserver 지시자에 명시한다.


/etc/host.conf - 호스트 설정 파일

1
2
3
multi on
order hosts, bind
 
cs

hosts 파일과 DNS 질의 순서 설정.
multi:
시스템 내의 hosts 파일에 복수의 IP 주소를 설정하는 옵션


/etc/named.rfc1912.zones - 각 존 파일 명시

1
2
3
4
5
6
zone "sample-test.com" IN {
        type master;
        file "sample-test.com.zone";
        allow-update { none; };
};
 
cs

-       /etc/named.rfc1912.zones 파일에 도메인 존 추가 및 존 파일 명시 (이 경우 named.conf 파일에 includenamed.rfc1912.zones 파일을 명시해야 한다. 아닐경우 /etc/named.conf에 작성)


/var/named/new_zone.zone - DNS 데이터베이스 존 파일

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$TTL 1D
@       IN SOA  ns.sample-test.com.     admin.sample-test.com. (
                                        20180727        ; serial
                                        1D              ; refresh
                                        1H              ; retry
                                        1W              ; expire
                                        1D )            ; minimum
        IN NS           ns.sample-test.com.
        IN A            119.x.x.x
ns      IN A            119.x.x.x
www     IN A            119.x.x.x
web     IN CNAME        www
;       IN NS           ns2.sample-test.com.
;ns2    IN A            IPv4_address_of_2nd_NS
cs

-       Zone 파일 상단에 TTL 기본 값을 명시해 준다.

-       @은 현재 zone을 의미하며, SOA에 권한을 가진 네임 서버를 명시하고, 관리자 메일을 적는다. @의 혼용을 막기 위해 ‘.’을 사용한다.

n  Serial: zone 파일 레코드의 갱신 정보. 보통 생성/수정된 날짜를 작성

n  Refresh: 서브 네임 서버가 마스터 네임 서버의 갱신 내용을 확인하기 위해 체크하는 시간

n  Retry: 서브 네임 서버가 마스터 네임 서버에 접속 시도 실패 시, 재시도할 시간

n  Expire: 서브 네임 서버가 가져온 마스터 네임서버의 정보의 만료 시간

n Minimum: TTL 값 설정 부분. 존 파일 상단 $TTL과 같음


Access control on zone file

1
2
3
[root@localhost ~]# ll /var/named/sample-test.com.zone
-rw-r--r-- 1 root named 340 Jul 27 14:33 /var/named/sample-test.com.zone
 
cs

-       named 데몬에서 접근 가능하도록 존 파일의 소유권을 변경해 준다.

-       named-checkconf: named.conf 파일 유효성 검사 유틸
named-checkzone: zone
파일 유효성 검사 유틸


Restart the named

1
2
3
4
[root@localhost ~]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]
 
cs



1
2
3
4
5
[root@localhost ~]# ss -ant
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port
LISTEN     0      3            119.x.x.x:53                       *:*
LISTEN     0      3                 127.0.0.1:53                       *:*
 
cs


Test with dig or nslookup


'System Engineering > Linux' 카테고리의 다른 글

Apache: Security settings  (0) 2018.08.03
Apache: httpd set-up  (0) 2018.08.03
DNS Query Tools: nslookup and dig  (0) 2018.07.27
SSH security settings  (0) 2018.07.27
HTTP Header Sample Analysis - www.daum.net  (0) 2018.07.24

+ Recent posts