bind-9.9.5編譯安裝
§·bind-9.9.5編譯安裝大概步驟
步驟一 :下載源碼包bind-9.9.5 ;
步驟二 :按需求選擇模塊或功能 ./configure ;
# ./configure –prefix=/usr/local/bind9 –sysconfdir=/etc/named/ –disable-ipv6
–disable-chroot –enable-threads
步驟三 :make & make install ;
步驟四 :配置PATH的環境變量,使得bind9的命令可以生效 ;
環境變量: ?vim /etc/profile.d/named.sh export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin/:$PATH
步驟五 :配置頭文件路徑,設置庫文件路徑,設置man幫助文件路徑;
庫文件設置 ?vim /etc/ld.so.conf.d/named.conf /usr/local/bind9/lib ?ldconfig -v 頭文件設置 ?ln -sv /usr/local/bind9/include /usr/include/named
步驟六 :添加系統組和系統賬戶;
# groupadd -r -g 53 named # useradd -r -u 53 -g 53 named
步驟七 :創建系統文件 named.conf ; mkdir /var/named/ ;/var/named/named.ca ;
步驟八 :創建boss區域,創建區域文件 //var/named/boss.com.zone ;
步驟九 :啟動服務和測試
?named -u named -f -g -d 3 前端級別3方式運行 #前臺方式運行 ?named -u named #后臺方式運行 ?killall named #關閉named服務 ?ss -uln #查看端口號 ?tail /var/log/message #查看消息
步驟十 :配置rndc管理dns服務器
?rndc reload 看報錯提示
?rndc -confgen -r /dev/urandom > /etc/named/rndc.conf 生成key #生成對稱密鑰文件
?tail /etc/named/rndc.conf >> /etc/named/named.conf #查看說明的文件,把相應的數據拷貝到對應的文件
?killall -SIGHUP named #重啟named服務
?rndc status #測試named的狀態
小結: 以上的編譯完成后,許多的DNS服務器上的文件不會自動生成,都需要自己手動的創建: 比如:主配置文件 named.conf ,named.ca等等文件; 手動的修改配置文件或新建配置文件一定要記得文件權限問題,named用戶需要有讀權限的。
§·bind-9.9.5編譯詳細安裝步驟
※·步驟一 :下載源碼包bind-9.9.5
下載源碼包到 /usr/src/bind/目錄中,并解壓
[root@root-server bind]# pwd /usr/src/bind [root@root-server bind]# ll total 7556 drwxr-xr-x. 12 10292 9901 4096 Sep 27 08:55 bind-9.9.5 -rw-r--r--. 1 root root 7729695 Mar 11 2014 bind-9.9.5.tar.gz [root@root-server bind]#
※·步驟二 :按需求選擇模塊或功能 ./configure
進入bind-9.9.5目錄,查看下 ./configure的主要選項參數
[root@root-server bind-9.9.5]# ./configure --help ................................................................... Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX #工作目錄的指定參數 [/usr/local] Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] #配置文件主目錄 Optional Features: #配置工作特性 --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-shared[=PKGS] build shared libraries [default=yes] [default=no] --enable-ipv6 use IPv6 default=autodetect #啟用ipv6的支持 --enable-getifaddrs Enable the use of getifaddrs() [yes|no]. --disable-isc-spnego use SPNEGO from GSSAPI library --disable-chroot disable chroot #禁用切根的功能 --with-python=PATH Specify path to python interpreter #python 應用程序工作目錄 --with-openssl=PATH Build with OpenSSL yes|no|path. # openssl 應用程序工作目錄 (Required for DNSSEC) --with-ecdsa OpenSSL ECDSA --with-gost OpenSSL GOST
configure 配置參數:
./configure –prefix=/usr/local/bind9 –sysconfdir=/etc/named9 –disable-ipv6 –disable-chroot –enable-threads
#--prefix=/usr/local/bind9 #bind的工作主目錄設置 #--sysconfdir=/etc/named9 #bind的配置文件目錄 #--disable-ipv6 #禁用ipv6的功能 #--disable-chroot #禁用chroot功能 #--enable-threads #開啟
bind對于.configure參數的說明:
--prefix=/usr/local/bind 指定bind9的安裝目錄,默認是/usr/local --enable-threads 開啟多線程的支持;如果你的系統有多個CPU,那么可以使用這個選項 --disable-openssl-version-check 關閉openssl的檢查 --with-openssl=/usr/local/openssl 指定openssl的安裝路徑 --sysconfdir=/etc 設置named.conf配置文件放置的目錄,默認是--prefix選項指定的目錄下的/etc下 --localstatdir=/var 設置 run/named.pid 放置的目錄,默認是--prefix選項指定的目錄下的/var下 --with-libtool 將BIND的庫文件編譯為動態共享庫文件,這個選項默認是未選擇的。 如果不選這個選項,那么編譯后的named命令會比較大,lib目錄中的庫文件都是.a后綴的 如果選上這個選項,那么編譯后的named命令會很小,lib目錄中的庫文件則是.so后綴
※·步驟三 :make & make install
./configure 沒有問題,make , make install后即可
※·步驟四 :配置PATH的環境變量
# –prefix=/usr/local/bind9 #bind的工作主目錄設置
# –sysconfdir=/etc/named9 #bind的配置文件目錄
[root@root-server bind9]# pwd #進入編譯安裝bind的工作目錄中 /usr/local/bind9 [root@root-server bind9]# ls bin #bind的用戶應用程序存放路徑 include #bind的頭文件存放路徑 lib #bind的庫文件存放路徑 sbin #bind的管理員應用程序存放路徑 share var
需要讓系統PATH環境變量添加 bin 與 sbin添加到PATH中:
[root@root-server bind9]# cat /etc/profile.d/named.sh #在該目錄下編輯文件文件內容如下 export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin/:$PATH #申明環境變量 [root@root-server bind9]# source /etc/profile.d/named.sh #立即生效PATH [root@root-server bind9]# echo $PATH #查看PATH的環境變量 /usr/local/bind9/bin:/usr/local/bind9/sbin/:/usr/lib64/qt-3.3/bin:/usr/local/bind9/bin:/usr/local/bind9/sbin/: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/http2/bin:/root/bin
※·步驟五 :配置頭文件路徑,設置庫文件路徑,設置man文件路徑
系統頭文件默認加載的文件為:?vim /etc/ld.so.conf.d/目錄。只需要在該目錄下寫一個文件文件內容如下:
?vim /etc/ld.so.conf.d/named.conf
/usr/local/bind9/lib
]#ldconfig #重新加載所有的動態庫文件
系統庫文件默認路徑為:/usr/include/
ln -sv /usr/local/bind9/include /usr/include/named
安裝bind的man幫助文件
?vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/bind9/share/man
※·步驟六 :添加系統組和系統賬戶
添加的賬戶是用來啟動named服務進程的。
# groupadd-r -g 53 named # useradd-r -u 53 -g 53 named [root@root-server ld.so.conf.d]# getent passwd | grep named named:x:53:53::/home/named:/bin/bash [root@root-server ld.so.conf.d]# getent group | grep named named:x:53: [root@root-server ld.so.conf.d]#
※·步驟七 :創建系統文件
touch /etc/named/named.conf #創建主配置文件。
mkdir /var/named #創建區域文件存放目錄。
touch /var/named/named.ca #存放根服務器地址
配置named.conf文件內容:
1 options { 2 directory "/var/named/"; 3 }; 4 zone "." IN { 5 type hint; 6 file "named.ca"; 7 };
#一定注意文件的權限,named用戶對文件具有獨權限。
※·步驟八 :創建boss.com區域
主配置文件中配置的區域名稱
19 zone "boss.com" IN { 20 type master; 21 file "boss.com.zone"; 22 };
區域文件內容
[root@root-server ld.so.conf.d]# cat /var/named/boss.com.zone $TTL 3600 @ IN SOA ns1.boss.com. admin.boss.com. ( 1 1D 1M 7D 1D ) IN NS ns1 ns1 IN A 10.1.16.10 www IN A 10.1.16.10 ftp IN CNAME www bbs IN CNAME www pop3 IN CNAME www [root@root-server ld.so.conf.d]#
※·步驟九 :啟動服務和測試
?named -u named -f -g -d 3 #前端級別3方式運行
#named服務在前提執行,通過ctrl + c 來關閉named程序
?named -u named #后臺運行
[root@root-server ld.so.conf.d]# named -u named [root@root-server ld.so.conf.d]# ps aux | grep named named 34128 0.1 1.4 185956 14564 ? Ssl 15:16 0:00 named -u named root 34134 0.0 0.0 112644 952 pts/1 S+ 15:16 0:00 grep --color=auto named [root@root-server ld.so.conf.d]#
?killall named
#當named在后臺運行時, killall named 結束進程
?ss -uln
[root@root-server ld.so.conf.d]# ss -uln State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 *:47755 *:* UNCONN 0 0 *:59063 *:* UNCONN 0 0 *:5353 *:* UNCONN 0 0 192.168.122.1:53 *:* UNCONN 0 0 10.1.249.124:53 *:* UNCONN 0 0 122.122.0.1:53 *:* UNCONN 0 0 10.1.16.10:53 *:* UNCONN 0 0 127.0.0.1:53 *:* UNCONN 0 0 192.168.122.1:53 *:* UNCONN 0 0 *%virbr0:67 *:* UNCONN 0 0 *:68 *:* UNCONN 0 0 :::17332 :::* [root@root-server ld.so.conf.d]#
※·步驟十 :配置rndc管理dns服務器
編譯安裝bind默認情況下 rndc程序不能管理dns服務器,會報以下的錯誤:
[root@root-server named9]# rndc status rndc: neither /etc/named9/rndc.conf nor /etc/named9/rndc.key was found [root@root-server named9]#
需要使用以下命令生成key才可以是rndc與dns服務器通過對稱密鑰加密通信:
?rndc-confgen -r /dev/urandom > /etc/named/rndc.conf 生成key (生成的文件保存為 rndc.conf)
# -r /dev/urandom : 隨機數不夠,從設備中取隨機數
[root@root-server named9]# rndc-confgen -r /dev/urandom > /etc/named9/rndc.conf [root@root-server named9]# ll total 12 -rw-r-----. 1 named named 2389 Sep 27 08:58 bind.keys -rw-r-----. 1 named named 511 Sep 27 10:18 named.conf -rw-r--r--. 1 root root 479 Sep 27 15:21 rndc.conf [root@root-server named9]# cat rndc.conf # Start of rndc.conf ##放在rndc.conf文件中的開始 key "rndc-key" { algorithm hmac-md5; secret "tbAdp4Kp1L8YDo+aGY4Ajw=="; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf ##放在rndc.conf文件中的結束 # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { ##放在named.conf文件中的開始 # algorithm hmac-md5; # secret "tbAdp4Kp1L8YDo+aGY4Ajw=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf ##放在named.conf文件中的結束 [root@root-server named9]#
?tail /etc/named/rndc.conf >> /etc/named/named.conf
把剛剛生成的rndc.conf信息追加到 named.conf文件中
[root@root-server named9]# tail rndc.conf >> named.conf
?killall -SIGHUP named
重新加載named的配置文件
?rndc status
[root@root-server named9]# rndc status version: 9.9.5 <id:f9b8a50e> CPUs found: 2 worker threads: 2 UDP listeners per interface: 2 number of zones: 101 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running [root@root-server named9]#
原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/49504