본문 바로가기

네임서버

[네임서버] BIND 관리를 위한 RNDC 설정

BIND 관리를 위한 RNDC 설정

bind 서버를 로컬 및 원격지에서 관리하기 위한 Tool로써 보다 향상된 보안 기능을 포함하고 있다. 이것은 클라이언트에 해당되는 Tool로써 제공된다. 그러나 rndc 명령어를 실행할 때마다 별도의 옵션이 필요하기 때문에 rndc.conf 파일을 생성하여 보다 쉽게 사용할 수 있도록 한다.

rndc-confgen
 rndc-confgen 명령어는 rndc.conf 파일을 보다 쉽게 생성해주는 명령어로 보다 향상된 DNS 서버를 관리하기 위해 제공된 유틸리티로 BIND 서버와 별도로 사용된다.

rndc-confget 옵션

옵션 설명
-a 자동으로 “/etc/rndc.key”파일을 생성해주는 옵션으로 만약 생략하다면 표준출력 즉 모니터로 출력이 된다.
-b 생성할 키 사이즈를 설정할 수 있으면 1~512 사이의 bit을 사용할 수 있다. 기본값으로 128bit이다.
-c 키 파일을 지정
-k 사용하고자 하는 키 이름을 지정
-p rndc 유틸리티가 사용하고자 하는 포트를 설정
-s rndc를 사용하고자 하는 소스IP를 지정
-t chroot 환경에서의 최상위 디렉토리 설정
-u 지정한 사용자로 rndc.conf 파일을 생성

먼저 /etc/rndc.conf 파일을 생성하기 위해 다음과 같이 설정을 입력한다.

rndc-confgen -b 512 -u named -k rndc-key -p 953 -s 127.0.0.1

rndc를 이용하여 서버를 관리하기 위해 named.conf 에서도 각 옵션을 설정해 주어야 하며 controls 에 의해 제어할 수 있다.

named.conf에 적용

"vi named.conf" 을 열고 "r rndc.conf" 을 이용하여 파일을 불러온 후 다음만 남겨두고 삭제한다. 위에서 주석이 해제된 부분은 BIND 서버에 rndc 명령어를 이용하여 접속하고자 할 때 사용할 수 있는 설정이며 하단에 주석으로 처리된 부분인named.conf에서 설정해야 하는 부분이다. 만약 rndc.conf 파일을 작성하지 않았다면 rndc 명령에서 제공하는 옵션을 이용하여 각각 접속을 해야 한다.

cat /etc/rndc.conf
$ cat /etc/rndc.conf
# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "cknwI3oQuW1hlVQQh1MSHRpLAIpb/VnZoN+31l7VVRLUqYsAyZWErimftx8kS1RZBH8QqvPrVvMwonvl65KF/Q==";
};
 
options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;
};
# End of rndc.conf
 
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
#       algorithm hmac-md5;
# secret
"cknwI3oQuW1hlVQQh1MSHRpLAIpb/VnZoN+31l7VVRLUqYsAyZWErimftx8kS1RZBH8QqvPrVvMwonvl65KF/Q==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf

rndc

위의 내용으로 원격지 및 로컬에서 "rndc" 명령어를 이용하여 네임서버를 제어할 수 있다. 다음은 rndc 명령에서 제공하는 명령어에 대한 설명이다.

rndc 명령어 설 명
ndc reload rnamed.conf 파일과 zone 파일를 다시 로드
rndc reload zone zone 파일을 다시 로드
rndc reconfig named.conf 와 새롭게 생성 된 zone 파일을 다시 로드
rndc stats 통계 파일 생성(쓰기) statistics-file "/var/named/data/named_stats.txt";
rndc querylog 질의에 관련된 로그를 설정 토글(toggle)
rndc dumpdb DB에 대한 덤프 설정(덤프 파일 생성) dump-file "/var/named/data/cache_dump.db";
rndc status BIND 서버에 대한 통계 출력
rndc recursing 현재 외부 질의하고 있는 쿼리를 수집 /var/named/named.recursing
rndc flush 캐시 삭제
rndc retransfer zone 단일 영역 동기화
rndc trace [level] 디버깅 정보를 named.run 이라는 파일로 붙여넣는다

 

참고URL

- BIND 관리를 위한 RNDC 설정 : https://scbyun.com/629

- BIND 관리를 위한 RNDC 설정 : https://scbyun.com/140

- BIND 관리를 위한 RNDC 설정 : https://scbyun.com/7

 

728x90