小弟一直以來都在尋找關于DNS配置,無奈很多資料都是過時的,特別關于KEY和RNDC的部分。這次用的文檔是本站一篇:“BIND9的配置”。只做到這一部分就出錯了: 在bind9.1.1中,碰到的主要問題就是ndc不能使用.ndc可以在本地控制bind的stop,start,reload等. 在9.1.0以上中,取消了ndc,代之以rndc,顧名思義,rndc是支持遠程控制的ndc,這必須使用密碼跟bind通訊. rndc一直不能工作,調(diào)了1天多,終于搞定,英文不好害死人呀.下面以紅帽子7.0為例介紹一下過程. 具體的編譯以及安裝過程這里就不寫了,請參考bind8的文檔. 密碼放在/etc/rndc.conf里面.方法如下: 用dnssec-keygen 產(chǎn)生一段密碼.使用如下命令: dns-keygen -a hmac-md5 -b 192 -n HOST rndc 生成2個文件 Krndc.xxxx.key 和Krndc.xxxx.private 將Kmykey.xxxx.private里面的1個key串復制下來.做成如下1個小節(jié) key “mykey”{ algorithm "hmac-md5"; secret "I+JTxIv4gmczZmTIrQCjOAqkIK1SeWHY"; }; 分別放進etc/rndc.conf和/etc/named.conf文件的最后. 在rndc.conf中如此調(diào)用: server localhost{ key “mykey”; }; 在named.conf中如此調(diào)用: controls { inet 127.0.0.1 allow {localhost;} keys {“mykey”;}; }; 然后重啟 named進程, 執(zhí)行rndc reload 試驗. rndc: reload command successful! named.conf和rndc.conf在下帖帖出! named.conf和rndc.conf rndc.conf的內(nèi)容如下: /* * 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的內(nèi)容如下: // 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的過程中,我發(fā)現(xiàn)本機上生成的KEY與文中不同(在用命令時看到),但找不到這生成的兩個文件在哪里,搜也搜得死機,還請告訴我:是用本機生成的,還是用文中的就行了呢?要是用本機生成的,應在哪里找到? 我的目的是僅僅是能正常使用rndc! 如題 Re: 沒有高手來說說?「空」 Re: 請教dns!有關于密碼的問題! BIND 9的配置一文所使用的方法應該是沒錯的,問題可能出在你的應用環(huán)境和文中環(huán)境不一致,所以建議你最好能夠描述一下你做配置的具體環(huán)境。 riser 兄你好! riser 兄你好!我是在RH7.2上做DNS的,其他的就沒什么不同了,如果說其他的,我還真說不上來,不過那個問題: 在生成KEY的過程中,我發(fā)現(xiàn)本機上生成的KEY與文中不同(在用命令時看到),但找不到這生成的兩個文件在哪里,搜也搜得死機,還請告訴我:是用本機生成的,還是用文中的就行了呢?要是用本機生成的,應在哪里找到? 請順道回答一個好嗎?謝謝! riser老兄請看! 應該在當前目錄,例如/root 雖然我找到此文件,但是我已經(jīng)按照論壇上的方法以及redhat的doc的方法實驗了n+10之巨。去沒有一次成功,前一段時間是出現(xiàn)認證錯誤,現(xiàn)在我用RH7.3,卻是connect refused.于是我便自己下載了BIND9.2.1,自己編譯安裝,再試,仍舊不行,為什么,為什么? 但是我發(fā)現(xiàn)了一個奇怪的現(xiàn)象,我用 #named -u named 啟動named,域名服務開始,然后再用rndc reload,沒有任何提示便過去了,當我kill掉named,再用rndc reload,再次出現(xiàn)connect refuse. 既然能夠用named -u named啟動域名服務,那rndc有何用,如何保證其安全。我感覺好像我用rndc reload是沒有使用配置文件的權限,但是我是root。 why?請riser老兄和其他各位高手賜教。 Re: riser老兄請看! 回應: -------------------------------------------------------------------------------- 但是我發(fā)現(xiàn)了一個奇怪的現(xiàn)象,我用 #named -u named 啟動named,域名服務開始,然后再用rndc reload,沒有任何提示便過去了,當我kill掉named,再用rndc reload,再次出現(xiàn)connect refuse. 既然能夠用named -u named啟動域名服務,那rndc有何用,如何保證其安全。我感覺好像我用rndc reload是沒有使用配置文件的權限,但是我是root。 -------------------------------------------------------------------------------- 1、rndc只能實現(xiàn)reload、stop、dumpdb、status等功能。這一點你簡單地輸入rndc命令就會得到提示。 2、既然你已經(jīng)把named給kill了,還談什么rndc reload?當然是connection refused。rndc只是個方便對named進行操作的工具,就像ndc一樣,只不過加了個安全性認證,并能實現(xiàn)遠程操作。 我按照前面的帖子中的方法一次就成功了,勸你還是再認真檢查一下。 順道回復燕十三兄,注意紅色部分: */ 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。 可是我已經(jīng)修改到一致了,只是好像看到一個rndc.key的文件,其中有些東西,是否該用它? 可是我已經(jīng)修改到一致了,只是好像看到一個rndc.key的文件,其中有些東西,是否該用它? 對于兄弟的細心,小弟實在是佩服,不過這一點文中沒有提到,所以····· 小弟實在漢顏,因為在WIN下,馬上下線去試,謝謝! 問題已經(jīng)解決,是小弟不細心,麻煩各位了! 問題已經(jīng)解決,是小弟不細心,麻煩各位了! 可是,可是可是! 可是各位絕對想不到,本來已經(jīng)可以用了,但關機再開機,又出現(xiàn)了連接被拒絕的情況,像上次一樣,我可是什么也沒做啊,只是重啟了一下機器 ,怎么辦? 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。