将几台机器从 Ubuntu 16.04 升级到 18.04 后,我意识到 Ubuntu 18 无法解析我在 dnsmasq 中配置的别名。
/etc/dnsmasq.conf
[...]
# Include another lot of configuration options.
#conf-file=/etc/dnsmasq.more.conf
#conf-dir=/etc/dnsmasq.d
conf-file=/etc/dnsmasq_alias.conf
[...]
/etc/dnsmasq_alias.conf
# cat dnsmasq_alias.conf
# Provide an alias for a "local" DNS name. Note that this _only_ works
# for targets which are names from DHCP or /etc/hosts. Give host
# "bert" another name, bertrand
# NOTE: It is important to set FQDN to CNAME: cname=bug.domain.name,bugzilla
cname=ci.company.intranet,git-lab
cname=gitlab.company.intranet,git-lab
cname=invoice.company.intranet,prod-db-inv-01
在 Ubuntu 16 上,如果我 pinggitlab
通gitlab.company.intranet
它就可以工作,但是在 Ubuntu 18 中却不行。
由于它一直在 Windows 和 Ubuntu 16.04 服务器上正常运行,所以我想这可能与 Ubuntu 的新版本(18.04)有关?
Dnsmasq 在 Ubuntu 16.04 上运行。
答案1
我遇到过同样的问题。我不知道真正的原因或更好的解决方法,但我发现可以通过将域添加到 dnsmasq 中的别名目标来解决这个问题。这不是理想的选择,但至少这是一个中心变化,而不是每个 DNS 客户端都这样做。
因此,对于你的情况,
cname=ci.company.intranet,git-lab
尝试
cname=ci.company.intranet,git-lab.company.intranet