2013-08-14 7 views
2

DDNS의 많은 HOWTO 페이지를 통해이 문제를 해결해 보았습니다 ... 저는 분실했습니다.BIND9, nsupdate and damn DDNS

WorkstationX =에 CentOS 6.2 64 SERVERX = 우분투 12.04 LTS의 64가 작동하지 않는 이유는 이해가 안

... 난 아이디어에서 그대로입니다. 나는 여러 번 모든 것을 재생성하고 재구성했다.

확실했습니다 : 두 호스트에 NTPD를 실행

은 그들 중 일부는 키를 생성하는 다양한 방법이 있지만 나머지는 동일합니다 ... 그리고 - dnssec-keygen이 실행 된 서버 (그리고 bind가 어디에 있든)에서도 동일한 로그 항목을 얻습니다 :

Aug 14 11:20:38 vps named[31247]: 14-Aug-2013 11:20:38.032 security: error: client 127.0.0.1#29403: view public: request has invalid signature: TSIG domain2.com.au.: tsig verify failure (BADKEY) 
내가 수집하는 것은 올바른 생성 방법

nsupdate -k Kdomain2.com.au.+157+35454.key 
server localhost 
zone domain2.com.au. 
update add test.domain2.com.au. 86400 IN A 10.20.30.40 
show 
send 

:이은 nsupdate에서

dnssec-keygen -a HMAC-MD5 -b 512 -n HOST domain2.com.au. 

의 named.conf (IPS는 개인 정보 보호를 위해 변경되었습니다) :

acl ipv4    { 0.0.0.0/0; }; 
acl ipv6    { 2000::/3; ::1; fe80::/10; fec0::/10; }; 
acl safehosts   { 127.0.0.0/8; 3.2.2.40; 44.44.14.12; }; 

include "/etc/bind/rndc.key"; 

controls { 
     inet * port 953 
     allow { safehosts; } keys { "rndc-key"; }; 
}; 

options 
{ 
     auth-nxdomain   yes; 
     empty-zones-enable  no; 
     zone-statistics   yes; 
     dnssec-enable   yes; 
     listen-on    { any; }; 
     listen-on-v6   { any; }; 
     directory    "/etc/bind/db"; 
     managed-keys-directory "/etc/bind/keys"; 
     memstatistics-file  "/etc/bind/data/bind.memstats"; 
     statistics-file   "/etc/bind/data/bind.qstats"; 
}; 

logging 
{ 
## CUT ## 
}; 

view "public" 
{ 
    recursion   yes; 
    allow-query-cache { safehosts; }; 
    allow-recursion  { safehosts; }; 

zone "." IN { 
    type   hint; 
    file   "root.zone"; 
}; 

zone "0.0.127.in-addr.arpa" { 
    type   master; 
    allow-update { none; }; 
    allow-transfer { none; }; 
    file   "0.0.127.in-addr.arpa.zone"; 
}; 

zone "localhost" { 
    type   master; 
    allow-update { none; }; 
    allow-transfer { none; }; 
    file   "localhost.zone"; 
}; 

zone "3.2.2.in-addr.arpa" { 
    type   master; 
    allow-update { none; }; 
    allow-transfer { none; }; 
    file   "3.2.2.in-addr.arpa.zone"; 
}; 

zone "domain1.com.au" { 
    type   master; 
    notify   yes; 
    allow-update { key "rndc-key"; }; 
    allow-transfer { key "rndc-key"; }; 
    file   "domain1.com.au.zone"; 
}; 

zone "domain2.com.au" { 
    type   master; 
    notify   yes; 
    allow-update { key "rndc-key"; }; 
    allow-transfer { key "rndc-key"; }; 
    file   "doomain2.com.au.zone"; 
}; 
}; 

/등 /bind/rndc.key :

key "rndc-key" { 
    algorithm hmac-md5; 
    secret "vZwCYBx4OAOsBrbdlooUfBaQx+kwEi2eLDXdr+JMs4ykrwXKQTtDSg/jp7eHnw39IehVLMtuVECTqfOwhXBm0A=="; 
}; 
. 10

Kdomain1.com.au + 157 + 35454.private

Private-key-format: v1.3 
Algorithm: 157 (HMAC_MD5) 
Key: vZwCYBx4OAOsBrbdlooUfBaQx+kwEi2eLDXdr+JMs4ykrwXKQTtDSg/jp7eHnw39IehVLMtuVECTqfOwhXBm0A== 
Bits: AAA= 
Created: 20130814144733 
Publish: 20130814144733 
Activate: 20130814144733 
+1

이것은 프로그래밍 관련 질문이 아닙니다. [Server Fault] (http://serverfault.com)에서 더 잘 질문해야합니다. – jgb

+0

은 대개 128 비트의 md5가 아니십니까? 당신이 어떻게 든 512 비트 비밀을 만든 것처럼 보입니다. 코드가 그 문제에 대처할 수 있는지 확실하지 않습니다. 또한 hmac_sha512와 같이 더 강력한 암호를 사용하면 비트가 맞을 것입니다 (bind9에서도 작동합니다). btw, 아마 https://nsupdate.info/ 당신을 위해 흥미 롭습니다. –

답변

2

해결책 :

나는 아무 생각하는 이유가 없지만, 지금 노력하고 있습니다. 내가 한 유일한 일은 다음과 같습니다 :

# chown -R named:named /var/named 

# find . -type d -exec chmod 770 {} \; 

# find . -type f -exec chmod 660 {} \;