luq*_*o33 12 domain-name-system cname-record dnsmasq
我想将域名解析为somedomain.comCNAME(AWS 负载均衡器,例如some-balancer-1213231237.ap-southeast-2.elb.amazonaws.com),但仅限于本地。
我的意思是要实现的是,每当我尝试访问时somedomain.com,我都希望得到上述负载均衡器的服务——这应该仅限于我自己的计算机。
这是不可能通过编辑来实现的,/etc/hosts因为在那里只能映射 A 记录(IP 地址)。我在某处读到dnsmasq了实现这一目标的最强大的解决方案。但是,文档对于如何实现这一点非常不清楚。我很感激你的建议,也许还有一个带例子的配置。谢谢!
您可以将以下内容添加到您的配置文件中dnsmasq:
cname=somedomain.com,some-balancer-1213231237.ap-southeast-2.elb.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
如手册页中所述:
--cname=<cname>,[<cname>,]<target>[,<TTL>]
Run Code Online (Sandbox Code Playgroud)
返回一个 CNAME 记录,表明它
<cname>确实是<target>. 目标存在重大限制;它必须是 dnsmasq 从 /etc/hosts(或其他主机文件)、从 DHCP、从--interface-name或从另一个--cname. 如果目标不满足此条件,则忽略整个 cname。cname 必须是唯一的,但允许多个 cname 指向同一个目标。实际上,可以在一行中为一个目标声明多个 cname,如下所示:--cname=cname1,cname2,target如果给出了生存时间,它会覆盖默认值,即零或 的值
--local-ttl。该值是一个正整数,并以秒为单位给出生存时间。
正如手册页指定的那样,您必须在/etc/hosts文件中定义目标:
203.0.113.80 some-balancer-1213231237.ap-southeast-2.elb.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
所以我不确定这对你是否有用。