DNS服務原理詳解
DNS:Domain Name Service 域名解析服務
?因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析。
我們在訪問一個網站的時候,只要輸入該網站的網址就會跳轉到該網站頁面,而實現這一過程就需要DNS服務器將域名解析為IP地址,進而實現數據通信。
監聽端口:? udp/53,tcp/53
應用程序:? BIND? ? ? ? (Bekerley Internat Name Domain 國際域名)
一、DNS域名
根域
一級域名:Top Level Domain:? ? ??com, edu, mil, gov, net, org, int,arpa
組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv
國家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa
最多127級域名
ICANN(The Internet Corporation for Assigned Names and Numbers)互聯網名稱與數字地址分配機構,負責在全球范圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系統的管理、以及根服務器系統的管理
DNS域名結構
二、DNS查詢類型:
遞歸查詢? ? ?客戶端向小區DNS服務器查詢,負責到底,返回總結果
迭代查詢? ? ?根域? -> 二級域? -> 三級域… 一級一級的反饋,負責部分,返回部分結果 ??
名稱服務器:域內負責解析本域內的名稱的主機
根服務器:13組服務器????10在美國,主根在美國
解析類型:
FQDN –> IP? ? ? ? ? FQDN完整主機名
IP –> FQDN
注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹
補充:上級DNS服務器有下級的DNS服務器地址,下級沒有上級的地址;
新增ipv6 25組DNS服務器,中國有1主3輔。
三、DNS服務器類型:
主DNS服務器
從DNS服務器? ? ??多個??容錯能力
緩存DNS服務器(轉發器)
主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
從DNS服務器:從主服務器或從服務器“復制”(區域傳輸)解析庫副本
序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增
刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
過期時長:從服務器聯系不到主服務器時,多久后停止服務
否定答案的緩存時長
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器
區域傳輸:
完全傳輸:傳送整個解析庫
增量傳輸:傳遞解析庫變化的那部分內容
Domain: Fully Qualified Domain Name
正向:FQDN –> IP
反向: IP –> FQDN
負責本地域名的正向和反向解析庫
正向區域
反向區域
四、DNS解析
一次完整的查詢請求經過的流程:
Client –>hosts文件 –>DNS Service Local Cache –> DNS Server(recursion) –> Server Cache –> iteration(迭代) –> 根–> 頂級域名DNS–>二級域名DNS…
解析答案:
肯定答案:
否定答案:請求的條目不存在等原因導致無法返回結果
權威答案:aa? ? 表示是自身知道的結果,不是問來的,如下圖
非權威答案:
五、資源記錄
區域解析庫:由眾多RR組成:
資源記錄:Resource Record, RR
記錄類型:SOA, A, AAAA, PTR, NS, CNAME, MX…
SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位于解析庫的第一條記錄
A:internet Address,作用,FQDN –> IPv4
AAAA: FQDN –> IPv6
PTR: PoinTeR,IP –> FQDN
NS: Name Server,專用于標明當前區域的DNS服務器,(包括總數,主,從)
CNAME:Canonical Name,別名記錄??大部分網站www都是別名
MX: Mail eXchanger,郵件交換器
?
資源記錄
資源記錄定義的格式:
語法:name??[TTL]??IN????rr_type(上述幾種資源記錄)????value(有多個)
注意:
(1)?TTL可從全局繼承,默認秒單位?沒有明確聲明TTL時默認用公用
(2)?@可用于引用當前區域的名字???例magedu.com
(3) 同一個名字可以通過多條記錄定義多個不同的值,此時DNS服務器會以輪詢方式響應???可以分流,均衡負載
(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;此僅表示通過多個不同的名字可以找到同一個主機
SOA記錄
name: 當前區域的名字,例如“magedu.com.”注意:最后有點
value: 有多部分組成
(1) 當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字;名字隨便寫,跟下文對應即可
(2) 當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換,例如linuxedu.magedu.com
(3) 主從服務區域傳輸相關定義以及否定的答案的統一的TTL
序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增?手動更改
刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
過期時長:從服務器聯系不到主服務器時,多久后停止服務
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器
?
例如:
magedu.com. 86400 IN SOA??ns.magedu.com. ?nsadmin.magedu.com.
(
2015042201 ;序列號(大小有限,手動更改后從DNS服務器才會識別,更新改變)
2H ;刷新時間
10M ;重試時間
1W ;過期時間
1D ;否定答案的TTL值
)
?
注:下一行的記錄可以繼承上一行的記錄
rndc reload 重新讀取配置文件
NS記錄
name: 當前區域的名字
value: 當前區域的某DNS服務器的名字,例如ns.magedu.com.
注意:一個區域可以有多個NS記錄
例如:
magedu.com. ?IN ?NS ns1.magedu.com.
magedu.com. ?IN ?NS ns2.magedu.com.
注意:
(1) 相鄰的兩個資源記錄的name相同時,后續的可省略?(2) 對NS記錄而言,任何一個ns記錄后面的服務器名字,都應該在后續有一個A記錄
?
MX記錄
name: 當前區域的名字
value: 當前區域的某郵件服務器(smtp服務器)的主機名
一個區域內,MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此服務器的優先級;數字越小優先級越高
例如:
magedu.com. ?IN ?MX ?10 mx1.magedu.com.
IN ?MX ??20 ?mx2.magedu.com.
注意:
(1) 對MX記錄而言,任何一個MX記錄后面的服務器名字,都應該在后續有一個A記錄
dig -t mx magedu.com 查詢指定域的郵件服務器。。然后可以冒充發郵件。。。
A記錄
name: 某主機的FQDN,例如www.magedu.com.
value: 主機名對應主機的IP地址
例如:
www.magedu.com. ??????IN ??A ??1.1.1.1
www.magedu.com.???????IN ??A???2.2.2.2
mx1.magedu.com.????????IN ??A???3.3.3.3??郵件服務器的聲明
magedu.com. ????????????IN ?A ??6.6.6.6
$GENERATE 1-254 HOST$ ??????A ???1.2.3.$
表示從host1 對應1.2.3.1一直到 host254 對應 1.2.3.254
*.magedu.com.???????????IN ??A???5.5.5.5
避免用戶寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址
?
其它記錄
AAAA:
name: FQDN
value: IPv6
PTR:
name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;而有特定后綴:in-addr.arpa.,所以完整寫法為:4.3.2.1.in-addr.arpa.
value: FQDN
例如:
4.3.2.1.in-addr.arpa.???IN ??PTR???www.magedu.com.
如1.2.3為網絡地址,可簡寫成:
4??IN??PTR ??www.magedu.com.
注意:網絡地址及后綴可省略;主機地址依然需要反著寫
?
別名記錄
CNAME:
name: 別名的FQDN
value: 真正名字的FQDN
例如:
www.magedu.com.???IN ??CNAME???websrv.magedu.com.
?
?
六、子域
子域授權:每個域的名稱服務器,都是通過其上級名稱服務器在解析庫進行授權
類似根域授權tld:
.com. ?????IN ???NS ??ns1.com.
ns1.com.???IN ???A????2.2.2.1
magedu.com. 在.com的名稱服務器上,解析庫中添加資源記錄
@ ????????????IN? NS? ns1.magedu.com.
ns1??????????????A??3.3.3.1
glue record:粘合記錄,父域授權子域的記錄
七、互聯網域名
域名注冊:
代理商:萬網, 新網, godaddy
注冊完成以后,想自己用專用服務來解析
管理后臺:把NS記錄指向的服務器名稱,和A記錄指向的服務器地址
?
八、BIND安裝
BIND的安裝配置:
dns服務程序包:bind,unbound
程序名:named,unbound
程序包:yum list all bind*
bind:服務器
bind-libs:相關庫
bind-utils:客戶端
bind-chroot: /var/named/chroot/
?
bind服務器
服務的腳本和名稱:
/etc/rc.d/init.d/named???/usr/lib/systemd/system/named.service
主配置文件:修改前先備份,注意:cp -a 保留所有屬性?。?!
/etc/named.conf,?/etc/named.rfc1912.zones,請求注解,每個互聯網的技術文檔都有國際標準?/etc/rndc.key
解析庫文件:
/var/named/ZONE_NAME.ZONE
注意:
(1) 一臺物理服務器可同時為多個區域提供解析
(2) 必須要有根區域文件;?/var/named/name.ca
(3) 應該有兩個(如果包括ipv6的,應該更多)實現localhost和本地回環地址的解析庫
rndc: remote name domain controller,默認與bind安裝在同一主機,且只能通過127.0.0.1連接named進程提供輔助性的管理功能;53/tcp
補充:配置文件中 ??????????????????或
? ? ? ? ? ? /* ??開始 ?????????????????/* ??一行注釋 ?????*/
? ? ? ? ? 多行注釋
? ? ? ? ? ? */ ??結束
配置文件
主配置文件:
全局配置:options {};
日志子系統配置:logging {};
區域定義:本機能夠為哪些zone進行解析,就要定義哪些zone
zone “ZONE_NAME” IN {};
注意:任何服務程序如果期望其能夠通過網絡被其它主機訪問,至少應該監聽在一個能與外部主機通信的IP地址上
緩存名稱服務器的配置:
監聽外部地址即可
dnssec: 建議關閉dnssec,設為no
第一行和最后一行要修改: 或者直接用//注釋掉
九、配置主DNS服務器
主DNS名稱服務器:
在主配置文件中定義區域
? ? ? ? ? ? ? ? ? ? (建議放/etc/named.rfc1912.zones文件,專門放區域設置的文件)
zone “ZONE_NAME” IN {
type {master|slave|hint|forward};
file “ZONE_NAME.zone”;
};
(2) 定義區域解析庫文件??????/var/named/ZONE_NAME.ZONE
出現的內容? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 有例子named.localhost 復制修改
宏定義
資源記錄
主配置文件語法檢查:
named-checkconf
解析庫文件語法檢查:
named-checkzone?“magedu.com” /var/named/magedu.com.zone
rndc status|reload ;service named reload? ?重新讀取配置文件
?
主區域示例
$TTL 86400
$ORIGIN magedu.com.
@???????IN ???SOA????ns1.magedu.com. ?admin.magedu.com (
2015042201
1H
5M
7D
1D )
IN????? ? ? ? ? ? ? ? ? ????NS??? ? ? ? ? ? ? ? ? ?????ns1
IN ???? ? ? ? ? ? ? ? ? ????NS????? ? ? ? ? ? ? ? ? ???ns2
IN ?? ? ? ? ? ? ? ? ? ??????MX? ? ? ? ? ? ? ? ? ? ? 10???mx1
IN ?????? ? ? ? ? ? ? ? ? ??MX? ? ? ? ? ? ? ? ? ? ? 20???mx2
ns1? ? ? ? ? ? ?IN? ? ? ? ? ? ? ? ? ? ? ? ? ?A ?????? ? ? ? ? ? ? ? ? ?172.16.100.11
ns2? ? ? ? ? ? ?IN? ? ? ? ? ? ? ? ? ? ? ? ? ?A????? ? ? ? ? ? ? ? ? ???172.16.100.12
mx1? ? ? ? ? ? IN ????? ? ? ? ? ? ? ? ? ? ? A ?????? ? ? ? ? ? ? ? ? ?172.16.100.13
mx2? ? ? ? ? ? IN ????? ? ? ? ? ? ? ? ? ? ? A????? ? ? ? ? ? ? ? ? ???172.16.100.14
websrv? ? ? ? IN ? ? ? ? ? ? ? ? ? ???????A?????? ? ? ? ? ? ? ? ? ??172.16.100.11
websrv? ? ? ? IN? ?? ? ? ? ? ? ? ? ? ? ? ?A???? ? ? ? ? ? ? ? ? ????172.16.100.12
www? ? ? ? ? ? IN ?? ? ? ? ? ? ? ? ? ??????CNAME ?? ? ? ? ? ? ? ? ? ??websrv
十、測試命令
測試命令dig
?dig [-t type] name [@SERVER] [query options]
dig只用于測試dns系統,不會查詢hosts文件進行解析
查詢選項:
+[no]trace:跟蹤解析過程 : dig +trace magedu.com
+[no]recurse:進行遞歸解析
測試反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa
模擬區域傳送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr magedu.com @10.10.10.11
dig -t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net
?
?
測試命令??host
host [-t type] name [SERVER]
host -t NS magedu.com 172.16.0.1
host -t soa magedu.com
host -t mx magedu.com
host -t axfr magedu.com
host 1.2.3.4
測試命令??nslookup
nslookup命令: nslookup [-option] [name | -] [server]
交互式模式:
nslookup>
server IP: 指明使用哪個DNS server進行查詢
set q=RR_TYPE: 指明查詢的資源記錄類型
NAME: 要查詢的名稱
十一、反向區域??
必須建立,否則后期會影響某些測試,某些郵件服務嚴重依賴反向區域
區域名稱:網絡地址反寫.in-addr.arpa.???最后點可以省略
172.16.100. –> 100.16.172.in-addr.arpa.?????arpa? ?互聯網最早名稱
(1) 定義區域
zone “ZONE_NAME” IN {
type {master|slave|forward};
file “網絡地址.zone”
};
(2) 定義區域解析庫文件
注意:不需要MX,以PTR記錄為主
反向區域示例
$TTL 86400
$ORIGIN 100.16.172.in-addr.arpa.
@ IN SOA??ns1.magedu.com. admin.magedu.com. (?2015042201??1H??5M??7D??1D )
IN ?NS? ? ? ? ?ns1.magedu.com.
IN??NS? ? ? ? ???ns2.magedu.com.
11 ? ? ? ?PTR?? ? ? ? ??ns1.magedu.com.
11 ? ? ? ?PTR? ? ? ? ???www.magedu.com.
12 ? ? ??PTR? ? ? ? ???mx1.magedu.com.
12 ? ? ? ?PTR? ? ? ? ? www.magedu.com.
13 ? ? ??PTR?? ? ? ? ??mx2.magedu.com.
?
十二、允許動態更新???
會自動更新SOA的序列號,方便從服務器同步
?
1、修改區域文件,指定的zone語句塊中:Allow-update {any;};??any可以換成指定IP
2、chmod 770 /var/named
setsebool -P named_write_master_zones on
3、nsupdate
>server 127.0.0.1
>zone magedu.com
>update add ftp.magedu.com 88888 IN A 8.8.8.8
>send
>update delete www.magedu.com A
>send
測試:dig ftp.magedu.com @127.0.0.1
ll /var/named/magedu.com.zone.jnl??生成新文件,稍后同步到文件中去,不可讀
命令可打開此文件,如下:
cat /var/named/magedu.com.zone
動態刪除:如下
?
?
?
十三、從服務器
?
1、應該為一臺獨立的名稱服務器
2、主服務器的區域解析庫文件中必須有一條NS記錄指向從服務器
3、從服務器只需要定義區域,而無須提供解析庫文件;解析庫文件應該放置于/var/named/slaves/目錄中
4、主服務器得允許從服務器作區域傳送
5、主從服務器時間應該同步,可通過ntp進行;
6、bind程序的版本應該保持一致;否則,應該從高,主低
定義從區域的方法:
zone “ZONE_NAME” IN {
type slave;
masters { MASTER_IP; };
file “slaves/ZONE_NAME.zone”;
};
十四、rndc命令
rndc:
rndc –> rndc (953/tcp)
rndc COMMAND
?COMMAND:
reload?????????????重載主配置文件和區域解析庫文件
reload zonename?????重載區域解析庫文件
retransfer zonename??手動啟動區域傳送,而不管序列號是否增加
notify zonenam??????重新對區域傳送發通知
reconfig????????????重載主配置文件
querylog????????開啟或關閉查詢日志文件/var/log/message,一般排錯用
status ?????????????查看級別
trace???????????????遞增debug一個級別,越高越詳細
trace LEVEL??????????指定使用的級別
notrace?????????????將調試級別設置為 0
flush???????????????清空DNS服務器的所有緩存記錄
十五、子域
子域授權:分布式數據庫
正向解析區域子域方法
定義一個子區域:
ops.magedu.com.? ? ? ? ? ?IN???NS ??ns1.ops.magedu.com.
ns1.ops.magedu.com.? ? IN? ? A?????1.1.1.1
fin.magedu.com.? ? ? ? ? ? ?IN ??NS????ns1.fin.magedu.com.
ns1.fin.magedu.com.? ? ? IN? ? A?????3.1.1.1
注意:在/etc/named.conf文件中 關閉dnssec功能:
dnssec-enable no;
dnssec-validation no;
補充:
子域
方法一:直接修改主服務器的資源記錄
方法二:在主服務器上
1、更改區域配置文件
- 建兩個文件/var/named/NAME,修改A記錄即可
方法三:子域授權:
?
十六、轉發服務器
注意:被轉發的服務器需要能夠為請求者做遞歸,否則轉發請求不予進行
(1) 全局轉發: 對非本機所負責解析區域的請求,全轉發給指定的服務器
Options {
forward first|only;??先轉到目標服務器,如果不通再去根 | 只去目標,不行就失敗
forwarders { ip;};
};
(2) 特定區域轉發:僅轉發對特定的區域的請求,比全局轉發優先級高
zone “ZONE_NAME” IN {
type forward;
forward first|only;
forwarders { ip;};
};
注意:在主配置文件中
關閉dnssec功能:
dnssec-enable no;
dnssec-validation no;
?
開啟recursion功能:
?
?
?
十七、bind中ACL
bind中基礎的安全相關的配置:
acl: 把一個或多個地址歸并為一個集合,并通過一個統一的名稱調用
格式:
acl acl_name {
ip;
net/prelen;
……
};
示例:
acl mynet {
172.16.0.0/16;
10.10.10.10;
};
bind有四個內置的acl:
none??沒有一個主機
any????任意主機
localhost???本機
localnet???本機的IP同掩碼運算后得到的網絡地址
注意:只能先定義,后使用;因此一般定義在配置文件中,處于options的前面
?
訪問控制
訪問控制的指令:
allow-query {}: 允許查詢的主機;白名單
allow-transfer {}:允許區域傳送的主機;白名單
allow-recursion {}: 允許遞歸的主機,建議全局使用
allow-update {}: 允許更新區域數據庫中的內容
?
?
?
?
十八、智能DNS
??不同地區訪問,DNS服務器會分配相應地區的地址
實現智能DNS
上海172.20、北京192.168兩個訪問 :
1、判斷地區,網上有地區地址段
2、準備兩份相應的區域數據庫,
3、各地IP ?分配 ?各地相應DNS解析
1、修改主配置文件
注意:匹配順序:從上到下,點到即止
2、準備三個區域數據庫
3、把主配置文件倒數第二塊 移到 區域配置文件中,放首部塊
4、在主配置文件尾部編輯view,兩種語法,如下:
5、cp -a 區域配置文件 ,改內容如下
6、主配置文件語法檢查:
named-checkconf
?
?
CDN內容分發網絡
十九、bind view
CDN: Content Delivery Network內容分發網絡
服務商:藍汛,網宿,帝聯等
智能DNS:
dnspod
dns.la
view:視圖:實現智能DNS:
一個bind服務器可定義多個view,每個view中可定義一個或多個zone
每個view用來匹配一組客戶端
多個view內可能需要對同一個區域進行解析,但使用不同的區域解析庫文件
?
注意:
(1) 一旦啟用了view,所有的zone都只能定義在view中
(2) 僅在允許遞歸請求的客戶端所在view中定義根區域
(3) 客戶端請求到達時,是自上而下檢查每個view所服務的客戶端列表
格式:
view VIEW_NAME {
match-clients { testacl; };
zone “magedu.com” {
type master;
file “magedu.com.zone”;
};
include “/etc/named.rfc1912.zones”;
};
?
二十、編譯安裝bind???了解
1、下載bind:
isc.org:
bind-9.10
bind-9.11
bind-10
tar xvf bind-9.11.0a3.tar.gz
cd bind-9.11.0a3/
groupadd -r -g 53 named
useradd -r -u 53 -g 53 named??如下:新建用戶指定家目錄
?
./configure –prefix=/usr/local/bind9?–sysconfdir=/etc/named/ –without-openssl?–disable-ipv6 –disable-chroot –enable-threads
make?-j 4 ?&& ?make install
2、環境變量:
vim /etc/profile.d/named.sh
export PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin/:$PATH
3、庫和頭文件
vim /etc/ld.so.conf.d/named.conf
/usr/local/bind9/lib
ldconfig –v
ls -sv /usr/local/bind9/include /usr/include/named
4、man幫助
vim /etc/man.config | /etc/man_db.conf
MANPATH /usr/local/bind9/share/man
man named.conf
5、主配置文件
vim /etc/named/named.conf
options {
directory “/var/named/”
};
zone “.” IN {
type hint;
file “named.ca“;
};
zone “localhost” IN {
type master;
file “named.localhost”;
allow-update {none;};
};
zone “1.0.0.127.in-addr.arpa” IN {
type master;
file “named.loopback”;
allow-update {none;};
};
6、區域數據庫
mkdir /var/named
named-checkconf
dig +norec @a.root-servers.net > /var/named/named.ca
vim /var/named/named.localhost
$TTL 1d
@? ? ? ? ? ? ? ? ? ?IN ????SOA? ? ? localhost. admin.localhost. (?2016061801?1h?5m?7d?1d)
NS? ? ? ? ?localhost.
localhost.? ? ?IN? ? ? A? ? ? ? ? ?127.0.0.1
vim /var/named/named.loopback
$TTL 1d
@ IN SOA localhost. admin.localhost. (?2016061801??1h??5m? ?7d??1d)
NS? ? @
A? ? ? 127.0.0.1
PTR? ? localhost.
7、設置權限
chmod 640 /var/named/*
chmod 640 /etc/named/named.conf
chgrp -R named /var/named/
chgrp named /etc/named/named.conf
8、啟動服務和測試
man named
named -u named -f -g -d 3?前端級別3方式運行
named -u named?后臺運行
killall named
ss -tuln
tail /var/log/message
named -u named
9、支持rndc
rndc reload 觀察錯誤提示
rndc-confgen -r /dev/urandom > /etc/named/rndc.conf?生成key
tail /etc/named/rndc.conf >> /etc/named/named.conf
killall -SIGHUP named?????-1信號
rndc status
?
10、壓力測試
/root/bind-xxx/contrib/scripts
編譯壓力測試工具
cd /root/bind-xxx/contrib/queryperf
./configure
make
cp queryperf /usr/local/bind9/bin
queryperf -h??查看幫助
vim test.txt???準備測試文件
www.magedu.com A
magedu.com NS
magedu.com MX
pop3.magedu.com A
web.magedu.com A
cat >> ?test.txt < ?test.txt 瞬間復制文件內容N遍,趕緊終止!
queryperf -d test.txt -s 127.0.0.1
11、打開日志功能
rndc querylog
rndc status
queryperf -d test.txt -s 127.0.0.1
wc -l /var/log/message
?
二十一、DNS排錯
#dig A example.com
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30523
…
SERVFAIL:The nameserver encountered a problem while processing the query.
可使用dig +trace排錯,可能是網絡和防火墻導致
NXDOMAIN:The queried name does not exist in the zone.
可能是CNAME對應的A記錄不存在導致
REFUSED:The nameserver refused the client’s DNS request due to
policy restrictions.
可能是DNS策略導致
?
NOERROR不代表沒有問題,也可以是過時的記錄
查看是否為權威記錄,flags:aa標記判斷
被刪除的記錄仍能返回結果,可能是因為*記錄存在
如:*.example.com. IN A 172.25.254.254
注意“.”的使用
避免CNAME指向CNAME記錄,可能產生回環
test.example.com. IN CNAME lab.example.com.
lab.example.com. IN CNAME test.example.com.
正確配置PTR記錄,許多服務依賴PTR,如sshd,MTA
正確配置輪詢round-robin記錄
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100656