**** rndc ****
--rndc 개요--
rndc(Remote Name Daemon Control)는 BIND9에서 제공하는
NameServer control utility로 TCP/953 포트 Socket 통신을 이용한다.
예전에는 서버 내부에서만 명령어를 사용할 수 있었지만,
rndc는 외부 서버에서도 socket통신이 가능 하도록 설정 할 수 있어 외부에서도 데몬을 제어할 수 있다.
즉 원격(localhost포함)의 네임서버를 reload 하거나 refresh, stop, flush, status 등등의 명령어 메시지를 보내 제어하는 툴이다.
rndc 설정을 돕기 위해서 rndc-confgen 이라는 유틸리티가 제공이 된다.
--rndc-confgen 파일 위치 확인--
which rndc-confgen
(결과 값 : /usr/sbin/rndc-confgen)
--rndc.conf 구성 파일 및 키 생성--
rndc-confgen > /etc/rndc.conf
(Redirection : 방향 재지정)
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "cTYBAm9CRKOUnLcIXVqQ3w==";
};
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 "cTYBAm9CRKOUnLcIXVqQ3w==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
--/etc/named.conf에 rndc.key 참조 하기--
vi /etc/named.conf
// 추가할 내용(/etc/rndc.conf파일에 내용을 복사하여 사용할 것)
key "rndc-key" {
algorithm hmac-md5;
secret "cTYBAm9CRKOUnLcIXVqQ3w==";
};
controls {
inet 192.168.111.135 port 953 //192.168.111.135는 BIND서버
allow { 192.168.111.136; } keys { "rndc-key"; };
//192.168.111.136는 원격접속 허용할 주소
};
//추가할 내용 끝
--named.conf 및 zone 파일 문법 검사--
# named-checkconf -z
--방화벽 열기
firewall-cmd --permanent --add-port=953/tcp
firewall-cmd --reload
--BIND 서버 재기동
systemctl restart named
****원격 시스템(192.168.111.136)에서 BIND 서버 관리하기****
--rndc.conf와 Key 생성
rndc-confgen > /etc/rndc.conf
--원격서버 IP 및 Key 설정--
vi /etc/rndc.conf
//etc/rndc.conf 내용임
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "cTYBAm9CRKOUnLcIXVqQ3w==";
#이 키 값(cTYBAm9CRKOUnLcIXVqQ3w==)은 192.168.111.135에서 복사
};
options {
default-key "rndc-key";
default-server 192.168.111.135; #원격관리 서버 주소
default-port 953;
};
# End of rndc.conf
--rndc 상태 질의하기
rndc status
또는
rndc -s 192.168.111.135 status
--zone 리로드하기
rndc -s 192.168.111.135 reload
rndc -s 192.168.111.135 reload infosec.local
rndc notify infosec.local
Linux/CentOS7