<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 19.2 Client 端的設定 由于 DNS 是每部想要連上因特網的主機都得要設定的,因此我們就從簡單的客戶端設定談起。因為未來架設好 DNS server 后,我們都會直接進行測試,所以,這個部分得先處理處理比較妥當啊! * * * ### 19.2.1 相關配置文件 從 [19.1.1](#Whatisdns) 的說明當中我們曉得主機名對應到 IP 有兩種方法,早期的方法是直接寫在檔案里面來對應, 后來比較新的方法則是透過 DNS 架構!那么這兩種方法分別使用什么配置文件?可不可以同時存在? 若同時存在時,那個方法優先?嗯!我們先來談一談幾個配置文件吧! * /etc/hosts :這個是最早的 hostname 對應 IP 的檔案; * /etc/resolv.conf :這個重要!就是 ISP 的 DNS 服務器 IP 記錄處; * /etc/nsswitch.conf:這個檔案則是在『決定』先要使用 /etc/hosts 還是 /etc/resolv.conf 的設定! 一般而言, Linux 的預設主機名與 IP 的對應搜尋都以 /etc/hosts 為優先,為什么呢?你可以查看一下 /etc/nsswitch.conf ,并找到 hosts 的項目: ``` [root@www ~]# vim /etc/nsswitch.conf hosts: files dns ``` 上面那個 files 就是使用 /etc/hosts,而最后的 dns 則是使用 /etc/resolv.conf 的 DNS 服務器來進行搜尋啦!因此,你可以先以 /etc/hosts 來設定 IP 對應!當然啦,你也可以將他調換過來,不過,總是 /etc/hosts 比較簡單,所以將他擺在前面比較好啦! 好啦,既然我們是要進行 DNS 測試的,那么就得要了解一下 /etc/resolv.conf 的內容,假設你在臺灣,使用的是 hinet 的 168.95.1.1 這部 DNS 服務器,所以你應該這樣寫: ``` [root@www ~]# vim /etc/resolv.conf nameserver 168.95.1.1 nameserver 139.175.10.20 ``` DNS 服務器的 IP 可以設定多個,為什么要設定多個呢?因為當第一部 (照設定的順序) DNS 掛點時,我們客戶端可以使用第二部 (上述是 139.175.10.20) 來進行查詢,這多少有點像 DNS 備援功能。 通常建議至少填寫兩部 DNS 服務器的 IP,不過在網絡正常使用的情況下,永遠只有第一部 DNS 服務器會被使用來查詢,其他的設定值只是在第一部出問題時才會被使用。 **Tips:** 盡量不要設定超過 3 部以上的 DNS IP 在 /etc/resolv.conf 中,因為如果是你的區網出問題,導致無法聯機到 DNS 服務器,那么你的主機還是會向每部 DNS 服務器發出聯機要求,每次聯機都有 timeout 時間的等待,會導致浪費非常多的時間喔! ![](https://box.kancloud.cn/2016-05-13_5735736501917.gif) 例題:我的主機使用 DHCP 取得 IP ,很奇怪的,當我修改過 /etc/resolv.conf 之后,隔不多久這個檔案又會恢復成原本的樣子,這是什么原因? 該如何處理?答:因為使用 DHCP 時,系統會主動的使用 DHCP 服務器傳來的數據進行系統配置文件的修訂。因此,你必須告知系統,不要使用 DHCP 傳來的服務器設定值。 此時,你得要在 /etc/sysconfig/network-scripts/ifcfg-eth0 等相關檔案內,增加一行:『PEERDNS=no』,然后重新啟動網絡即可。 此外,如果你有啟動 CentOS 6.x 的 NetworkManager 服務,有時候也可能會產生一些奇特的現象哩!所以鳥哥是建議關掉它的!^_^ * * * ### 19.2.2 DNS 的正、反解查詢指令: host, nslookup, dig 測試 DNS 的程序有很多,我們先來使用最簡單的 host 吧!然后還有 nslookup 及 dig 哩! * host ``` [root@www ~]# host [-a] FQDN [server] [root@www ~]# host -l domain [server] 選項與參數: -a :代表列出該主機所有的相關信息,包括 IP、TTL 與除錯訊息等等 -l :若后面接的那個 domain 設定允許 allow-transfer 時,則列出該 domain 所管理的所有主機名對應數據! server:這個參數可有可無,當想要利用非 /etc/resolv.conf 內的 DNS 主機 來查詢主機名與 IP 的對應時,就可以利用這個參數了! # 1\. 使用默認值來查出 linux.vbird.org 的 IP [root@www ~]# host linux.vbird.org linux.vbird.org has address 140.116.44.180 &lt;==這是 IP linux.vbird.org mail is handled by 10 linux.vbird.org. &lt;==這是 MX (后續章節說明) # 2\. 查出 linux.vbird.org 的所有重要參數 [root@www ~]# host -a linux.vbird.org Trying "linux.vbird.org" ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 56213 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;linux.vbird.org. IN ANY ;; ANSWER SECTION: linux.vbird.org. 145 IN A 140.116.44.180 ;; AUTHORITY SECTION: vbird.org. 145 IN NS dns.vbird.org. vbird.org. 145 IN NS dns2.vbird.org. Received 86 bytes from 168.95.1.1#53 in 15 ms &lt;==果然是從 168.95.1.1 取得的資料 # 看樣子,不就是 dig 的輸出結果?所以,我們才會說,使用 dig 才是王道! # 3\. 強制以 139.175.10.20 這部 DNS 主機來查詢 [root@www ~]# host linux.vbird.org 139.175.10.20 Using domain server: Name: 139.175.10.20 Address: 139.175.10.20#53 Aliases: linux.vbird.org has address 140.116.44.180 linux.vbird.org mail is handled by 10 linux.vbird.org. ``` 看到最后一個范例,有注意到上面輸出的特殊字體部分嗎?很多朋友在測試自己的 DNS 時,常常會『指定到錯誤的 DNS 查詢主機』了~因為他們的 /etc/reslov.conf 忘記改,所以老是找不到自己設定的數據庫 IP 數據。所以你要仔細看啊! ``` # 4\. 找出 vbird.org 領域的所有主機對應 [root@www ~]# host -l vbird.org ; Transfer failed. Host vbird.org not found: 9(NOTAUTH) ; Transfer failed. &lt;==竟然失敗了!請看底下的說明! ``` 怎么會無法響應呢?這樣的響應是因為管理 vbird.org 領域的 DNS 并不許我們的領域查詢,畢竟我們不是 vbird.org 的系統管理員,當然沒有權限可以讀取整個 vbird.org 的領域設定啰!這個『 host -l 』是用在自己的 DNS 服務器上,本章稍后談到服務器設定后,使用這個選項就能夠讀取相關的數據了。 * nslookup ``` [root@www ~]# nslookup [FQDN] [server] [root@www ~]# nslookup 選項與參數: 1\. 可以直接在 nslookup 加上待查詢的主機名或者是 IP ,[server] 可有可無; 2\. 如果在 nslookup 后面沒有加上任何主機名或 IP ,那將進入 nslookup 的查詢功能 在 nslookup 的查詢功能當中,可以輸入其他參數來進行特殊查詢,例如: set type=any :列出所有的信息『正解方面配置文件』 set type=mx :列出與 mx 相關的信息! # 1\. 直接搜尋 mail.ksu.edu.tw 的 IP 信息 [root@www ~]# nslookup mail.ksu.edu.tw Server: 168.95.1.1 Address: 168.95.1.1#53 &lt;==還是請特別注意 DNS 的 IP 是否正確! Non-authoritative answer: Name: mail.ksu.edu.tw Address: 120.114.100.20 &lt;==回報 IP 給你啰! ``` nslookup 可單純的將 hostname 與 IP 對應列出而已,不過,還是會將查詢的 DNS 主機的 IP 列出來的! 如果想要知道更多詳細的參數,那可以直接進入 nslookup 這個軟件的操作畫面中,如下范例: ``` [root@www ~]# nslookup &lt;==進入 nslookup 查詢畫面 &gt; 120.114.100.20 &lt;==執行反解的查詢 &gt; www.ksu.edu.tw &lt;==執行正解的查詢 # 上面這兩個僅列出正反解的信息,沒有啥了不起的地方啦! &gt; set type=any &lt;==變更查詢,不是僅有 A,全部信息都列出來 &gt; www.ksu.edu.tw Server: 168.95.1.1 Address: 168.95.1.1#53 Non-authoritative answer: Name: www.ksu.edu.tw Address: 120.114.100.101 &lt;==這是答案 Authoritative answers can be found from: &lt;==這是相關授權 DNS 說明 ksu.edu.tw nameserver = dns2.ksu.edu.tw. ksu.edu.tw nameserver = dns1.ksu.edu.tw. dns1.ksu.edu.tw internet address = 120.114.50.1 dns2.ksu.edu.tw internet address = 120.114.150.1 &gt; exit &lt;==離開吧!皮卡丘 ``` 在上面的案例當中,請注意,如果你在 nslookup 的查詢畫面當中,輸入 set type=any 或其他參數, 那么就無法再進行反解的查詢了!這是因為 any 或者是 mx 等等的標志都是記錄在正解 zone 當中的緣故! * dig (未來的主流,請愛用他!) ``` [root@www ~]# dig [options] FQDN [@server] 選項與參數: @server :如果不以 /etc/resolv.conf 的設定來作為 DNS 查詢,可在此填入其他的 IP options:相關的參數很多,主要有 +trace, -t type 以及 -x 三者最常用 +trace :就是從 . 開始追蹤,在 19.1.2 里面談過了!回頭瞧瞧去! -t type:查詢的數據主要有 mx, ns, soa 等類型,相關類型 19.4 來介紹 -x :查詢反解信息,非常重要的項目! # 1\. 使用默認值查詢 linux.vbird.org 吧! [root@www ~]# dig linux.vbird.org ; &lt;&lt;&gt;&gt; DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 &lt;&lt;&gt;&gt; linux.vbird.org ;; global options: +cmd ;; Got answer: ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 37415 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: &lt;==提出的問題的部分 ;linux.vbird.org. IN A ;; ANSWER SECTION: &lt;==主要的回答階段 linux.vbird.org. 600 IN A 140.116.44.180 ;; AUTHORITY SECTION: &lt;==其他與此次回答有關的部分 vbird.org. 600 IN NS dns.vbird.org. vbird.org. 600 IN NS dns2.vbird.org. ;; Query time: 9 msec ;; SERVER: 168.95.1.1#53(168.95.1.1) ;; WHEN: Thu Aug 4 14:12:26 2011 ;; MSG SIZE rcvd: 86 ``` 在這個范例當中,我們可以看到整個顯示出的訊息包括有幾個部分: * QUESTION(問題):顯示所要查詢的內容,因為我們是查詢 linux.vbird.org 的 IP,所以這里顯示 A (Address); * ANSWER(回答):依據剛剛的 QUESTION 去查詢所得到的結果,答案就是回答 IP 啊! * AUTHORITY(驗證):由這里我們可以知道 linux.vbird.org 是由哪部 DNS 服務器所提供的答案! 結果是 dns.vbird.org 及 dns2.vbird.org 這兩部主機管理的。另外,那個 600 是啥咚咚?[圖 19.1-4](#fig19.1-4) 提到過的流程,就是允許查詢者能夠保留這筆記錄多久的意思 (快取),在 linux.vbird.org 的設定中,預設可以保留 600 秒。 ``` # 2\. 查詢 linux.vbird.org 的 SOA 相關信息吧! [root@www ~]# dig -t soa linux.vbird.org ; &lt;&lt;&gt;&gt; DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 &lt;&lt;&gt;&gt; -t soa linux.vbird.org ;; global options: +cmd ;; Got answer: ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 57511 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;linux.vbird.org. IN SOA ;; AUTHORITY SECTION: vbird.org. 600 IN SOA dns.vbird.org. root.dns.vbird.org. 2007091402 28800 7200 720000 86400 ;; Query time: 17 msec ;; SERVER: 168.95.1.1#53(168.95.1.1) ;; WHEN: Thu Aug 4 14:15:57 2011 ;; MSG SIZE rcvd: 78 ``` 由于 dig 的輸出信息實在是太豐富了,又分成多個部分去進行回報,因此很適合作為 DNS 追蹤回報的一個指令呢! 你可以透過這個指令來了解一下你所設定的 DNS 數據庫是否正確,并進行除錯喔! ^_^!此外,你也可以透過『 -t type 』 的功能去查詢其他服務器的設定值,可以方便你進行設定 DNS 服務器時的參考喔!正解查詢完畢,接下來玩一玩反解吧! ``` # 3\. 查詢 120.114.100.20 的反解信息結果 [root@www ~]# dig -x 120.114.100.20 ; &lt;&lt;&gt;&gt; DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 &lt;&lt;&gt;&gt; -x 120.114.100.20 ;; global options: +cmd ;; Got answer: ;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 60337 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;20.100.114.120.in-addr.arpa. IN PTR ;; ANSWER SECTION: 20.100.114.120.in-addr.arpa. 3600 IN PTR mail-out-r2.ksu.edu.tw. 20.100.114.120.in-addr.arpa. 3600 IN PTR mail-smtp-proxy.ksu.edu.tw. 20.100.114.120.in-addr.arpa. 3600 IN PTR mail.ksu.edu.tw. ;; AUTHORITY SECTION: 100.114.120.in-addr.arpa. 3600 IN NS dns1.ksu.edu.tw. 100.114.120.in-addr.arpa. 3600 IN NS dns3.twaren.net. 100.114.120.in-addr.arpa. 3600 IN NS dns2.ksu.edu.tw. ;; ADDITIONAL SECTION: dns1.ksu.edu.tw. 3036 IN A 120.114.50.1 dns2.ksu.edu.tw. 2658 IN A 120.114.150.1 dns3.twaren.net. 449 IN A 211.79.61.47 ;; Query time: 29 msec ;; SERVER: 168.95.1.1#53(168.95.1.1) ;; WHEN: Thu Aug 4 14:17:58 2011 ;; MSG SIZE rcvd: 245 ``` 反解相當有趣!從上面的輸出結果來看,反解的查詢目標竟然從 120.114.100.20 變成了 20.100.114.120.in-addr.arpa. 這個模樣~這是啥鬼東西?不要怕,這等我們講到反解時再跟大家進一步解釋。 你現在要知道的是,反解的查詢領域名,跟正解不太一樣即可,尤其是那個怪異的 in-addr.arpa. 結尾的數據,可以先記下來。 * * * ### 19.2.3 查詢領域管理者相關信息: whois 上個小節談到的是主機名的正反解查詢指令,那如果你想要知道整個領域的設定,使用的是『 host -l 領域名 』去查, 那如果你想要知道的是『這個領域是誰管的』的信息呢?那就得要使用 whois 這個指令才行喔!在 CentOS 6.x 當中, whois 是由 jwhois 這個軟件提供的,因此,如果找不到 whois 時,請用 yum 去安裝這個軟件吧! * whois ``` [root@www ~]# whois [domainname] &lt;==注意啊!是 domain 而不是 hostname [root@www ~]# whois centos.org [Querying whois.publicinterestregistry.net] [whois.publicinterestregistry.net] # 這中間是一堆 whois 服務器提供的訊息告知!底下是實際注冊的數據 Domain ID:D103409469-LROR Domain Name:CENTOS.ORG Created On:04-Dec-2003 12:28:30 UTC Last Updated On:05-Dec-2010 01:23:25 UTC Expiration Date:04-Dec-2011 12:28:30 UTC &lt;==記載了建立與與失效的日期 Sponsoring Registrar:Key-Systems GmbH (R51-LROR) Status:CLIENT TRANSFER PROHIBITED Registrant ID:P-8686062 Registrant Name:CentOS Domain Administrator Registrant Organization:The CentOS Project Registrant Street1:Mechelsesteenweg 170 # 底下則是一堆聯絡方式,鳥哥將它取消了,免得多占篇幅~ ``` whois 這個指令可以查詢到當初注冊這個 domain 的用戶的相關信息。不過,由于近年來很多網絡信息安全的問題,這個 whois 所提供的信息真的是太詳細了,為了保護使用者的隱私權,所以,目前這個 whois 所查詢到的信息已經不見得是完全正確的了~而且,在顯示出 whois 的信息之前,還會有一段宣告事項的告知呢~ ^_^y 如果使用 whois 來檢查鳥哥所注冊的合法 domain 會是如何呢?看看: ``` [root@www ~]# whois vbird.idv.tw [Querying whois.twnic.net] [whois.twnic.net] &lt;==這個 whois 服務器查到的數據 Domain Name: vbird.idv.tw &lt;==這個 domain 的信息 Contact: &lt;==聯絡者的聯絡方式 Der-Min Tsai vbird@pc510.ev.ncku.edu.tw Record expires on 2018-09-17 (YYYY-MM-DD) Record created on 2002-09-13 (YYYY-MM-DD) Registration Service Provider: HINET ``` 呵呵!這個 domain 會在 2018/09/17 失效的意思啦!報告完畢!無論如何,我們都可以透過 nslookup, host, dig 等等的指令來查詢主機名與 IP 的對應,這些指令的用法可以請你以 man command 來查詢更多的用法喔! * * *
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看