網(wǎng)站需要公安局備案嗎資源
本文基于Linux上CentOS 7版本配合bind(named)服務(wù)進(jìn)行演示
目錄
一.DNS域名服務(wù)器原理及作用等介紹
1.DNS簡(jiǎn)介:?
2.原理簡(jiǎn)單介紹
3.常見(jiàn)域名后綴
4.DNS域名服務(wù)器類型
5.DNS服務(wù)器的對(duì)應(yīng)關(guān)系查詢方式
6.具體解析過(guò)程
二.bind(named)服務(wù)配置文件介紹
1.主配置文件在/etc/named.conf
2.數(shù)據(jù)配置文件目錄在/var/named
3.區(qū)域配置文件在/etc/named.rfc1912.zones
三.named(bind服務(wù))命令部分參數(shù)詳解
1.named-checkconf /etc/named.conf?
2.named-checkzone 域名 /var/named/.zone區(qū)域文件
3.測(cè)試域名是否可用
4.bind服務(wù)所含文件參數(shù)介紹
四.使用bind(named)服務(wù)配置正向解析
1.下載bind服務(wù)并開(kāi)啟
2.制定配置計(jì)劃
3.修改主配置文件/etc/named.conf?
4.配置數(shù)據(jù)配置文件/var/named/
5.檢查主配置文件和數(shù)據(jù)配置文件格式并重啟named服務(wù),啟動(dòng)沒(méi)有報(bào)錯(cuò)再進(jìn)行測(cè)試
6.進(jìn)行測(cè)試
五.使用bind(named)服務(wù)配置反向解析
1.修改主配置文件/etc/named.conf?
2.修改數(shù)據(jù)配置文件
3.檢查書寫并重啟服務(wù)
4.測(cè)試
六.實(shí)現(xiàn)DNS主從服務(wù)器同步(完全/增量區(qū)域傳送)
1.復(fù)制(同步)整個(gè)區(qū)域的文件叫完全區(qū)域傳送
2.主從配置演示
3.增量區(qū)域傳送簡(jiǎn)介
七.實(shí)現(xiàn)批量域名解析(正/反向解析)
1.正向解析
2.反向解析
一.DNS域名服務(wù)器原理及作用等介紹
1.DNS簡(jiǎn)介:?
DNS是互聯(lián)網(wǎng)上的一項(xiàng)服務(wù),擔(dān)任域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),相較于IP,域名更便于記憶能夠使人更方便的訪問(wèn)互聯(lián)網(wǎng)。但是計(jì)算機(jī)只能基于IP來(lái)識(shí)別對(duì)方,而且要上網(wǎng)或通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù),也是基于IP地址完成。
2.原理簡(jiǎn)單介紹
用戶輸入域名或IP地址,服務(wù)器查找與域名或IP地址相匹配的IP地址或域名,從而去打開(kāi)我們想要訪問(wèn)的網(wǎng)站。域名解析主要分為正向解析和反向解析。正向解析就是將域名解析成IP地址,反向解析就是將IP地址解析成域名,通常用的最多的是正向域名解析
3.常見(jiàn)域名后綴
(1).edu 教育機(jī)構(gòu)域名后綴
(2).pub? 公共大眾域名后綴
(3).cn? 中國(guó)國(guó)家頂級(jí)域名后綴
(4).org? 非盈利組織域名后綴
(5).com 商業(yè)組織域名后綴
(6).gov? 政府部門域名后綴
(7).net? 網(wǎng)絡(luò)服務(wù)商域名后綴
4.DNS域名服務(wù)器類型
(1)緩存服務(wù)器
負(fù)責(zé)接收解析器發(fā)送過(guò)來(lái)的DNS解析請(qǐng)求,通過(guò)依次查詢根域名服務(wù)器、頂級(jí)域名服務(wù)器、二級(jí)域名服務(wù)器來(lái)獲得DNS條目,然后把相應(yīng)結(jié)果發(fā)送給解析器,根據(jù)DNS條目的TTL進(jìn)行緩存,多用于企業(yè)局域網(wǎng)內(nèi)部、運(yùn)營(yíng)商等領(lǐng)域
(2)轉(zhuǎn)發(fā)域名服務(wù)器
接受解析器發(fā)送過(guò)來(lái)的DNS請(qǐng)求,轉(zhuǎn)發(fā)給指定的上級(jí)域名服務(wù)器獲得DNS解析條目,然后把響應(yīng)結(jié)果發(fā)送給解析器,不緩存,僅僅是轉(zhuǎn)發(fā)。
(3)權(quán)威域名服務(wù)器
根域名服務(wù)器:是最高層次也是最重要的域名服務(wù)器,負(fù)責(zé)對(duì)(.com,.cn等頂級(jí)域名向下授權(quán))所有的根域名服務(wù)器都知道所有的頂級(jí)域名服務(wù)器的域名和IP地址,從根本上保證了域名解析服務(wù)。一般情況下域名服務(wù)器并不直接把待查詢的域名直接解析出結(jié)果返回給用戶,會(huì)引導(dǎo)本地域名服務(wù)器找一個(gè)服務(wù)器進(jìn)行查詢。
頂級(jí)域名服務(wù)器:管理在該頂級(jí)域名服務(wù)器成功注冊(cè)的二級(jí)域名,收到DNS查詢時(shí)可以立即返回結(jié)果。
二級(jí)域名服務(wù)器:服務(wù)于具體域名解析
(4)權(quán)限域名服務(wù)器
主要作用是負(fù)責(zé)管理“區(qū)”的域名服務(wù)器。權(quán)限不能查詢結(jié)果返回時(shí),就會(huì)引導(dǎo)用戶下一步該尋找哪一個(gè)域名服務(wù)器。
(5)本地域名服務(wù)器
本地域名服務(wù)器對(duì)域名系統(tǒng)非常重要。用戶發(fā)出DNS查詢請(qǐng)求時(shí),這個(gè)查詢請(qǐng)求報(bào)文就會(huì)先發(fā)送給本地域名服務(wù)器進(jìn)行解析。
5.DNS服務(wù)器的對(duì)應(yīng)關(guān)系查詢方式
DNS采用分布式數(shù)據(jù)結(jié)構(gòu)來(lái)存放數(shù)據(jù)信息。
(1)遞歸查詢
客戶端向本地DNS服務(wù)器發(fā)出查詢的過(guò)程一般是遞歸查詢,就是當(dāng)本地DNS服務(wù)器沒(méi)有緩存該DNS信息時(shí),他代替(充當(dāng))客戶端進(jìn)行繼續(xù)一步一步查詢。
開(kāi)啟遞歸查詢等同于將DNS服務(wù)器開(kāi)放,造成大量數(shù)據(jù)流量流入流出。
禁用遞歸查詢
options {listen-on port 53 { 192.168.2.135; };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";secroots-file "/var/named/data/named.secroots";recursing-file "/var/named/data/named.recursing";recursion no; #禁用遞歸查詢
}
(2)迭代查詢
本地DNS服務(wù)器向根域名服務(wù)器的發(fā)送請(qǐng)求的過(guò)程一般是迭代查詢,也就是根域名服務(wù)器會(huì)引導(dǎo)本地DNS服務(wù)器到頂級(jí)域名,二級(jí)域名這樣一層一層的去訪問(wèn),最后返回解析成功結(jié)果或錯(cuò)誤結(jié)果給本地DNS服務(wù)器再發(fā)給客戶端。
6.具體解析過(guò)程
(1)客戶端輸出域名,發(fā)出訪問(wèn)請(qǐng)求
(2)進(jìn)行本地域名解析查詢,查詢本地DNS緩存,hosts文件等,如果緩存有記錄就返回結(jié)果。
(3)本地DNS服務(wù)器查詢,上一步?jīng)]有結(jié)果返回時(shí),系統(tǒng)向本網(wǎng)絡(luò)內(nèi)配置了的本地DNS服務(wù)器發(fā)送DNS查詢請(qǐng)求,如果是本地DNS服務(wù)器的數(shù)據(jù)庫(kù)有緩存,則返回結(jié)果,當(dāng)然還要考慮一個(gè)是否開(kāi)啟轉(zhuǎn)發(fā)模式。
當(dāng)本地DNS服務(wù)器開(kāi)啟未轉(zhuǎn)發(fā)模式時(shí),他就只負(fù)責(zé)管理或用戶指定了的DNS記錄,所以返回成功結(jié)果或域名不存在的錯(cuò)誤信息。開(kāi)啟轉(zhuǎn)發(fā)模式時(shí),他就會(huì)在自己解析失敗后轉(zhuǎn)發(fā)給根域名服務(wù)器,進(jìn)行迭代查詢。
(4)根域名查詢,上述無(wú)結(jié)果時(shí)就由本地DNS服務(wù)器去向根域名服務(wù)器發(fā)送解析請(qǐng)求,根域名返回器對(duì)應(yīng)的頂級(jí)域名服務(wù)器地址,本地DNS服務(wù)器轉(zhuǎn)而向頂級(jí)、二級(jí)等域名服務(wù)器發(fā)出請(qǐng)求,依次查詢
(5)若是在上面步驟查詢到了結(jié)果,就返回結(jié)果給本地DNS服務(wù)器,本地DNS進(jìn)行緩存再發(fā)送給用戶的操作系統(tǒng)
(6)用戶的操作系統(tǒng)收到后進(jìn)行本地緩存,再返回給用戶,如瀏覽器界面等
(7)若都沒(méi)有查詢到結(jié)果則返回錯(cuò)誤信息
二.bind(named)服務(wù)配置文件介紹
1.主配置文件在/etc/named.conf
主要用來(lái)定義bind服務(wù)程序的運(yùn)行
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {listen-on port 53 { 192.168.2.160; };
//需要監(jiān)聽(tīng)的真實(shí)服務(wù)器ip,如果所有地址都監(jiān)聽(tīng)可以只寫端口,括號(hào)內(nèi)可填anylisten-on-v6 port 53 { ::1; };
//定義數(shù)據(jù)文件目錄directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt"; //統(tǒng)計(jì)檔案、文件memstatistics-file "/var/named/data/named_mem_stats.txt"; //分配統(tǒng)計(jì)目錄recursing-file "/var/named/data/named.recursing";secroots-file "/var/named/data/named.secroots";allow-query { 192.168.2.0/24; }; //允許某個(gè)網(wǎng)段的用戶查詢 //允許那個(gè)網(wǎng)段的用戶發(fā)起查詢請(qǐng)求。可以填寫any
/* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.- If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. - If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so willcause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatlyreduce such attack surface */recursion yes; //允許遞歸dnssec-enable yes;dnssec-validation yes;/* Path to ISC DLV key */bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};logging { //指定日志記錄分類和他們的目標(biāo)位置channel default_debug {file "data/named.run";severity dynamic;};
};zone "." IN {type hint;file "named.ca";
}; //區(qū)域配置內(nèi)容
include "/etc/named.rfc1912.zones"; //包含其他的配置文件
include "/etc/named.root.key";
2.數(shù)據(jù)配置文件目錄在/var/named
用來(lái)保存ip和域名的真實(shí)映射關(guān)系產(chǎn)生的數(shù)據(jù)配置文件
[root@sulibao ~]# ll /var/named/
total 16
drwxrwx--- 2 named named 23 Jan 14 14:36 data
drwxrwx--- 2 named named 60 Jan 14 14:59 dynamic
-rw-r----- 1 root named 2253 Aug 20 2021 named.ca
-rw-r----- 1 root named 152 Aug 20 2021 named.empty
-rw-r----- 1 root named 152 Aug 20 2021 named.localhost
-rw-r----- 1 root named 168 Aug 20 2021 named.loopback
drwxrwx--- 2 named named 6 Aug 20 2021 slaves
3.區(qū)域配置文件在/etc/named.rfc1912.zones
保存的是域名和ip對(duì)應(yīng)關(guān)系所在位置,沒(méi)有包含具體的域名和ip對(duì)應(yīng)關(guān)系
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and https://tools.ietf.org/html/rfc6303
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// Note: empty-zones-enable yes; option is default.
// If private ranges should be forwarded, add
// disable-empty-zone "."; into options
//zone "localhost.localdomain" IN {type master;file "named.localhost";allow-update { none; };
};
zone "localhost" IN {type master;file "named.localhost";allow-update { none; };
};zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.loopback";allow-update { none; };
};zone "1.0.0.127.in-addr.arpa" IN {type master;file "named.loopback";allow-update { none; };
};
zone "0.in-addr.arpa" IN {type master;file "named.empty";allow-update { none; };
};
三.named(bind服務(wù))命令部分參數(shù)詳解
1.named-checkconf /etc/named.conf?
檢查主配置文件是否書寫正確(不檢查邏輯錯(cuò)誤),沒(méi)有報(bào)錯(cuò)則為書寫正確
[root@sulibao etc]# named-checkconf /etc/named.conf
2.named-checkzone 域名 /var/named/.zone區(qū)域文件
檢查數(shù)據(jù)配置文件是否書寫正確
[root@sulibao etc]# named-checkzone 域名 /var/named/.zone區(qū)域文件
zone ssll.com/IN: loaded serial 0
OK
3.測(cè)試域名是否可用
(1)host? 域名 地址(服務(wù)器的地址)
[root@sulibao ~]# host 域名 192.168.xx.xx
Using domain server:
Name: 192.168.xx.xx
Address: 192.168.xx.xx#xx
Aliases: www.ssll.com has address 192.168.xx.xx
(2)nslookup 域名/IP地址或nslookup 域名 主服務(wù)器IP
使用nslookup 域名進(jìn)行測(cè)試時(shí),需要更改配置文件/etc/resolv.conf,將原本的nameserver地址改為自己配置的主服務(wù)器的地址,使用該服務(wù)器來(lái)進(jìn)行解析,不然就需要每次測(cè)試的時(shí)候再在后面指定主服務(wù)器IP
[root@sulibao ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.xx.xx
~
~
~
~
[root@sulibao ~]# nslookup dhcp.ssll.com
Server: 192.168.xx
Address: 192.168.xx.xx#53Name: dhcp.ssll.com
Address: 192.168.xx.xx
(3)dig 域名/IP地址或dig 域名 主服務(wù)器的IP
[root@sulibao ~]# dig www.ssll.com; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> www.ssll.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17437
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 3d40fb765259182859905d8e63c2bf2121052d8929894483 (good)
;; QUESTION SECTION:
;www.ssll.com. IN A;; ANSWER SECTION:
www.ssll.com. 86400 IN A 192.168.xx.xx;; AUTHORITY SECTION:
ssll.com. 86400 IN NS dns.ssll.com.;; ADDITIONAL SECTION:
dns.ssll.com. 86400 IN A 192.168.xx.xx;; Query time: 1 msec
;; SERVER: 192.168.xx.xx#53(192.168.xx.xx)
;; WHEN: Sat Jan 14 22:41:37 CST 2023
;; MSG SIZE rcvd: 119
4.bind服務(wù)所含文件參數(shù)介紹
[root@sulibao ~]# rpm -ql bind
/etc/logrotate.d/named
/etc/named
/etc/named.conf //bind主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones //定義zone的文件,區(qū)域配置文件
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/rwtab.d/named
/etc/sysconfig/named
/run/named
/usr/bin/arpaname
/usr/bin/named-rrchecker
/usr/lib/python2.7/site-packages/isc
/usr/lib/python2.7/site-packages/isc-2.0-py2.7.egg-info
/usr/lib/python2.7/site-packages/isc/__init__.py
/usr/lib/python2.7/site-packages/isc/__init__.pyc
/usr/lib/python2.7/site-packages/isc/__init__.pyo
/usr/lib/python2.7/site-packages/isc/checkds.py
/usr/lib/python2.7/site-packages/isc/checkds.pyc
/usr/lib/python2.7/site-packages/isc/checkds.pyo
/usr/lib/python2.7/site-packages/isc/coverage.py
/usr/lib/python2.7/site-packages/isc/coverage.pyc
/usr/lib/python2.7/site-packages/isc/coverage.pyo
/usr/lib/python2.7/site-packages/isc/dnskey.py
/usr/lib/python2.7/site-packages/isc/dnskey.pyc
/usr/lib/python2.7/site-packages/isc/dnskey.pyo
/usr/lib/python2.7/site-packages/isc/eventlist.py
/usr/lib/python2.7/site-packages/isc/eventlist.pyc
/usr/lib/python2.7/site-packages/isc/eventlist.pyo
/usr/lib/python2.7/site-packages/isc/keydict.py
/usr/lib/python2.7/site-packages/isc/keydict.pyc
/usr/lib/python2.7/site-packages/isc/keydict.pyo
/usr/lib/python2.7/site-packages/isc/keyevent.py
/usr/lib/python2.7/site-packages/isc/keyevent.pyc
/usr/lib/python2.7/site-packages/isc/keyevent.pyo
/usr/lib/python2.7/site-packages/isc/keymgr.py
/usr/lib/python2.7/site-packages/isc/keymgr.pyc
/usr/lib/python2.7/site-packages/isc/keymgr.pyo
/usr/lib/python2.7/site-packages/isc/keyseries.py
/usr/lib/python2.7/site-packages/isc/keyseries.pyc
/usr/lib/python2.7/site-packages/isc/keyseries.pyo
/usr/lib/python2.7/site-packages/isc/keyzone.py
/usr/lib/python2.7/site-packages/isc/keyzone.pyc
/usr/lib/python2.7/site-packages/isc/keyzone.pyo
/usr/lib/python2.7/site-packages/isc/parsetab.py
/usr/lib/python2.7/site-packages/isc/parsetab.pyc
/usr/lib/python2.7/site-packages/isc/parsetab.pyo
/usr/lib/python2.7/site-packages/isc/policy.py
/usr/lib/python2.7/site-packages/isc/policy.pyc
/usr/lib/python2.7/site-packages/isc/policy.pyo
/usr/lib/python2.7/site-packages/isc/rndc.py
/usr/lib/python2.7/site-packages/isc/rndc.pyc
/usr/lib/python2.7/site-packages/isc/rndc.pyo
/usr/lib/python2.7/site-packages/isc/utils.py
/usr/lib/python2.7/site-packages/isc/utils.pyc
/usr/lib/python2.7/site-packages/isc/utils.pyo
/usr/lib/systemd/system/named-setup-rndc.service
/usr/lib/systemd/system/named.service
/usr/lib/tmpfiles.d/named.conf
/usr/lib64/bind
/usr/libexec/generate-rndc-key.sh
/usr/sbin/ddns-confgen
/usr/sbin/dnssec-checkds
/usr/sbin/dnssec-coverage
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-importkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-keymgr
/usr/sbin/dnssec-revoke
/usr/sbin/dnssec-settime
/usr/sbin/dnssec-signzone
/usr/sbin/dnssec-verify
/usr/sbin/genrandom
/usr/sbin/isc-hmac-fixup
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf //檢測(cè)/etc/named.conf書寫,使用named-checkconf檢查
/usr/sbin/named-checkzone //檢測(cè)zone和對(duì)應(yīng)zone文件的語(yǔ)法named-checkzone 域名 zone文件
/usr/sbin/named-compilezone
/usr/sbin/named-journalprint
/usr/sbin/nsec3hash
/usr/sbin/rndc //遠(yuǎn)程dns管理工具
/usr/sbin/rndc-confgen //生成rndc密鑰
/usr/sbin/tsig-keygen
/usr/share/doc/bind-9.11.4
/usr/share/doc/bind-9.11.4/Bv9ARM.ch01.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch02.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch03.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch04.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch05.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch06.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch07.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch08.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch09.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch10.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch11.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch12.html
/usr/share/doc/bind-9.11.4/Bv9ARM.ch13.html
/usr/share/doc/bind-9.11.4/Bv9ARM.html
/usr/share/doc/bind-9.11.4/Bv9ARM.pdf
/usr/share/doc/bind-9.11.4/CHANGES
/usr/share/doc/bind-9.11.4/README
/usr/share/doc/bind-9.11.4/isc-logo.pdf
/usr/share/doc/bind-9.11.4/man.arpaname.html
/usr/share/doc/bind-9.11.4/man.ddns-confgen.html
/usr/share/doc/bind-9.11.4/man.delv.html
/usr/share/doc/bind-9.11.4/man.dig.html
/usr/share/doc/bind-9.11.4/man.dnssec-checkds.html
/usr/share/doc/bind-9.11.4/man.dnssec-coverage.html
/usr/share/doc/bind-9.11.4/man.dnssec-dsfromkey.html
/usr/share/doc/bind-9.11.4/man.dnssec-importkey.html
/usr/share/doc/bind-9.11.4/man.dnssec-keyfromlabel.html
/usr/share/doc/bind-9.11.4/man.dnssec-keygen.html
/usr/share/doc/bind-9.11.4/man.dnssec-keymgr.html
/usr/share/doc/bind-9.11.4/man.dnssec-revoke.html
/usr/share/doc/bind-9.11.4/man.dnssec-settime.html
/usr/share/doc/bind-9.11.4/man.dnssec-signzone.html
/usr/share/doc/bind-9.11.4/man.dnssec-verify.html
/usr/share/doc/bind-9.11.4/man.dnstap-read.html
/usr/share/doc/bind-9.11.4/man.genrandom.html
/usr/share/doc/bind-9.11.4/man.host.html
/usr/share/doc/bind-9.11.4/man.isc-hmac-fixup.html
/usr/share/doc/bind-9.11.4/man.lwresd.html
/usr/share/doc/bind-9.11.4/man.mdig.html
/usr/share/doc/bind-9.11.4/man.named-checkconf.html
/usr/share/doc/bind-9.11.4/man.named-checkzone.html
/usr/share/doc/bind-9.11.4/man.named-journalprint.html
/usr/share/doc/bind-9.11.4/man.named-nzd2nzf.html
/usr/share/doc/bind-9.11.4/man.named-rrchecker.html
/usr/share/doc/bind-9.11.4/man.named.conf.html
/usr/share/doc/bind-9.11.4/man.named.html
/usr/share/doc/bind-9.11.4/man.nsec3hash.html
/usr/share/doc/bind-9.11.4/man.nslookup.html
/usr/share/doc/bind-9.11.4/man.nsupdate.html
/usr/share/doc/bind-9.11.4/man.pkcs11-destroy.html
/usr/share/doc/bind-9.11.4/man.pkcs11-keygen.html
/usr/share/doc/bind-9.11.4/man.pkcs11-list.html
/usr/share/doc/bind-9.11.4/man.pkcs11-tokens.html
/usr/share/doc/bind-9.11.4/man.rndc-confgen.html
/usr/share/doc/bind-9.11.4/man.rndc.conf.html
/usr/share/doc/bind-9.11.4/man.rndc.html
/usr/share/doc/bind-9.11.4/named.conf.default
/usr/share/doc/bind-9.11.4/notes.html
/usr/share/doc/bind-9.11.4/notes.pdf
/usr/share/doc/bind-9.11.4/sample
/usr/share/doc/bind-9.11.4/sample/etc
/usr/share/doc/bind-9.11.4/sample/etc/named.conf
/usr/share/doc/bind-9.11.4/sample/etc/named.rfc1912.zones
/usr/share/doc/bind-9.11.4/sample/var
/usr/share/doc/bind-9.11.4/sample/var/named
/usr/share/doc/bind-9.11.4/sample/var/named/data
/usr/share/doc/bind-9.11.4/sample/var/named/my.external.zone.db
/usr/share/doc/bind-9.11.4/sample/var/named/my.internal.zone.db
/usr/share/doc/bind-9.11.4/sample/var/named/named.ca
/usr/share/doc/bind-9.11.4/sample/var/named/named.empty
/usr/share/doc/bind-9.11.4/sample/var/named/named.localhost
/usr/share/doc/bind-9.11.4/sample/var/named/named.loopback
/usr/share/doc/bind-9.11.4/sample/var/named/slaves
/usr/share/doc/bind-9.11.4/sample/var/named/slaves/my.ddns.internal.zone.db
/usr/share/doc/bind-9.11.4/sample/var/named/slaves/my.slave.internal.zone.db
/usr/share/man/man1/arpaname.1.gz
/usr/share/man/man1/named-rrchecker.1.gz
/usr/share/man/man5/named.conf.5.gz
/usr/share/man/man5/rndc.conf.5.gz
/usr/share/man/man8/ddns-confgen.8.gz
/usr/share/man/man8/dnssec-checkds.8.gz
/usr/share/man/man8/dnssec-coverage.8.gz
/usr/share/man/man8/dnssec-dsfromkey.8.gz
/usr/share/man/man8/dnssec-importkey.8.gz
/usr/share/man/man8/dnssec-keyfromlabel.8.gz
/usr/share/man/man8/dnssec-keygen.8.gz
/usr/share/man/man8/dnssec-keymgr.8.gz
/usr/share/man/man8/dnssec-revoke.8.gz
/usr/share/man/man8/dnssec-settime.8.gz
/usr/share/man/man8/dnssec-signzone.8.gz
/usr/share/man/man8/dnssec-verify.8.gz
/usr/share/man/man8/genrandom.8.gz
/usr/share/man/man8/isc-hmac-fixup.8.gz
/usr/share/man/man8/lwresd.8.gz
/usr/share/man/man8/named-checkconf.8.gz
/usr/share/man/man8/named-checkzone.8.gz
/usr/share/man/man8/named-compilezone.8.gz
/usr/share/man/man8/named-journalprint.8.gz
/usr/share/man/man8/named.8.gz
/usr/share/man/man8/nsec3hash.8.gz
/usr/share/man/man8/rndc-confgen.8.gz
/usr/share/man/man8/rndc.8.gz
/usr/share/man/man8/tsig-keygen.8.gz
/var/log/named.log
/var/named
/var/named/data
/var/named/dynamic
/var/named/named.ca //根解析庫(kù)
/var/named/named.empty
/var/named/named.localhost //本地主機(jī)解析庫(kù)
/var/named/named.loopback
/var/named/slaves //從服務(wù)器文件夾,配置主從服務(wù)器同步時(shí)可以用來(lái)存放從主服務(wù)器同步過(guò)來(lái)的文件
四.使用bind(named)服務(wù)配置正向解析
以ssll.com做演示,當(dāng)前虛擬機(jī)1(192.168.2.160)作為是主服務(wù)器。
1.下載bind服務(wù)并開(kāi)啟
[root@sulibao ~]# yum install -y bind
[root@sulibao ~]# systemctl start named
[root@sulibao ~]# systemctl enable named
2.制定配置計(jì)劃
www.xx.com——分配一個(gè)真實(shí)ip
dns.xx.com——分配一個(gè)真實(shí)ip
dhcp.xx.com——可以選擇分配虛擬地址
nfs.xx.com——可以選擇分配虛擬地址
ntp.xx.com——可以選擇分配虛擬地址
3.修改主配置文件/etc/named.conf?
(1)修改監(jiān)聽(tīng)的服務(wù)器的地址為真實(shí)地址
[root@sulibao ~]# vim /etc/named.conf
listen-on port 53 { 192.168.2.160; };
allow-query { 192.168.2.0/24; };
(2)配置區(qū)域文件,我們是手動(dòng)創(chuàng)建區(qū)域文件所以需要并注釋掉最后的其他配置文件
zone "ssll.com" IN { type master; //master指的是服務(wù)器主區(qū)域file "ssll.zone";
};
#include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";
4.配置數(shù)據(jù)配置文件/var/named/
(1)在/var/named/下vim一個(gè)“.zone”結(jié)尾的區(qū)域文件
[root@sulibao ~]# vim /var/named/ssll.zone
(2) 目前里面內(nèi)容為空,格式有點(diǎn)不好把控,可以使用cp命令去將本地?cái)?shù)據(jù)配置文件拷貝到本文件
[root@sulibao ~]# cd /var/named/
[root@sulibao named]# ll
total 20
drwxrwx--- 2 named named 23 Jan 14 14:28 data
drwxrwx--- 2 named named 31 Jan 14 14:44 dynamic
-rw-r----- 1 root named 2253 Apr 5 2018 named.ca
-rw-r----- 1 root named 152 Dec 15 2009 named.empty
-rw-r----- 1 root named 152 Jun 21 2007 named.localhost
-rw-r----- 1 root named 168 Dec 15 2009 named.loopback
drwxrwx--- 2 named named 6 Oct 4 15:06 slaves
-rw-r--r-- 1 root root 879 Jan 14 14:32 ssll.zone
[root@sulibao named]# cp -a named.localhost ssll.zone //-a可以將組合權(quán)限等一起復(fù)制
$TTL 1D
@ IN SOA @ rname.invalid. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS @A 127.0.0.1AAAA ::1
(3) 進(jìn)行配置
$TTL 1D
@ IN SOA dns.ssll.com. test.163.com ( 0 1D 1H 1W 3H ) IN NS dns.ssll.com.IN MX 10 mail.ssll.com.
dns.ssll.com. IN A 192.168.2.160
mail.ssll.com. IN A 192.168.2.161
www.ssll.com. IN A 192.168.2.160
dnss IN CNAME dns
#CNAME別名,訪問(wèn)dns.ssll.com時(shí),允許將dns替換為dnss?
ftp IN A 192.168.xx.xx
dhcp IN A 192.168.xx.xx
ntp IN A 192.168.xx.xx
$TTL 1D表示緩存時(shí)間為一天
@表示代替域名充當(dāng)占位符(區(qū)域文件)
IN:表示互聯(lián)網(wǎng)
SOA:表示開(kāi)始權(quán)限記錄
dns.ssll.com處寫主域名服務(wù)器名稱
NS表示記錄域名記錄,由哪一臺(tái)主機(jī)服務(wù)器去解析當(dāng)前所定義的域主機(jī)
test.163.com處寫區(qū)域文件管理員的郵件地址,“@”用“.”代替
MX表示郵件交換記錄,后面寫數(shù)字和接收郵件的服務(wù)器主機(jī)名字(10數(shù)字表示優(yōu)先級(jí),范圍0-50,越小優(yōu)先級(jí)越高)
括號(hào)內(nèi)參數(shù):0 表示serial——更新序列號(hào),標(biāo)記新舊程度 ?
??????????????????????1D? 表示refresh——刷新時(shí)間
??????????????????????1H 表示retry ——重試時(shí)間,連接不上時(shí)多長(zhǎng)時(shí)間重試一次
??????????????????????1W 表示expire——失效時(shí)間,如果一直重連接不上,多長(zhǎng)時(shí)間后就不再連接
? ? ? ? ? ? ? ? ? ? ? ?3H 表示minimum——無(wú)效解析記錄的緩存時(shí)間
CNAME別名,訪問(wèn)dns.ssll.com時(shí),允許將dns替換為dnss
5.檢查主配置文件和數(shù)據(jù)配置文件格式并重啟named服務(wù),啟動(dòng)沒(méi)有報(bào)錯(cuò)再進(jìn)行測(cè)試
[root@sulibao ~]# named-checkconf /etc/named.conf
[root@sulibao ~]# named-checkzone ssll.com /var/named/ssll.zone
zone ssll.com/IN: loaded serial 0
OK
[root@sulibao ~]# systemctl restart httpd
[root@sulibao ~]# systemctl restart named
6.進(jìn)行測(cè)試
(1)Linux上測(cè)試,另外開(kāi)一臺(tái)虛擬機(jī)使用host,dig,nslookup(前文已經(jīng)介紹)、ping命令進(jìn)行測(cè)試,同時(shí)也可以試試像mail.ssll.com,dns.ssll.com,dhcp.ssll.com?等域名看看是否能通
[root@sulibao ~]# nslookup www.ssll.com
Server: 192.168.2.160
Address: 192.168.2.160#53
//這里出現(xiàn)在主配置文件設(shè)置的監(jiān)聽(tīng)地址端口就可視為而成功了Name: www.ssll.com
Address: 192.168.2.160[root@sulibao ~]# nslookup mail.ssll.com
Server: 192.168.2.161
Address: 192.168.2.161#53Name: mail.ssll.com
Address: 192.168.2.161[root@sulibao ~]# nslookup dns.ssll.com
Server: 192.168.2.160
Address: 192.168.2.160#53Name: dns.ssll.com
Address: 192.168.2.160[root@sulibao ~]# nslookup ftp.ssll.com
Server: 192.168.xx.xx
Address: 192.168.xx.xx#53Name: ftp.ssll.com
Address: 192.168.xx.xx[root@sulibao ~]# nslookup ntp.ssll.com
Server: 192.168.xx.xx
Address: 192.168.xx.xx#53Name: ntp.ssll.com
Address: 192.168.xx.xx[root@sulibao ~]# nslookup dhcp.ssll.com
Server: 192.168.xx.xx
Address: 192.168.xx.xx#53Name: dhcp.ssll.com
Address: 192.168.xx.xx
如果此處測(cè)試不成功,并且排除了配置文件的錯(cuò)誤,可以試試在網(wǎng)絡(luò)設(shè)置里將你虛擬機(jī)的 VMnet8網(wǎng)卡的ipv4dns服務(wù)設(shè)置為手動(dòng)并指定為你dns服務(wù)器的ip地址
(2)windows上ping域名
為域名放行將ip 和域名的映射關(guān)系寫入hosts文件。
windows powershell——管理員身份運(yùn)行
Windows PowerShell
版權(quán)所有(C) Microsoft Corporation。保留所有權(quán)利。安裝最新的 PowerShell,了解新功能和改進(jìn)!https://aka.ms/PSWindowsPS C:\WINDOWS\system32> cd .\drivers\etc\
PS C:\WINDOWS\system32\drivers\etc> ls目錄: C:\WINDOWS\system32\drivers\etcMode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/1/13 13:52 873 hosts
-a---- 2022/5/7 13:22 3683 lmhosts.sam
-a---- 2022/5/12 12:16 407 networks
-a---- 2022/5/12 12:16 1358 protocol
-a---- 2022/5/12 12:16 17635 servicesPS C:\WINDOWS\system32\drivers\etc> notepad .\hosts
PS C:\WINDOWS\system32\drivers\etc>
?
也可以到瀏覽器中使用域名訪問(wèn)之前的文章中配置的內(nèi)容
五.使用bind(named)服務(wù)配置反向解析
在第四節(jié)的基礎(chǔ)上進(jìn)行
以ssll.com做演示,當(dāng)前虛擬機(jī)1作為是主服務(wù)器。
1.修改主配置文件/etc/named.conf?
只需要在區(qū)域文件書寫處新添加區(qū)域文件即可
[root@sulibao ~]# vim /etc/named.conf
zone "2.168.192.in-addr.arpa" IN {
//倒著寫你服務(wù)器ip所在網(wǎng)段,最后一位0可以省略,后綴需要加上.in-addr-arpatype master;file "2.168.192.zone";
};
2.修改數(shù)據(jù)配置文件
在/var/named/目錄下vim一個(gè)2.168.192.zone 文件
PRT表示反向解析
[root@sulibao ~]# vim /var/named/2.168.192.zone
//基本格式和正向解析相同
$TTL 1D
@ IN SOA dns.ssll.com. test.163.com (01D1H1W 3H )IN NS dns.ssll.com.//將域名與IP指向反過(guò)來(lái)書寫,這里的因?yàn)槎紝儆谑峭痪W(wǎng)段只需要寫末尾一位
160 IN PTR dns.ssll.com
161 IN PTR mail.ssll.com
160 IN PTR www.ssll.com
xx IN PTR ftp
xx IN PTR dhcp
xx IN PTR ntp
3.檢查書寫并重啟服務(wù)
[root@sulibao ~]# named-checkconf /etc/named.conf
[root@sulibao ~]# named-checkzone 2.168.192 /var/named/2.168.192.zone
zone 2.168.192/IN: loaded serial 0
OK
[root@sulibao ~]# systemctl restart named
4.測(cè)試
nslookup 被解析的ip? (主服務(wù)服務(wù)器ip)
[root@localhost named]# nslookup 192.168.2.10
** server can't find 10.2.168.192.in-addr.arpa: NXDOMAIN[root@localhost named]# nslookup 192.168.2.160
160.2.168.192.in-addr.arpa name = dns.ssll.com.2.168.192.in-addr.arpa.
六.實(shí)現(xiàn)DNS主從服務(wù)器同步(完全/增量區(qū)域傳送)
1.復(fù)制(同步)整個(gè)區(qū)域的文件叫完全區(qū)域傳送
除開(kāi)上文用到的虛擬機(jī)1重新開(kāi)一臺(tái)虛擬機(jī)2(192.168.2.170),虛擬機(jī)1作為主服務(wù)器,虛擬機(jī)2作為從服務(wù)器。保證網(wǎng)卡連接可用,selinux和防火墻關(guān)閉,下載并啟動(dòng)bind服務(wù)。
2.主從配置演示
(1)配置主服務(wù)器(虛擬機(jī)1)的主配置文件/etc/named.conf
[root@sulibao ~]# vim /etc/named.conf
allow-query { 192.168.2.0/24; }; //找到這一行,在下面添加一行
allow-transfer { 192.168.2.0/24; }; //網(wǎng)段相同,屬于區(qū)域傳送內(nèi)容
保存退出,可以檢查一下書寫
(2)配置從服務(wù)器(虛擬機(jī)2)的主配置文件/etc/named.conf
將監(jiān)聽(tīng)處改為自己的本機(jī)IP
listen-on port 53 { 192.168.2.170; };
寫區(qū)域文件將類型指定為slave從服務(wù)器類型,再指定從哪臺(tái)服務(wù)器同步,寫上服務(wù)器ip地址,將同步的區(qū)域文件放在/var/named下的slavles文件夾中
zone "ssll.com" IN {type slave; //slave指的是從服務(wù)器區(qū)域,也叫輔助區(qū)域masters { 192.168.2.160; }; #指定同步的主機(jī)file "slaves/ssll.zone"; //名稱指定是主服務(wù)器的.zone文件,會(huì)自動(dòng)在/var/named/slaves下生成
};
[root@sulibao ~]# cd /var/named/slaves/
[root@sulibao slaves]# ll
total 4
-rw-r--r-- 1 named named 500 Jan 14 20:04 ssll.zone
(3)檢查書寫并重啟服務(wù)
[root@sulibao ~]# named-checkconf /etc/named.conf
[root@sulibao ~]# systemctl restart named
(4)測(cè)試,這里只能解析你主服務(wù)器上配置了的域名,主服務(wù)器上配置了反向解析,從服務(wù)器同步過(guò)來(lái)也可以解析配置了的ip
[root@SLB slaves]# tail -1 /etc/resolv.conf
nameserver 192.168.2.170
[root@SLB slaves]# nslookup www.ssll.com
Server: 192.168.2.170
Address: 192.168.2.170#53Name: www.ssll.com
Address: 192.168.2.160[root@SLB slaves]# nslookup mail.ssll.com
Server: 192.168.2.170
Address: 192.168.2.170#53Name: mail.ssll.com
Address: 192.168.2.161
3.增量區(qū)域傳送簡(jiǎn)介
只復(fù)制(同步)區(qū)域的變化的文件叫增量區(qū)域傳送,配置主從dns服務(wù)器時(shí)如果更改了主服務(wù)器配置文件的新舊程度值,需要在主服務(wù)器的數(shù)據(jù)配置文件中作修改,才能在從服務(wù)器同步文件時(shí)間。
主配置文件的/var/named/下的ssll.zone文件
注意:修改了0,從服務(wù)器對(duì)文件作比較后,只同步更新的時(shí)間不同步更舊的時(shí)間(即序號(hào)比原序號(hào)大才能同步)。
七.實(shí)現(xiàn)批量域名解析(正/反向解析)
基于前文已經(jīng)配置了正反向解析的前提下再進(jìn)行配置批量解析
1.正向解析
(1)在你前面配置正向解析的區(qū)域文件中進(jìn)行更改內(nèi)容
/var/named/ssll.zone?
[root@sulibao ~]# vim /var/named/ssll.zone
在最后一行加上這行,以批量解析10-15為例,你也可以寫成你配置的各個(gè)域名對(duì)應(yīng)的地址范圍
$GENERATE 10-15 $.ssll.com. IN A 192.168.2.$這個(gè)$符就表示替換你前面寫的值,后面的$同理
(2)檢查書寫后重啟服務(wù)
[root@sulibao ~]# named-checkzone ssll.com /var/named/ssll.zone
zone ssll.com/IN: loaded serial 0
OK
[root@sulibao ~]# systemctl restart named
(3)測(cè)試
[root@sulibao ~]# nslookup www.ssll.com
Server: 192.168.xx.xx
Address: 192.168.xx.xx#53Name: www.ssll.com
Address: 192.168.xx.xx[root@sulibao ~]# nslookup 10.ssll.com
Server: 192.168.xx
Address: 192.168.xx.xx#53Name: 10.ssll.com
Address: 192.168.2.10[root@sulibao ~]# nslookup 13.ssll.com
Server: 192.168.2.xx
Address: 192.168.2.xx#53Name: 13.ssll.com
Address: 192.168.2.13
2.反向解析
(1)在你前面配置反向解析的區(qū)域文件中進(jìn)行更改內(nèi)容
/var/named/2.168.192.zone
[root@sulibao ~]# vim /var/named/2.168.192.zone
在最后一行加上這行,以批量解析10-15為例,你也寫成你配置的各個(gè)域名對(duì)應(yīng)的地址范圍
$GENERATE 10-15 $ IN PTR $.ssll.com
(2)檢查書寫后重啟服務(wù)
[root@sulibao ~]# named-checkzone 2.168.192 /var/named/2.168.192.zone
zone 2.168.192/IN: loaded serial 0
OK
[root@sulibao ~]# systemctl restart named
(3)測(cè)試
[root@sulibao ~]# nslookup 192.168.xx.xx
xx.2.168.192.in-addr.arpa name = dns.ssll.com.[root@sulibao ~]# nslookup 192.168.2.10
10.2.168.192.in-addr.arpa name = 10.ssll.com.2.168.192.in-addr.arpa.[root@sulibao ~]# nslookup 192.168.2.15
15.2.168.192.in-addr.arpa name = 15.ssll.com.2.168.192.in-addr.arpa.