|
|
rndc: connection to remote host closed
This may indicate that the remote server is using an older version of
the command protocol, this host is not authorized to connect,
or the key is invalid.
++++++++++++++++++++++++++++++++++++
리누킹은 어떻게 오류를 해결하였나..
1. ./dnssec-keygen -a hmac-md5 -b 512 -n HOST ns_rndckey ---> 암호키가 길게 나옴.
2. dnssec-keygen -a hmac-md5 -b 128 -n HOST 파일명 --> 암호키가 짧게 나옴.
3. 본인은 1번 명령으로 암호키를 생성함.
aaa# ls K*
Kns_rndckey.+157+07177.key Kns_rndckey.+157+07177.private
두개의 파일 생성됨. /etc/
다음으로 rndc.conf 파일 생성하기
1. rndc-confgen > /etc/rndc.conf
다음으로 생성한 암호키 파일 중에서
Kns_rndckey.+157+07177.private
에 있는 키를 복사하여
named.conf 는 /var/named/chroot/etc/named.conf
rndc.conf 는 /etc/rndc.cof
rndc.key 는 /var/named/chroot/etc/rndc.key
위의 파일들을 열고 rndc-key에 전부 똑같이 복사하여 줍니다.
위 작업 하신 후
#rndc reload
#named restart
#rndc reload
위의 명령을 내린 후 또 에러 메세지가 나옵니다.
그 원인은
/etc/rndc.cof 파일 중에
rndckey 라고 되어 있는 부분이 2군데 있는데 이 두곳을
rndv-key로 바꾸어 주면 깨끗이 해결 됩니다.
++++++++++++++++++++++++++++++++++++
### 외국문서에서 카피한 rndc 암호키 생성 예시
rndc-confgen -b 512 | grep -m 1 "secret" | cut -d '"' -f 2
### 국내 문서중에서 카피한 예시 1 >>>
1. r n d c 설정에 대해 ..
rndc.key 는 remote 에서 네임서버를 reload, start, stop,... 할 수 있는 설정으로..
rndc.conf 내용 중 rncd 키를 include 하신da면
options {
default-server localhost;
default-key "rndc-key";
};
server localhost {
key "rndc-key";
};
key "rndc-key" {
algorithm hmac-md5;
secret "38AsKJLoi9jcJW74SRJ2lNIMkaWiBKSq6UI33Gxc0eFjMyaqmcdEKtlj7PkQ";
};
include "/etc/rndc.key";
녹색 암호키와
rncd.key 의 내용
key "rndckey" {
algorithm hmac-md5;
secret "38AsKJLoi9jcJW74SRJ2lNIMkaWiBKSq6UI33Gxc0eFjMyaqmcdEKtlj7PkQ";
};
의 녹색 글자 부분을 같게 하시고yo
named.conf 내용중
key "rndc-key" {
algorithm hmac-md5;
secret "38AsKJLoi9jcJW74SRJ2lNIMkaWiBKSq6UI33Gxc0eFjMyaqmcdEKtlj7PkQ";
};
e렇게 3부분을 같게 하십시yo. 주의 하실점은 rndc.conf 의 키내용을 그대로 같daga 사용 하시면 됩니da. rndc.conf ga 없을 경우
RNDC.CONF 생성
#rndc-confgen > /etc/rndc.conf 으로 만드며...
위 작업 하신 후
#rndc reload
#named restart
물론 키는 새로 생성 하실수 있습니da.
# dnssec-keygen -a hmac-md5 -b 128 -n HOST 파일명
으로 키 생성후 복사 하여 3곳을 동일하게 마추어 쓰시면 됩니da.
Bind-chroot ga 설치 되어 있da면
named.conf 는 /var/named/chroot/etc/named.conf e며
rndc.conf 는 /etc/rndc.cof
rndc.key 는 /var/named/chroot/etc/rndc.key 에 위치 합니da.
### 국내 문서중에서 카피한 예시 2 >>>
hmac-md5 알고리즘 암호키를 만들어 보자.
암호키를 생성할 명령어는 dnssec-keygen 유틸리티를 이용한다.
aaa# ls -l dnssec-keygen
-rwxr-xr-x 1 root other 424724 6월 10일 09:58 dnssec-keygen
aaa# ./dnssec-keygen
Usage:
dnssec-keygen -a alg -b bits -n type [options] name
Required options:
-a algorithm: RSA | RSAMD5 | DH | DSA | HMAC-MD5
-b key size, in bits:
RSA: [512..4096]
DH: [128..4096]
DSA: [512..1024] and divisible by 64
HMAC-MD5: [1..512]
-n nametype: ZONE | HOST | ENTITY | USER
name: owner of the key
Other options:
-c class (default: IN)
-e use large exponent (RSA only)
-g use specified generator (DH only)
-t type: AUTHCONF | NOAUTHCONF | NOAUTH | NOCONF (default: AUTHCONF)
-p protocol value (default: 2 [email] for USER, 3 [dnssec] otherwise)
-s strength value this key signs DNS records with (default: 0)
-r randomdev (a file containing random data)
-v verbose level
Output:
K
aaa# ./dnssec-keygen -a hmac-md5 -b 512 -n HOST ns_rndckey
Kns_rndckey.+157+07177
aaa# ls K*
Kns_rndckey.+157+07177.key Kns_rndckey.+157+07177.private
aaa# cat Kns_rndckey.+157+07177.key
ns_rndckey. IN KEY 512 3 157 91QsIokS9pBy0n56ZbkkOa1vxmuT1IcMbaUksnG0HN+OIfdKBHCj3RUk gVs6xx+eOANbqz/0wdtrjivs2WsjZg==
aaa# cat Kns_rndckey.+157+07177.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: 91QsIokS9pBy0n56ZbkkOa1vxmuT1IcMbaUksnG0HN+OIfdKBHCj3RUkgVs6xx+eOANbqz/0wdtrjivs2WsjZg==
aaa#
여기서 157은 DNSSEC 알고리즘 번호로 HMAC-MD5를 의미함
07111은 암호키의 해시값임
생성된 두개의 파일 중 ***.private의 key: 부분이 있으므로 이 키를 복사하여 key 구문의 secret 구문에 위치시키면 된다.
/etc/rndc.key 파일을 다음과 같이 할 수 있다.
key "rndckey" {
algorithm hmac-md5;
secret "91QsIokS9pBy0n56ZbkkOa1vxmuT1IcMbaUksnG0HN+OIfdKBHCj3RUkgVs6xx+eOANbqz/0wdtrjivs2WsjZg=="
};
이 암호키는 rndc나 nsupdate와 같은 관리자 유틸리티를 이용해 원격의 네임서버를 컨트롤할 때 사용된다.
예를 들어, 원격의 네임서버(192.168.10.4)에서 로컬의 네임서버(192.168.10.3)를
이 암호키를 이용해 제어하려면 둘 다 똑같이 이 암호키를 설정해 주어야 한다.
【예제】로컬 네임 서버(192.168.10.3)의 /etc/named.conf
....
controls {
inet 127.0.0.1 allow { localhost; 192.168.10.4; } keys { ns_rndckey; }
};
.....
key "ns_rndckey" {
algorithm hmac-md5;
secret "91QsIokS9pBy0n56ZbkkOa1vxmuT1IcMbaUksnG0HN+OIfdKBHCj3RUkgVs6xx+eOANbqz/0wdtrjivs2WsjZg=="
};
【예제】원격 네임 서버(192.168.10.4)의 /etc/rndc.conf
....
server 192.168.10.3 {
key "ns_rndckey";
};
.....
key "ns_rndckey" {
algorithm hmac-md5;
secret "91QsIokS9pBy0n56ZbkkOa1vxmuT1IcMbaUksnG0HN+OIfdKBHCj3RUkgVs6xx+eOANbqz/0wdtrjivs2WsjZg=="
};