我想访问所有子域名而不需要手动添加
我尝试过但不起作用
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
答案1
/etc/hosts
仅将固定 IPv4/v6 地址映射到固定名称,反之亦然。其语法中没有可用的通配符。
如果相当简单的方法/etc/hosts
不足以满足您的要求,您基本上有两种选择:
安装并配置为本地容器/虚拟机提供名称的替代主机名解析插件(查看您的发行版是否有
libnss-*
可用的软件包)。nss-*
例如,Debian 有libnss-docker
对于 Docker 容器和libnss-mymachines
对于由以下人员管理的容器systemd-machined
。如果您选择的发行版中有一个预先存在的插件可以满足您的要求,这可能是最简单的方法:只需安装一个包并编辑hosts:
文件行/etc/nsswitch.conf
,然后就完成了。安装本地 DNS 服务器(例如
dnsmasq
BIND)并将其配置为对您的私有域具有权威性,并将任何其他请求转发到您用作真正 DNS 解析器服务器的任何服务器。这需要更多的工作,并且需要对 DNS 服务器管理有基本的了解 - 但随后您将拥有可用的 DNS 的所有功能。