我們的伺服器上的/etc/hosts
檔案中有一個主機條目。於是就有了這樣一個條目:
10.74.74.76 foo
但在同一台機器上,透過 SSH 我執行以下操作:
$ host -t a foo
foo.internal.domain.com has address 10.43.55.23
為什麼這不引用 ip /etc/hosts
?
答案1
host
是一個(簡單的)DNS查詢公用事業。
文件中的任何資料/etc/hosts
都不是 DNS。
這表示該host
命令將始終查詢您已設定的 DNS 伺服器,並且不遵循系統解析程序在嘗試解析主機/FQDN 之前先查詢本機主機資料庫時所使用的典型優先權。
答案2
該host
命令是一個 DNS 查找實用程序,始終使用 DNS 作為解析器;從不/etc/hosts
歸檔。
來自主機(1)手冊頁:
host
是一個用於執行 DNS 查找的簡單實用程式。
server
是一個可選參數,它是主機應查詢的名稱伺服器的名稱或 IP 位址,而不是 中列出的伺服器/etc/resolv.conf
。