1、安裝環境介紹:
安裝的服務器是基於debian8.6.0環境使用源碼進行安裝的,安裝的bind版本爲bind9.10.6。安裝步驟如下:
(1)下載bind9.10.6源碼包,下載地址如下:
https://ftp.isc.org/isc/bind9/9.12.2-P1/bind-9.12.2-P1.tar.gz
(2)我的環境中,存放位置爲:/home/ball,下載完畢後請使用winscp進行拖入到相關目錄。
(3)安裝openssl運行庫。在使用源碼進行編譯安裝bind中,需要openssl運行庫的支持,否則會出現以下報錯:
checking for OpenSSL library... configure: error: OpenSSL was not found in any of /usr /usr/local /usr/local/ssl /usr/pkg /usr/sfw; use --with-openssl=/path If you don't want OpenSSL, use --without-openssl
如遇到上述報錯請先安裝openssl運行庫,命令如下:
apt install libssl-dev
(4)解壓bind安裝包,進行編譯安裝。命令如下:
cd /home/ball/
tar xvzf bind-9.12.2-P1.tar.gz cd bind-9.10.6/ ./configure --prefix=/usr/local/named --enable-threads make&make install
命令行--prefix=/usr/local/named表明了我的bind安裝位置,--enable-threads爲開啓多線程處理。
(5)安裝好以後查看其版本:
# /usr/local/named/sbin/named -v BIND 9.12.2-P1 <id:8914b83>
(6)創建用戶named用戶,使用named用戶運行dns
groupadd named useradd -g named -s /sbin/nologin named
(7)創建配置文件目錄
mkdir /usr/local/named/zones #保存dns zone配置文件的目錄 mkdir /usr/local/named/log #保存日誌就新建這個目錄 touch /usr/local/named/etc/named.conf #保存DNS配置文件
(8)配置主配置文件
cd /usr/local/named/etc/ /usr/local/named/sbin/rndc-confgen > rndc.conf cat rndc.conf > rndc.key chmod 777 /usr/local/named/zones/ tail -10 rndc.conf | head -9 | sed s/#\ //g > named.conf
(9)配置dns named文件
nano /usr/local/named/etc/named.conf options { directory "/usr/local/named/zones"; //域名文件存放的絕對路徑 pid-file "named.pid"; //如果bind啓動,自動會在/usr/local/named/zones目錄生成一個named.pid文件,打開文件就是named進程的ID }; zone "." IN { type hint; //根域名服務器 file "named.root"; //存放在/usr/local/named/zones目錄,文件名爲named.root };
(10) 配置named.root根服務器
#服務器IP地址需要能夠上網) dig -t NS . #產生named.ca文件 dig -t NS . >/usr/local/named/zones/named.root
(11)運行DNS服務
/usr/local/named/sbin/named #檢查DNS服務器運行狀態 /usr/local/named/sbin/rndc status WARNING: key file (/usr/local/named/etc/rndc.key) exists, but using default configuration file (/usr/local/named/etc/rndc.conf) version: BIND 9.12.2-P1 <id:8914b83> running on dnsball: Linux x86_64 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) boot time: Thu, 23 Aug 2018 10:34:24 GMT last configured: Thu, 23 Aug 2018 10:34:25 GMT configuration file: /usr/local/named/etc/named.conf CPUs found: 1 worker threads: 1 UDP listeners per interface: 1 number of zones: 100 (99 automatic) debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/900/1000 tcp clients: 0/150 server is up and running
(12)配置named.conf解析
ln -s /usr/local/named/etc/named.conf /etc/named.conf cat /usr/local/named/etc/named.conf #rndc控制密鑰 key "rndc-key" { algorithm hmac-sha256; secret "c6iamWqbzArFvUn7BUt27c8MNUU+G9TkVz8ADbnXNRI="; }; #服務監聽端口 controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; #配置zone配置文件目錄 options { directory "/usr/local/named/zones"; pid-file "named.pid"; }; #配置根DNS服務器配置文件 zone "." { type hint; file "/usr/local/named/etc/named.root"; }; #配置log日誌服務 logging { channel dnsquery.log { file "/usr/local/named/log/dnsquery.log" versions 3 size 10M; severity info; print-time yes; }; category queries { dnsquery.log; }; }; view "internal" { zone "dnsball.com" in { type master; file"dnsball.com.internal"; }; zone "1.168.192.in-addr.arpa" in { type master; file"1.168.192.in-addr.arpa.internal"; }; };