Hosts

/etc/hosts 文件引用另一個配置文件

  • April 9, 2020

如何讓/etc/hosts文件引用另一個配置文件的主機列表?

範例/etc/hosts

## My Hosts
127.0.0.1   localhost
255.255.255.255 broadcasthost

#Other Configurations
<Link to /myPath/to/MyConfig/ConfigFile.txt>

#Other Addresses
3.3.3.3 MyAwesomeDomain.com
4.4.4.4 SomeplaceIWantToGoTo.com

配置文件.txt

##My additional Hosts
1.1.1.1 SomeLocation.com
2.2.2.2 AnotherLocation.com

如何添加/etc/hosts文件的連結/引用以便載入 ConfigFile.txt?

你不能。的格式/etc/hosts很簡單,不支持包含額外文件。

您可以使用以下幾種方法:

  • 設置(可能僅限本地)DNS 伺服器。其中一些提供了很大的靈活性,您絕對可以將主機文件分佈在多個文件甚至機器上。其他(例如 dnsmasq)提供的靈活性較低(但仍然足夠),但易於設置。如果您試圖在一堆機器上包含相同的主機列表,那麼 DNS 可能是正確的答案。
  • 設置一些其他名稱服務(NIS、LDAP 等)。檢查 glibc NSS 文件以了解支持的內容。就個人而言,我認為在大多數情況下都應該使用 DNS。
  • 為自己創建一個/etc/hosts.d目錄或類似目錄,並編寫一些腳本將它們連接在一起(最簡單的: cat /etc/hosts.d/*.conf > /etc/hosts,儘管您可能想要更好一點,例如,通過目前語言環境覆蓋預設排序),並在啟動時執行該腳本,或者從 cron 中,或在您更新文件時手動進行。

就個人而言,在家里和工作中,為了讓每台設備都可以解析機器名稱,我執行 BIND 9。不過,這確實需要幾個小時的學習時間。

引用自:https://unix.stackexchange.com/questions/60549