CentOS 7.2 搭建DNS
從ISC官網www.isc.org 下載bind,
註意,現在有3個版本可以選擇:早期開發版(Early Deployment),穩定版(Current-Stable),帶擴展功能穩定版(Current-Stable, ESV),如果沒有特殊需要,推薦使用穩定版,目前最新是9.10.6
下載源碼包: bind-9.10.6.tar.gz
解壓並進入 bind-9.10.6目錄
編譯安裝 ./configure --enable-largefile --enable-threads --bindir=/bin --sbindir=/sbin
make && make install
編譯安裝時沒有配置文件的,需要自己建立。
vim /etc/named.conf bind的配置文件默認在/etc下面,文件名named.conf
options {
directory "/var/named"; #數據文件位置
pid-file "named.pid";
recursive-clients 10000000; #運行多少用戶查詢
version "What do u wanna?"; #掩蓋版本
recursion yes; #使用遞歸查詢
#forward only;
#forwarders { 219.141.136.10; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "RE4+Tk2AUXDjs2ns4Zox8w==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel query_log {
file "query.log" versions 3 size 20m;
severity info;
print-time yes;
print-category yes;
};
category queries {
query_log;
};
category edns-disabled { null; };
category lame-servers { null; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
#include "/var/named/ws.conf";
紅色部分的配置,是通過 rndc-confgen 命令生成,然後粘貼到配置文件中的。
但是直接使用生成時間會長,可以通過 rndc-confgen -r /dev/urandom 來加快,或安裝rng-tools(yum install rng-tools) 並啟動 (systemctl start rngd.service)後再執行rndc-confgen
rndc-confgen 產生的結果 分上下兩部分,上半部分需要寫在/etc/rndc.conf(默認不存在)
在/var下面新建named目錄,並進入
生成3個文件:localhost.zone named.ca named.local
named.ca 是根域名服務器的地址
localhost.zone localhost的正向解析記錄
named.local localhost的反向解析記錄
named.ca 通過 dig 8.8.8.8 > named.ca 得到
PS:現在好像只能得到一個a.root-servers.net的結果了,以前可以獲得全部13個
localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
named.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
2012062001 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
配置完成後,就可以通過named命令啟動DNS了,如果有錯誤,可以通過named -g 看報什麽錯誤,通過named-checkconf 檢查named.conf 是否有語法錯誤,named-checkzone 檢查數據數據文件是否有語法錯誤
CentOS 7.2 搭建DNS