You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将所有子域名解析到指定A记录并覆盖公共解析?

如何将所有子域名解析到指定A记录并覆盖公共解析?

嘿,刚好碰到过类似的需求!先直接说结论:/etc/resolv.conf做不到这个——它的作用只是告诉系统该用哪些DNS服务器,没法直接定义域名到IP的映射,更别说通配符规则了。

给你推荐两个简单高效的方案,完全不用折腾复杂的Bind:

方案一:用dnsmasq(最推荐,轻量易配置)

dnsmasq是个轻量级的DNS缓存+转发工具,专门应付这种简单的自定义解析场景,配置起来超简单:

  • 先安装dnsmasq:
    Ubuntu/Debian系统:sudo apt install dnsmasq -y
    CentOS/RHEL系统:sudo yum install dnsmasq -y
  • 编辑配置文件/etc/dnsmasq.conf,在文件末尾添加一行(把IP换成你需要的目标地址):
    address=/.domain.com/192.168.1.100
    这行的意思就是:所有以domain.com结尾的域名(包括*.domain.com和domain.com本身)都解析到指定IP
  • 重启dnsmasq服务让配置生效:sudo systemctl restart dnsmasq
  • 最后把系统的DNS服务器改成本地(127.0.0.1):
    可以直接编辑/etc/resolv.conf,把第一个nameserver改成nameserver 127.0.0.1;或者在系统的网络设置里修改DNS地址为127.0.0.1

这样设置后,所有针对*.domain.com的DNS请求都会被dnsmasq拦截,直接返回你指定的IP,完全覆盖公共DNS的记录,完美解决你的需求。

方案二:临时应急(单台机器短时间用)

如果只是单台机器临时需要,不想装软件,那可以用hosts文件的变通方法,但要注意:hosts不支持通配符,所以你得手动添加每个需要的子域名,比如:

192.168.1.100  sub1.domain.com
192.168.1.100  sub2.domain.com
192.168.1.100  sub3.domain.com

这种方法适合子域名数量少的临时场景,要是子域名多的话,还是方案一更省心。

备注:内容来源于stack exchange,提问作者Vitor Falcão

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:07:36