配置一個安全的chroot DNS(4)_Windows教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
      5、啟動并運行bind 9

        激動人心的時候到了,即將開始我們的處女bind 9運行了。

        運行以下命令

      /usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf
      然后再ps –fCnamed 看看??如果出來類似
      UID    PID PPID C STIME TTY     TIME CMD
      named  14023   1 0 May27 ?    00:00:00 /usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf

        這樣的結(jié)果,說明成功了,恭喜你。。

        每次都這樣輸入累不累??所以還是一起來寫個shell吧(其實shell真的粉好用,但是一般真要系統(tǒng)地講解起來又沒有意思,所以我盡量在每篇文章中都把shell用上,慢慢就領(lǐng)會到它的好處咯)

      vi /chroot/named.start

      #多cpu的記得加個 "-n " 參數(shù),才能啟用多CPU哦,我也是在別的地方看到的
      #
      # named命令格式: named [-c 配置文件] [-d 除錯級別] [-f|-g] [-n CPU個數(shù)]
      #       [-p 端口-默認是53] [-s] [-t chroot目錄] [-u 執(zhí)行該命令的用戶身份]

      cd /chroot/named
      #確保除錯的debug文件能夠以named身份寫入
      touch named.run #建立該文件
      chown named.named named.run #設(shè)置文件擁有者為named.named
      chmod ug=rw,o=r  named.run #權(quán)限為664
      #以named身份,在chroot/named目錄中以/etc/named.conf為配置文件執(zhí)行named程序
      #這里的/etc/named.conf是我們用ln –s連過去的,參看前文
      /usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf

        然后以sh /chroot/named.start 執(zhí)行此命令就行了,之后在/etc/resolv.conf為自己的DNS地址就可以測試了,當然,也可以用dig命令來查(個人覺得dig命令比nslookup好用,但是Solaris 2.6上默認沒有)。

        6. 控制工具rndc的安裝和使用

        rndc=remote dnc,以前裝過bind 8的朋友都知道有個ndc工具,而在bind 9中,更是連遠程控制的功能都加上了。說“加上”其實不夠恰當,因為rdnc并不是用ndc改的,而是重新寫的一個通過tcp協(xié)議進行DNS控制的軟件。(有什么用?問問做虛擬主機/系統(tǒng)管理的朋友就知道,DNS一般都是用獨立主機,如果可以遠程reload配置文件,可以方便很多的)。 

        rndc 原本是應(yīng)該讀取/usr/local/etc/rndc.conf 作為配置文件的,但我們既然是安裝chroot的DNS,所以有必要把rndc.conf轉(zhuǎn)到/chroot/named/etc/rndc.conf。好,下面來看看我們的rndc.conf的寫法。

      options {
          default-server localhost; //先配置本地的
          default-key   "rndckey"; //key的名字
      };

      server localhost {
          key   "rndckey"; //key的名字
      };
      include "/chroot/named/etc/rndc.key"; //在這個文件中包含了rndckey的值,之所以這樣,是因為在rndc.conf和named.conf中都用到這個值,用include方便寫自動的shell一些

      同樣的道理,在/chroot/named/etc/named.conf的也加上需要的語句

      controls {
          inet 127.0.0.1 allow { localhost; } keys { rndckey; }; //允許localhost連接
      };
      include "/etc/rndc.key";

        接下來,就是要生成/chroot/named/etc/rndc.key 文件了,它是一個采用bASe-64編碼加密的長字符串key,我們用DNSsec-keygen命令來生成它:

        cd /chroot/named/etc
        /usr/local/sbin/DNSsec-keygen -a HMAC-MD5 -b 256 -n HOST rndc

        得到一個類似Krndc.+157+30481這樣的返回值,這說明已經(jīng)在當前目錄下成功建立了Krndc.+157+30481.key和Krndc.+157+30481.private兩個文件。

      cat Krndc.+157+30481.private 顯示
      Private-key-format: v1.2
      Algorithm: 157 (HMAC_MD5)
      Key: aoqaT1r9Oz29DIj3VPn6+teHcvBudGAc17qLM4nPOqA=

       在這里,Key后面的那串字符就是我們想要的key了,把它復制下來,然后刪除臨時文件

      rm Krndc.+157+30481.*
      vi /chroot/named/etc/rndc.key

      key "rndckey" {
          algorithm    "hmac-md5";
          secret     " aoqaT1r9Oz29DIj3VPn6+teHcvBudGAc17qLM4nPOqA=";
      };

        現(xiàn)在已經(jīng)配置完成了,建立2個軟連接

      ln -s /chroot/named/etc/rndc.conf /usr/local/etc/rndc.conf
      ln -s /chroot/named/etc/rndc.conf /etc/rndc.conf
      Ok,接下來對目前運行的named飛起一腿,強迫讓它重新讀配置文件
       ps –fCnamed
       UID    PID PPID C STIME TTY     TIME CMD
       named  14023   1 0 May27 ?    00:00:00 /usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf

      kill -1 14023    #14023 是named的進程號,至于-1的作用,自己man kill吧
      現(xiàn)在來看看我們的rndc是否工作正常
      /usr/local/sbin/rndc status 如果現(xiàn)實類似下面的情形就恭喜你咯
      number of zones: 2
      debug level: 0
      xfers running: 0
      xfers deferred: 0
      soa queries in progress: 0
      query logging is OFF
      server is up and running

        如果出現(xiàn)的是rndc: send remote authenticator: permission denied 則肯定上面的步驟中存在問題,請一步步檢查吧。

      來源:網(wǎng)絡(luò)搜集//所屬分類:Windows教程/更新時間:2013-04-15
      相關(guān)Windows教程