macos /etc/hosts 使用通配符子域名被忽略

macos /etc/hosts 使用通配符子域名被忽略

为什么 macos 忽略 etc/hosts

我曾见过这样的情况:/etc/hosts 文件被忽略

并且它不是TAB,而是IP地址和域名之间的空格。

在 MacOS 上需要做一些特殊的事情才能使用 etc/hosts 吗?

我在 etc/hosts 中有一个本地名称 mydns.com:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
172.18.0.0 *.mydns.com

当我执行 curl subdomain.mydns.com 时,它会转到名称服务器获取 Internet IP 地址,而不是 etc/hosts 中指定的本地 IP 地址?

答案1

当今所有操作系统的 HOSTS 文件都可以包含字母和一些符号。基本互联网命名系统 (rfc882) 中没有“通配符”,最基本的名称解析表也是如此。例如,它不处理提供附加信息、通配符、QCLASS=* 或重叠区域。

如果您想要重定向大量主机名(*),我建议使用 DNS 服务器或至少允许这样做的 DNS 代理。

相关内容