ip與網域名稱解析 dns host

2021-07-02 00:47:41 字數 2415 閱讀 1516

執行順序

所有的解析請求由linux的resolver library(指的是一些c標準庫的函式,主要是

gethostbyname和gethostbyaddr

)完成,它涉及/etc/host.conf和/etc/nsswitch.conf,後者優先。它會查詢2個東西,乙個是domain name server,具體地說,就是dns/bind(

/etc/resolv.conf相關),乙個是本地的/ets/hosts。這2個的先後順序可以配置,在

/etc/host.conf裡有一句

order hosts

,bind # hosts,bind or nis

這樣的話,會先查詢/etc/hosts,找不到才執行bind的dns查詢。

/etc/host.conf預設是先執行

dns查詢,而不是/etc/hosts。

但/etc/nsswitch.conf可以覆蓋它:

hosts:      files dns

就表示優先查詢/etc/hosts。如果/etc/nsswitch.conf沒有註明,或者沒有這個檔案,才去找/etc/host.conf的設定。

涉及的檔案

示例說明

/etc/hosts

127.0.0.1       localhost

192.168.1.10    foo.mydomain.org       foo

192.168.1.13    bar.mydomain.org       bar

ip_address canonical_hostname [aliases...]

#注釋

/etc/resolv.conf

domain foo.com

search foo.com

nameserver 210.34.0.14

nameserver 210.34.0.2

(nameserver按順序來,最多支援3個。如果不指定,就認為nameserver在本地)

執行查詢的物件,必=必須有domain,形式必須是***.domain  

domain   宣告主機的網域名稱。很多程式用到它,如郵件系統;當為沒有網域名稱的主機進行dns查詢時,也要用到。如果沒有網域名稱,主機名將被使用,刪除所有在第乙個點( .)前面的內容。

如果你ping abc,那麼他會搜尋abc.foo.com

search   它的多個引數指明網域名稱查詢順序。當要查詢沒有網域名稱的主機,主機將在由search宣告的域中分別查詢。domain和search不能共存;如果同時存在,後面出現的將會被使用。

如果你ping abc,他會先找abc,找不到再找abc.foo.com

sortlist  允許將得到網域名稱結果進行特定的排序。它的引數為網路/掩碼對,允許任意的排列順序

/etc/nsswitch.conf

hosts:      files dns

/etc/host.conf

multi on/off   表示查詢/etc/hosts時,是否支援多ip位址,只對/etc/hosts有效

nospoof on    對ip位址欺騙攻擊加強防範

alert on 檢測到ip位址欺騙時記日誌

order bind hosts

/etc/resolv.conf中domain和search的規則:

查詢順序

domain a.com

search a.com b.com

未設定domian和search,

hostname形式為***

未設定domian和search,

hostname形式為***.yyy

ping abc

abc.a.com

abc.a.com -> abc.b.com

abc

abc.yyy

ping abc.xyz

abc.xyz  ->  abc.xyz.a.com

abc.xyz  -> abc.xyz.a.com -> abc.xyz.b.com

abc.xyz

abc.xyz   ->  abc.xyz.yyy

ping abc.xyz.

ping abc.

全都不會在結尾新增額外的東西

即: 1.形式為abc.xyz,則直接解析,成功則結束,如果失敗則到2;如果形式為abc,也到2

2.嘗試在末尾新增domain。

if    /etc/resolv.conf有domain或search欄位

則新增上去再解析。(其中search可以指定多個)。

else

if  `hostname` 形式為***.yyy

新增.yyy,再解析

else

沒辦法,直接解析

endend

網域名稱解析與IP位址的關係

1 網域名稱解析dns 2 網域名稱伺服器上執行著乙個資料庫系統 3 資料庫中儲存著網域名稱位址與ip位址。4 使用者主機需要把網域名稱位址轉化為ip位址時向網域名稱伺服器提出查詢請求 5 網域名稱伺服器根據使用者請求進行查詢並把結果返回給使用者主機。2 ip位址與網域名稱的對應關係 1 一對一 i...

訪問ip 改為網域名稱 Asio DNS網域名稱解析

網際網路應用是通過ip標識通訊雙方的主機位址的。常用的ipv4是32位的整數,而這個數字不好記憶,所以引入了更加適合人類閱讀和記憶的點分十進位制表示法,如環回位址對應 127.0.0.1 即使這樣,本質上還是數字,仍然不利於溝通和記憶,試想以下,每次訪問 都要輸入這樣的位址,我們要記憶一大推這樣的無...

網域名稱解析過程 網域名稱解析過程

0x01相關資訊 閘道器 閘道器實質上是乙個網路通向其他網路的ip位址。要實現兩個網路之間的通訊,則必須通過閘道器。如果網路a中的主機發現資料報的目的主機不在本地網路中,就把資料報 給它自己的閘道器,自己的閘道器通過尋找路由指向,再由閘道器 給網路b的閘道器,網路b的閘道器再 給網路b的某個主機。i...