A DNS server has the IP address 192.168.0.1. Which TWO of the following need to be done on a client machine to use this DNS server?
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
題解
GNU C語言的函式庫會根據「/etc/resolv.conf」設定檔所定義的網域名稱伺服器來查找網域名稱實際對應的IP位址。可以使用的關鍵字如下:
- nameserver:要查詢的網域名稱伺服器。
- domain:本地的網域名稱。
- search:查詢主機名稱的時候所串接的網域名稱。
- sortlist:排序gethostbyname函數的回傳結果。
- options
部份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來的資料。
所以答案是選項A和選項D。