What should be done to ensure a client machine uses the recursive nameserver running on the IP address 192.168.0.1? (Choose TWO correct answers.)
A. Add nameserver 192.168.0.1 to /etc/resolv.conf.
B. Run route add nameserver 192.168.0.1.
C. Run ifconfig eth0 nameserver 192.168.0.1.
D. Ensure that the dns service is listed in the hosts entry in the /etc/nsswitch.conf file.
E. Run bind add nameserver 192.168.0.1.
題解
選項A,GNU C語言的函式庫會根據「/etc/resolv.conf」設定檔所定義的網域名稱伺服器來查找網域名稱實際對應的IP位址。此為正確答案。
選項B,不正確。
選項C,不正確。
部份GNU C語言的函式庫會根據本地端系統的設定不同而有不同的運作方式,像是getaliasent、gethostbyname、getnetent等等的函數。GNU C語言的函式庫會使用NSS(Name Service Switch)來讀取系統的資料庫,資料庫名稱列表如下:
- aliases
- ethers
- group
- hosts
- initgroups
- netgroup
- networks
- passwd
- protocols
- publickey
- rpc
- services
- shadow
NSS的設定檔「/etc/nsswitch.conf」決定了該資料庫名稱的資料取得的來源和順序。如「files」表示來源為檔案(設定檔)、「db」表示來源為資料庫、「dns」表示來源為網域名稱伺服器,而「compat」則有點像是「files」但同時能使用檔案來過濾NIS來的資料。
所以選項D,正確。
選項E,不正確,「bind」指令用來顯示或設定鍵盤按鍵與其相關的功能。