Linux

主機名如何在不必添加另一個名稱的情況下發生變化?

  • September 4, 2022

我想在不手動添加的情況下訪問所有子域名

我試過但不起作用

127.0.0.6 *.azka.dev

127.0.0.1   localhost
127.0.1.1   noob-Modern-14-B5M

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# custom domain

127.0.0.6 azka.dev
127.0.0.6 azka.azka.dev
127.0.0.6 api.azka.dev
127.0.0.6 heroku.azka.dev
127.0.0.6 *.azka.dev

/etc/hosts僅將固定 IPv4/v6 地址映射到固定名稱,反之亦然。其語法中沒有可用的萬用字元。

如果相當簡單/etc/hosts的方法不足以滿足您的要求,您基本上有兩種選擇:

  • 安裝並配置為本地容器/VM 提供名稱的替代主機名解析外掛(查看您的發行版是否有libnss-*或可用的軟體包)。nss-*例如,Debianlibnss-docker為 Docker 容器libnss-mymachinessystemd-machined. 如果您選擇的發行版中有一個預先存在的外掛可以滿足您的需求,這可能是最簡單的方法:只需安裝一個包並編輯文件的hosts:行,/etc/nsswitch.conf就完成了。
  • 安裝本地 DNS 伺服器(例如dnsmasq甚至 BIND)並將其配置為對您的私有域具有權威性,並將任何其他請求轉發到您用作真正的 DNS 解析器伺服器的任何伺服器。這需要做更多的工作,並且需要對 DNS 伺服器管理有基本的了解 - 但是您將真正擁有 DNS 的所有功能。

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