内網搭建DNS伺服器
DNS:Domain Name Service,域名解析服務
監聽端口:udp/53,tcp/53
應用程式:bind
根域:.
一級域:
組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv
國家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa

DNS 記錄類型:DNS 域名資料庫由資源記錄和區檔案指令組成。
SOA 記錄:起始授權機構記錄,SOA 備注說明了衆多 NS(name server)記錄中誰是主名稱伺服器,不參與功能,但是不能缺少。
NS 記錄:域授權記錄,當請求到達根域的時候,通過 NS 記錄找到對應的域。
A 記錄:當通過 NS 記錄到達域以後,比如通路 www.baidu.com,通過 NS 我們找到了 baidu.com,此時就需要通過 A 記錄找到 www。
MX:将該域下的所有郵件伺服器位址指向郵件伺服器。
AAAA 記錄:A 記錄處理 IPV4,AAAA 處理 IPV6。
PTR 記錄:反向解析,将 IP 解析成域名。
CNAME:别名記錄,允許多個名字映射到另外一個域名。比如我們 ping 百度的時候可以發現傳回其實是 www.a.shifen.com 這個域名傳回。所有 www.baidu.com 其實是個别名。
安裝dns服務并配置
[root@jhr-hub ~]# yum -y install bind-utils bind bind-devel bind-libs
[root@jhr-hub ~]# vim /etc/named.rfc1912.zones
[root@jhr-hub ~]#
[root@jhr-hub ~]#
[root@jhr-hub ~]#
[root@jhr-hub ~]# tail -n 10 /etc/named.rfc1912.zones
zone "chenby.cn" IN {
type master;
file "chenby.cn.zone";
};
[root@jhr-hub ~]#
[root@jhr-hub ~]# cd /var/named/
[root@jhr-hub named]# ls
data dynamic named.ca named.empty named.localhost named.loopback pakho.zone slaves
[root@jhr-hub named]#
[root@jhr-hub named]# cp named.localhost chenby.cn.zone
[root@jhr-hub named]#
[root@jhr-hub named]# chown named.named chenby.cn.zone
[root@jhr-hub named]#
[root@jhr-hub named]# vim chenby.cn.zone
[root@jhr-hub named]#
複制代碼
複制
檢查配置檔案
[root@jhr-hub named]# named-checkconf /etc/named.conf
[root@jhr-hub named]#
[root@jhr-hub named]#
[root@jhr-hub named]# named-checkzone chenby.cn /var/named/chenby.cn.zone
zone chenby.cn/IN: loaded serial 0
OK
[root@jhr-hub named]#
複制代碼
複制
啟動服務,并設定開機自啟
[root@jhr-hub named]# systemctl restart named
[root@jhr-hub named]#
[root@jhr-hub named]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@jhr-hub named]#
測試是否可行
[root@jhr-hub named]# dig @3.7.191.1 www.chenby.cn
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.7 <<>> @3.7.191.1 www.chenby.cn
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5275
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.chenby.cn. IN A
;; ANSWER SECTION:
www.chenby.cn. 86400 IN A 3.7.191.1
;; AUTHORITY SECTION:
chenby.cn. 86400 IN NS chenby.cn.
;; ADDITIONAL SECTION:
chenby.cn. 86400 IN A 127.0.0.1
chenby.cn. 86400 IN AAAA ::1
;; Query time: 0 msec
;; SERVER: 3.7.191.1#53(3.7.191.1)
;; WHEN: Thu Dec 09 14:44:51 CST 2021
;; MSG SIZE rcvd: 116
[root@jhr-hub named]#
複制代碼
複制
附錄:
1.name.conf檔案詳解
options {
listen-on port 53 { 127.0.0.1; }; //設定named伺服器監聽端口及IP位址
listen-on-v6 port 53 { ::1; };
directory "/var/named"; //設定區域資料庫檔案的預設存放位址
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查詢用戶端
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes; //設定允許遞歸查詢
include "/etc/named.rfc1912.zones";
};
複制代碼
複制
2.區域配置檔案/etc/named.rfc1912.zones
zone "." IN { //定義了根域
type hint; //定義伺服器類型為hint
file "named.ca"; //定義根域的配置檔案名
};
zone "localdomain" IN { //定義正向DNS區域
type master; //定義區域類型
file "localdomain.zone"; //設定對應的正向區域位址資料庫檔案
allow-update { none; }; //設定允許動态更新的用戶端位址(none為禁止)
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN { //設定反向DNS區域
type master;
file "named.local";
allow-update { none; };
};
複制代碼
複制
3.根域配置檔案named.ca
根域配置檔案設定根域的域名資料庫,包括根域中13台DNS伺服器的資訊。幾乎所有系統的這個檔案都是一樣的,使用者不需要進行修改。
4.正向域名解析資料庫檔案
$TTL 600
@ IN SOA dns.cwlinux.com dnsadmin.cwlinux.com. (//SOA字段
2015031288 //版本号 同步一次 +1
1H //更新時間
2M // 更新失敗,重試更新時間
2D // 更新失敗多長時間後此DNS失效時間
1D //解析不到請求不予回複時間
)
IN NS dns //有兩域名伺服器
IN NS ns2
IN MX 10 mial // 定義郵件伺服器,10指優先級 0-99 數字越小優先級越高
ns2 IN A 192.168.1.113 //ns2域名伺服器的ip位址
dns IN A 192.168.1.10 //dns域名伺服器的ip位址
mail IN A 192.168.1.111 //郵件伺服器的ip位址
www IN A 192.168.1.112 //www.cwlinux.com的ip位址
pop IN CNAME mail //pop的正式名字是mail
ftp IN CNAME www //ftp的正式名字是www
複制代碼
複制
5.反向域名解析資料庫檔案
$TTL 600
@ IN SOA dns.cwlinux.com. dnsadmin.cwlinux.com. (
2014031224
1H
2M
2D
1D
)
IN NS dns.cwlinux.com.
10 IN PTR dns.cwlinux.com. //反向解析PTR格式
111 IN PTR mail.cwlinux.com.
112 IN PTR www.cwlinux.com.
// 聲明域的時候已經有了,192.168.1 是以我們隻需要輸入10即代表192.168.1.10jc
複制代碼
複制
Linux運維交流社群
Linux運維交流社群,網際網路新聞以及技術交流。
71篇原創内容
公衆号
blog.csdn.net/qq\_3392175…
my.oschina.net/u/3981543
www.zhihu.com/people/chen…
segmentfault.com/u/hppyvyv6/…
juejin.cn/user/331578…
space.bilibili.com/352476552/a…
cloud.tencent.com/developer/c…
知乎、CSDN、開源中國、思否、掘金、哔哩哔哩、騰訊雲