ubuntu下DNS原理及相關設定

2021-07-09 02:31:44 字數 1823 閱讀 7630

1.dns原理分析如下:

dns服務的工作過程

1、在瀏覽器中輸入www.qq.com網域名稱,作業系統會先檢查自己本地的hosts檔案是否有這個**對映關係,如果有,就先呼叫這個ip位址對映,完成網域名稱解析。 

2、如果hosts裡沒有這個網域名稱的對映,則查詢本地dns解析器快取,是否有這個**對映關係,如果有,直接返回,完成網域名稱解析。 

3、如果hosts與本地dns解析器快取都沒有相應的**對映關係,首先會找tcp/ip引數中設定的首選dns伺服器,在此我們叫它本地dns伺服器,此伺服器收到查詢時,如果要查詢的網域名稱,包含在本地配置區域資源中,則返回解析結果給客戶機,完成網域名稱解析,此解析具有權威性。 

4、如果要查詢的網域名稱,不由本地dns伺服器區域解析,但該伺服器已快取了此**對映關係,則呼叫這個ip位址對映,完成網域名稱解析,此解析不具有權威性。 

6、如果用的是**模式,此dns伺服器就會把請求**至上一級dns伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根dns或把轉請求轉至上上級,以此迴圈。不管是本地dns伺服器用是是**,還是根提示,最後都是把結果返回給本地dns伺服器,由此dns伺服器再返回給客戶機。

從客戶端到本地dns伺服器是屬於遞迴查詢,而dns伺服器之間就是的互動查詢就是迭代查詢。

cradle@hisi:~$

cradle@hisi:~$ nm-tool | grep dns

dns:             192.168.1.1

yaolan@hisi:~$

ubuntu清除dns快取

如果系統下有nscd,那麼就直接

sudo /etc/init.d/nscd restart

如果沒有也沒關係,網上接受的方法大都是

sudo aptitude install nscd

sudo /etc/init.d/nscd restart

其實我們也可以直接

sudo /etc/init.d/dns-clean start

來完成的。

配置檔案有:/etc/hosts 和 /etc/resolv.conf

在網路基礎裡面提到的幾個網路引數!要設定好乙個網路的環境,使計算機可以順利的連上 internet ,那麼您的計算機裡面一定要有底下幾個網路的引數才行,分別是:

其中,那個 ip, netmask, network, broadcast 與 gateway 都可以在 /etc/sysconfig/network-scripts/ifcfg-eth[0-n] 這些檔案裡面設定,dns 的位址則是在 /etc/resolv.conf 裡頭設定。呵呵!只要這幾個專案設定正確,那麼計算機應該就沒問題的可以上網了!

在ubuntu下 cat /etc/hosts,這個檔案設定本地的網域名稱解析,不需要再去找dns伺服器(我想也可以在這裡設定,實現翻牆的一種方式)

如果你的訪問的網域名稱在/etc/hosts下找不到,則查詢你手動設定的dns伺服器/etc/resolv.conf 如下

# dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     do not edit this file by hand -- your changes will be overwritten

nameserver 127.0.1.1

nameserver 8.8.8.8

nameserver 192.168.1.1

在上面兩者都沒有,之後再去在internet中查詢dns,進而查到訪問目標網域名稱的ip。

備註:個人的理解,不對之處,還望指正。

hosts 和 resolv.conf 及本地dns快取????

Ubuntu下配置IP位址及DNS

方法一 通過 etc network inte ces,在它的最後增加一句 多個dns之間用空格分隔 inte ces 5 file used by ifup 8 and ifdown 8 include files from etc network inte ces.d source direct...

DNS原理及過程

dns網域名稱系統,給網域名稱系統dns domain name system 是網際網路使用的命名系統,用來把便於人們使用的機器名字轉換成為ip位址。網域名稱系統其實就是名字系統。為什麼不叫 名字 而叫 網域名稱 呢?這是因為在這種網際網路的命名系統中使用了許多的 域 domain 因此就出現了 ...

ubuntu下gcc安裝及相關介紹

在ubuntu 下安裝gcc 和其他一些 linux 系統有點不一樣。方法一 該方法超簡單 sudo apt get build depgcc 就上面這條命令就可以搞定 方法二 sudo apt get install build essential 還是簡單,一句命令也可以搞定 安裝完了可以執行 ...