歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

請教dns!有關於密碼的問題!

小弟一直以來都在尋找關於DNS配置,無奈很多資料都是過時的,特別關於KEY和RNDC的部分。這次用的文檔是本站一篇:“BIND9的配置”。只做到這一部分就出錯了:
在bind9.1.1中,碰到的主要問題就是ndc不能使用.ndc可以在本地控制bind的stop,start,reload等.
在9.1.0以上中,取消了ndc,代之以rndc,顧名思義,rndc是支持遠程控制的ndc,這必須使用密碼跟bind通訊.
rndc一直不能工作,調了1天多,終於搞定,英文不好害死人呀.下面以紅帽子7.0為例介紹一下過程.
具體的編譯以及安裝過程這裡就不寫了,請參考bind8的文檔.
密碼放在/etc/rndc.conf裡面.方法如下:
用dnssec-keygen 產生一段密碼.使用如下命令:
dns-keygen -a hmac-md5 -b 192 -n HOST rndc
生成2個文件 Krndc.xxxx.key 和Krndc.xxxx.private
將Kmykey.xxxx.private裡面的1個key串復制下來.做成如下1個小節
key “mykey”{
algorithm "hmac-md5";
secret "I+JTxIv4gmczZmTIrQCjOAqkIK1SeWHY";
};
分別放進etc/rndc.conf和/etc/named.conf文件的最後.
在rndc.conf中如此調用:
server localhost{
key “mykey”;
};
在named.conf中如此調用:
controls {
inet 127.0.0.1 allow {localhost;} keys {“mykey”;};
};
然後重啟 named進程,
執行rndc reload 試驗.
rndc: reload command successful!
named.conf和rndc.conf在下帖帖出!
  named.conf和rndc.conf 
rndc.conf的內容如下:
/*
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
* DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
* INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc.conf,v 1.6.4.1 2001/01/09 22:32:57 bwelling Exp $ */
/*
* Sample rndc configuration file.
*/
options {
default-server localhost;
default-key "key";
};
server localhost {
key "mykey";
};
key "mykey" {
algorithm "hmac-md5";
secret "I+JTxIv4gmczZmTIrQCjOAqkIK1SeWHY";
};
named.conf的內容如下:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { "mykey"; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
include "/etc/rndc.key";
key "mykey" {
algorithm "hmac-md5";
secret "I+JTxIv4gmczZmTIrQCjOAqkIK1SeWHY";
};
  問題! 
在生成KEY的過程中,我發現本機上生成的KEY與文中不同(在用命令時看到),但找不到這生成的兩個文件在哪裡,搜也搜得死機,還請告訴我:是用本機生成的,還是用文中的就行了呢?要是用本機生成的,應在哪裡找到?
  我的目的是僅僅是能正常使用rndc! 
如題
  Re: 沒有高手來說說?「空」 
  Re: 請教dns!有關於密碼的問題! 
BIND 9的配置一文所使用的方法應該是沒錯的,問題可能出在你的應用環境和文中環境不一致,所以建議你最好能夠描述一下你做配置的具體環境。
  riser 兄你好! 
riser 兄你好!我是在RH7.2上做DNS的,其他的就沒什麼不同了,如果說其他的,我還真說不上來,不過那個問題:
在生成KEY的過程中,我發現本機上生成的KEY與文中不同(在用命令時看到),但找不到這生成的兩個文件在哪裡,搜也搜得死機,還請告訴我:是用本機生成的,還是用文中的就行了呢?要是用本機生成的,應在哪裡找到?
請順道回答一個好嗎?謝謝!
  riser老兄請看! 
應該在當前目錄,例如/root
雖然我找到此文件,但是我已經按照論壇上的方法以及redhat的doc的方法實驗了n+10之巨。去沒有一次成功,前一段時間是出現認證錯誤,現在我用RH7.3,卻是connect refused.於是我便自己下載了BIND9.2.1,自己編譯安裝,再試,仍舊不行,為什麼,為什麼?
但是我發現了一個奇怪的現象,我用
#named -u named 啟動named,域名服務開始,然後再用rndc reload,沒有任何提示便過去了,當我kill掉named,再用rndc reload,再次出現connect refuse.
既然能夠用named -u named啟動域名服務,那rndc有何用,如何保證其安全。我感覺好像我用rndc reload是沒有使用配置文件的權限,但是我是root。
why?請riser老兄和其他各位高手賜教。
  Re: riser老兄請看! 
回應:
--------------------------------------------------------------------------------
但是我發現了一個奇怪的現象,我用
#named -u named 啟動named,域名服務開始,然後再用rndc reload,沒有任何提示便過去了,當我kill掉named,再用rndc reload,再次出現connect refuse.
既然能夠用named -u named啟動域名服務,那rndc有何用,如何保證其安全。我感覺好像我用rndc reload是沒有使用配置文件的權限,但是我是root。
--------------------------------------------------------------------------------
1、rndc只能實現reload、stop、dumpdb、status等功能。這一點你簡單地輸入rndc命令就會得到提示。
2、既然你已經把named給kill了,還談什麼rndc reload?當然是connection refused。rndc只是個方便對named進行操作的工具,就像ndc一樣,只不過加了個安全性認證,並能實現遠程操作。
我按照前面的帖子中的方法一次就成功了,勸你還是再認真檢查一下。
順道回復燕十三兄,注意紅色部分:
*/
options {
default-server localhost;
default-key "key";
};
server localhost {
key "mykey";
};
key "mykey" {
algorithm "hmac-md5";
secret "I+JTxIv4gmczZmTIrQCjOAqkIK1SeWHY";
};
既然下面定義了mykey,上面為什麼還是key?
  Re: riser 兄你好! 
如果你用的是RH 7.2,那它的默認配置的確有些問題,主要是其默認安裝的配置文件對key的定義前後不一致,這一點你仔細檢查一下配置文件就知道了。所以,一般只要修改使之一致,就可以正常地使用rndc。
  可是我已經修改到一致了,只是好像看到一個rndc.key的文件,其中有些東西,是否該用它? 
可是我已經修改到一致了,只是好像看到一個rndc.key的文件,其中有些東西,是否該用它?
  對於兄弟的細心,小弟實在是佩服,不過這一點文中沒有提到,所以····· 
小弟實在漢顏,因為在WIN下,馬上下線去試,謝謝!
  問題已經解決,是小弟不細心,麻煩各位了! 
問題已經解決,是小弟不細心,麻煩各位了!
  可是,可是可是! 
可是各位絕對想不到,本來已經可以用了,但關機再開機,又出現了連接被拒絕的情況,像上次一樣,我可是什麼也沒做啊,只是重啟了一下機器 ,怎麼辦?
  Re: 可是,可是可是! 
ps -A | grep named
看一看named起來了沒有,如果沒有,用
/etc/rc.d/init.d/named start
啟動它再試,
如果起來以後還是這樣,那就再仔細仔細地檢查配置文件,包括/etc/named.conf、/etc/rndc.conf。
另,其實如果是僅僅讓rndc能使用的話,你只要把你的原先默認的/etc/named.conf、/etc/rndc.conf中使用的key的名字全部改為rndckey,再檢查一下/etc/目錄下是否有/etc/rndckey文件就可以工作了,很簡單,安全不需要你自己生成key。
Copyright © Linux教程網 All Rights Reserved