BIND9 源碼編譯安裝

一、編譯前環境準備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端口已經處於監聽狀態了
相關文章
相關標籤/搜索