天天看點

dns配置和各種檔案中注意的點

1 簡寫

看簡寫的形式: 最簡單的是

概念: zone語句的第二個字段用來指定域名,該域名是該區域資料檔案中所有資料的來源(origin)

www.cui.   IN A 192.168.7.234

簡寫方式是 www IN  A 192.168.7.234 

其實:www就是表示cui.這個域下的主機

其簡寫的來源依據是:

zone "cui" in {

        typemaster;

        file"db.cui";

};

同理

234.7.168.192.in-addr.arpa.  IN PTR www.cui.

簡寫:   

2 @符号的表示法

如果一個域名和來源相同的話,那麼改名稱就可以被表示為”@“  最常見在區域資料檔案中的SOA記錄中

可以寫成為

@ IN SOA bind1.cui. bind1.cui. ( 1h 3h 1h 1w 2h)

【安全性的 控制 查詢 傳輸】

1 allow-query 允許查詢的位址

預設 是隻允許localhost

allow-query     { localhost; };

結果: 非本地來的查詢 将不會應答

<a href="http://s2.51cto.com/wyfs02/M02/80/46/wKiom1c8efORIZoQAAAeEs_MIMQ090.png" target="_blank"></a>

一般改成: 允許來自所有的query,或者有acl控制特定的網絡

allow-query     { any };

2 allow-transter {any ;};

