CentOS 搭建dns服務器 解析任意域名

DNS服務器IP地址:192.168.1.219linux

服務器版本:centos6.6
一:軟件安裝web

[root@localhost ~]# yum -y install bind*

二:修改主配置文件vim

[root@localhost ~]# cp /etc/named.conf /etc/named.conf.bak # 修改以前先備份一遍
[root@localhost ~]# vi /etc/named.conf

修改成如下:centos

options {

listen-on port 53 { any; }; // 監聽在主機的53端口上。any表明監聽全部的主機
directory 「/var/named」; // 若是此檔案底下有規範到正反解的zone file 檔名時,該檔名預設應該放置在哪一個目錄底下

// 下面三項是服務的相關統計信息

dump-file 「/var/named/data/cache_dump.db」;
statistics-file 「/var/named/data/named_stats.txt」;
memstatistics-file 「/var/named/data/named_mem_stats.txt」;
allow-query { any; }; // 誰能夠對個人DNS服務器提出查詢請求。any表明任何人
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
forwarders { // 指定上層DNS服務器
192.168.1.1;
};
bindkeys-file 「/etc/named.iscdlv.key」;
managed-keys-directory 「/var/named/dynamic」;
};

logging {

channel default_debug {
file 「data/named.run」;
severity dynamic;
};

};
zone 「.」 IN {
type hint;
file 「named.ca」;
};

include 「/etc/named.rfc1912.zones」;
include 「/etc/named.root.key」;

3、 自定義域名解析配置緩存

[root@localhost ~]# vi /etc/named.rfc1912.zones # 好比咱們要添加yumaozdy.com這個域的解析能夠添加下面這一段

zone 「yumaozdy.com」 IN { // 定義要解析主域名
type master;
file 「yumaozdy.com.zone」; // 具體相關解析的配置文件保存在 /var/named/yumaozdy.com.zone 文件中

};

四 自定義yumaozdy.com.zone文件服務器

[root@ns named]# vi /var/named/yumaozdy.com.zone

全文以下:dom

$TTL 86400
@ IN SOA ns.yumaozdy.com. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum

@ IN NS ns.yumaozdy.com.
ns IN A 192.168.1.219
www IN A 192.168.1.45
bbs IN A 192.168.1.46
ttt IN A 192.168.1.68

// 其中 ns.yumaozdy.com 表明當前dns服務器名稱。因此 ns.yumaozdy.com 必定要解析到本身自己

www IN A 192.168.1.45 // 表明 www.yumaozdy.com 解析到 192.168.1.45服務器上。其餘的相似

5、修改權限tcp

[root@ns named]# chown root:named yumaozdy.com.zone # 這一步必定要作

6、重啓服務ide

[root@dns_server named]# service named restart

7、新增域名解析測試

若是咱們要追加一個域的解析。好比google.com 則:

vi /etc/named.rfc1912.zones

// 添加下面這段
zone 「google.com」 IN {
type master;
file 「google.com.zone」;
};

[root@ns named]# cp -a yumaozdy.com.zone google.com.zone
[root@ns named]# vi google.com.zone

$TTL 86400
@ IN SOA ns.google.com. root (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
0 ) ; minimum
@ IN NS ns.google.com.
ns IN A 192.168.1.219
www IN A 192.168.1.11
bbs IN A 192.168.1.46
ttt IN A 192.168.1.68

配置完成以後重啓服務

[root@dns_server named]# service named restart

8、關閉selinux(略)

9、添加防火牆規則

vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 53 -j ACCEPT
-A INPUT -m state –state NEW -m udp -p udp –dport 53 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 953 -j ACCEPT

添加規則,而且保存(注意位置)

service iptables restart

10、測試

vim /etc/resolv.conf
nameserver 192.168.1.219

保存

ping www.yumaozdy.com和其餘域名看可否解析

zone配置文件簡單說明:
常見的正解文件 RR 相關信息
[domain] IN [[RR type] [RR data]]
主機名. IN A IPv4 的 IP 地址
主機名. IN AAAA IPv6 的 IP 地址
領域名. IN NS 管理這個領域名的服務器主機名字.
領域名. IN SOA 管理這個領域名的七個重要參數(如上說明)
領域名. IN MX 順序數字 接收郵件的服務器主機名字
主機別名. IN CNAME 實際表明這個主機別名的主機名字.
單位:W= 周、D= 日、H= 小時、M= 分鐘。
$TTL 86400
@ IN SOA ns.helome.com. root ( # ns.test.web. 是DNS服務器的名稱
0 ; serial (d. adams) 僅做爲序列號而已
1D ; refresh 服務器的更新時間
15M ; retry 從新更新時間間隔
1W ; expiry 多久以後宣佈失敗
1H ) ; minimum 至關於緩存記憶時間
@ IN NS ns.helome.com.
@ IN MX 5 mail.helome.com. (5爲優先級別)
ns IN A 192.168.32.131
www IN A 192.168.32.131
mail IN A 192.168.32.131

測試檢測域信息是否正常
檢查以前先看下 配置文件有沒有讀取權限 ll /var/named (若是沒有 chmod +r /var/named/* 便可)

使用host或nslookup命令 檢測域信息是否正常(以下圖所示)

host mail.helome.com
nslookup mail.helome.com

到此DNS服務器的搭建就完畢了。

bind文件配置過程當中容易出錯
如下命令用以檢查bind配置文件及zone文件語法

named-checkconf/etc/named.conf
named-checkzone helome.com /var/named/helome.com.zone
相關文章
相關標籤/搜索