一、編譯前環境準備vim
[root@centfils ~]# yum groupinstall "Development Tools" "Server Platform Development"
二、至isc.org bind官網下載bind源碼,並展開bash
[root@centfils ~]# tar xf bind-9.9.9-P2.tar.gz [root@centfils ~]# cd bind-9.9.9-P2
三、建立named用戶
服務器
[root@centfils bind-9.9.9-P2]# group -r -g 53 named [root@centfils bind-9.9.9-P2]# useradd -u 53 -g named named -r #使用53端口做爲named組和named用戶的ID號
四、編譯安裝dom
[root@centfils bind-9.9.9-P2]# ./configure --prefix=/usr/local/bind9.9 --sysconfdir=/etc/named/ --disable-chroot --enable-threads #指明安裝位置,配置文件位置,關閉chroot,開啓線程 [root@centfils bind-9.9.9-P2]# make [root@centfils bind-9.9.9-P2]# make install
至此,安裝完成,但自行編譯bind源碼包會產生以下問題tcp
(1)沒有配置文件ide
(2)沒有區域解析文件(包括13個根服務器的解析文件)線程
(3)沒有rndc的相關配置文件調試
解決上述問題
orm
#一、將bind下配置文件加入PATH中 [root@centfils bind9.9]# vim /etc/profile.d/named.sh export PATH=/usr/local/bind9.9/bin:/usr/local/bind9.9/sbin:$PATH [root@centfils bind9.9]# . /etc/profile.d/named.sh #二、導出庫文件搜索路徑 [root@centfils bind9.9]# vim /etc/ld.so.conf.d/named.conf /usr/local/bind9.9/lib [root@centfils bind9.9]# ldconfig -v #三、導出頭文件搜索路徑 [root@centfils bind9.9]# ln -sv /usr/local/bind9.9/include /usr/include/named "/usr/include/named" -> "/usr/local/bind9.9/include" #四、導出幫助文檔搜索路徑 [root@centfils bind9.9]# vim /etc/man.config MANPATH /usr/local/bind9.9/share/man
而後編輯配置文件server
[root@centfils bind9.9]# cd /etc/named [root@centfils named]# vim named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "locaihost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; [root@centfils named]# mkdir /var/named [root@centfils named]# named-checkconf #而後建立各區域的配置文件 [root@centfils named]# cd /var/named #在聯網的狀況下直接將查詢根的結果導入根區域配置文件 [root@centfils named]# dig -t NS . > /var/named/named.ca #配置正向解析區域 [root@centfils named]# vim localhost.zone $TTL 86400 @ IN SOA localhost. admin.localhost. ( 2016091301 1H 5M 7D 1D ) IN NS localhost. localhost. IN A 127.0.0.1 #配置反向解析區域 [root@centfils named]# vim named.local $TTL 86400 @ IN SOA localhost. admin.localhost. ( 2016091301 1H 5M 7D 1D ) IN NS localhost. 1 IN PTR localhost.
接下來,更改配置文件的屬組和權限
[root@centfils named]# chown :named localhost.zone named.local named.ca [root@centfils named]# chmod 640 localhost.zone named.local named.ca [root@centfils named]# chmod 640 /etc/named/named.conf [root@centfils named]# chown :named /etc/named/named.conf
以後,生成rndc配置文件
[root@centfils ~]# rndc-confgen -r /dev/urandom > /etc/named/rndc.conf #使用隨機數生成rndc.conf文件 [root@centfils ~]# rndc-confgen -r /dev/urandom # Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "3FMQn6XQIuzAXNhl+19EvA=="; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf #----------------將本段內容複製到named.conf文件中-------------------------------------- # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "3FMQn6XQIuzAXNhl+19EvA=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf #----------------------------------結束------------------------------------------------
將文中標識的內容複製到named.conf中,並取消註釋
到此,準備工做結束,
[root@centfils named]# named -u named -f -g -d 3 #-u 爲指定named用戶執行 #-f 爲運行在前臺 #-g 把標準錯誤顯示出來 #-d 指明調試等級 [root@centfils ~]# ss -tunl | grep 53 udp UNCONN 0 0 192.168.0.196:53 *:* udp UNCONN 0 0 127.0.0.1:53 *:* tcp LISTEN 0 10 192.168.0.196:53 *:* tcp LISTEN 0 10 127.0.0.1:53 *:* #如今53端口已經處於監聽狀態了