作用: 控制區域傳送的(master 和slave

允許那些主機接收服務的區域傳送

3  recursion yes;  允許遞歸查詢

4 allow-recursion { any;}  預設的,指定允許哪些主機通過本伺服器進行遞歸查詢

5 allow-query-cache { any ;};

查找緩存

6 網絡監聽接口 一般設定為

作用: 伺服器回應查詢的端口号和接口(即IP位址)

listen-on port 53 { youIP; };

如果: 設為 listen-on port 53 { any ;};  則所有端口都将監聽起來

應用: 如不想在IPv6 的接口上監聽

listen-on-v6 port 53 { none; };

【rndc 維護dns指令】

1 管理dns 可以通過發送一些linux上的信号進行

如:

<code> </code><code>kill</code> <code>-HUP `</code><code>cat</code> <code>/var/run/named</code><code>.pid`</code>

rndc提供更多的手段通過信道(channel)用信号去管理

== 重載:

<code>rndc reload</code>

重新加載server配置檔案和zone區域檔案

等于

/etc/init.d/named reload  = kill  kill -HUP `cat /var/run/named.pid`

注意: 還一個重載指定的區域  rndc reload zone

如: rndc reload zone

==  重新開機服務

rndc restart  == /etc/init.d/named restart

== 狀态

rndc status == /etc/init.d/named status

== stop/start

rndc stop == /etc/init.d/named stop == kill TERM `cat /var/run/named.pid`

== 清空緩存

rndc flush 

注意: 差別重載和重新開機的差別:

最直覺的是,重新開機程序pid會改變,重載不會改變

重載隻是重新讀取配置檔案而已,沒有把程式殺死在重新開機開啟

2 rndc  可以控制的前提:

/etc/rndc.key 

可以手動生成

 rndc-confgen -r /dev/urandom -a

注: named.conf 中可以通過options 中的 controls 選項指定控制,預設不需要

3 rndc 監聽端口是 953 

4 修改了primary中的區域檔案資訊之後一定要記得  把序列号加+1

5 報錯:

9 15:32:50 cui2 named[10634]: none:0: open: /etc/rndc.key: permission denied

解決辦法:

chmod +r /etc/rndc.key

【解析器的那些檔案和作用】

1 解析器就是  dns的用戶端程式

telnet shop-web01.beta  會去調用dns解析器 解析這個shop-web01.beta域名

ftp

ping

ssh

scp

等等程式都調用了dns解析器程式

2 涉及的檔案

nsswitch.conf

/etc/resolve.conf

/etc/hosts

hostname

3 現象

為什麼 ping dpindex-web01  解析器會将這個會自動解析dpindex-web01.beta

<a href="http://s5.51cto.com/wyfs02/M00/80/46/wKiom1c8e_WQyzt5AACBHoQVlAw042.png" target="_blank"></a>

4 解釋nsswitch.conf檔案說明

一般用途: 其中一個行預設

hosts: files dns

其意思是  解析器解析域名的時候先查找/etc/hosts 下,在查找dns名稱伺服器

5 解釋hostname和本地域的作用

hostname  如果是一個 主機名.域的形式如: shop-web01.beta

那麼 點号後面的(beta) 就代表本地域

有了本地域在輸入的時候,解析器就會自動補充如:

ping dpindex-web01

解析器會讀成  dpindex-web01.beta  自動加上了本地域

作用,如tab一樣可以減少輸入

注: 

如果 hostname主機名種沒有 “.”  那麼會将域變成root

關于要不要加上本地域 和 主機名中存在多個 ”.“ 的情況,解析器都是很智能能都都會處理好!

6 解釋 /etc/resolve.conf 檔案中的各個指令

domain

search

nameserver

options

domain 也是指定本地域,如果resolve.conf 中存在,這個指令

如 domain beta   那麼會覆寫hostname計算出來的本地域

search指令 和domain 類似

隻是 支援多個域

nameserver  指定使用的名稱伺服器

nameserver 1.1.1.1

nameserver 2.2.2.2

nameserver 3.3.3.3

可以使用多個,當第一個故障時使用第二個

隻有當  第一個查詢逾時時或者網絡錯誤的時候,才會使用第二個!

注意,不是說第一個查詢不到結果(正常的傳回),這樣是不會使用第二個名稱伺服器的

options 指令設定 一些debug 或者逾時 重試等的  

options attempts:4 timeout:2 ndots:2

注:

一些特點和不同的版本是有差別的,以上在8版本之後都是支援的

其他一些關于太詳細的用的不多的,請自行參考bind and dns 這本權威的書

【解析指令】

1 nslookup 在主要在windows下使用,linux下簡單可以使用  

nslookup 域名  

nslookup IP  反向解析

解析出來的資訊刨析:

參考

<a href="http://doc.okbase.net/1382972/archive/110141.html" target="_blank">http://doc.okbase.net/1382972/archive/110141.html</a>

重點關注:

flags 标志,如果出現就表示有标志,如果不出現就未設定标志:

  qr query,查詢标志,代表是查詢操作

  rd recursion desired, 代表希望進行遞歸(recursive)查詢操作

  ra recursive available 在傳回中設定,代表查詢的伺服器支援遞歸(recursive)查詢操作。

 aa Authoritative Answer 權威回複,如果查詢結果由管理域名的域名伺服器而不是緩存伺服器提供的,則稱為權威回複。

AUTHORITY 權威域名伺服器記錄數,5代表該域名有5個權威域名伺服器,可供域名解析用。對應下面AUTHORITY SECTION

ADDITIONAL 格外記錄數,6代表有6項格外記錄。對應下面 ADDITIONAL SECTION。

2 dig 指令

dig  域名

預設使用 本地dns(/etc/resolve.conf) 下配置的,去解析

預設解析A記錄

選項或者參數

dig @dnsserver  域名

指定以你指定的名稱伺服器去解析這個域名

dig @localhost .beta

dig -t type類型  域名

作用:指定記錄類型

dig -t MX dianping.com

dig -x IP

作用: 進行反解析,一般在内網工作起作用

dig -x 192.168.213.86

dig +trace 域名

作用: 強制從root開始疊代查找結果

dig +trace

<a href="http://www.sina.com.cn/" target="_blank">www.sina.com.cn</a>

【forward 】

自己轉發不了的,轉發給指定的名稱伺服器去解析

常用配置是,對某個區域自己解析不了的進行forward配置!

對于 beta和nh這個區域,本地localhost 名稱伺服器是無法解析的,是以需要進行針對這個區域進行轉發

type forward;

forward { 192.168.211.116; };

注: 當然也可以進行 全局進行都轉發,這台名稱伺服器完完全全隻作為轉發伺服器進行的!

其工作過程: 預設是 轉發優先(相對 疊代 root而言)

其過程是: 本地解析域名,如果本地沒有或者緩存沒有,那麼就像轉發伺服器發起查詢,如果經過短暫周期沒有收到應答響應,那麼久會進行正常的操作,開始進行疊代查詢!

是否加上forward-only; 隻是有那麼一點差別和 轉發優先 ,隻是速度上的一點差別而已!

鑒于版本不一樣,我的bind版本 9.8

tail -f /var/log/messages

預設配置檔案下,隻配置   forward 一個區域的話,可能解析不了,會報錯

 validating @0x7f4f680616c0: beta SOA: got insecure response; parent indicates it should be secure

解決方案:

dnssec-enable no;

dnssec-validation no;

将yes都統統變成no

本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1774913如需轉載請自行聯系原作者

cuizhiliang

繼續閱讀