1. 程式人生 > >CentOS 7.2 搭建DNS

CentOS 7.2 搭建DNS

bind配置

從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?"; #掩蓋版本

allow-query {any;}; #運行所有用戶查詢
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