sudo apt-get -y install dnsmasq
然后修改/etc/dnsmasq.conf 添加如下(个人觉得这是最有用的几条设置):
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=本机IP
addn-hosts=/etc/hosts.dnsmasq
# 给 *.apple.com 和 taobao.com 使用专用的 DNS
server=/taobao.com/223.5.5.5
server=/.apple.com/223.6.6.6
- resolv-file:从文件读取 DNSMasq 上游的 DNS 服务器配置。
strict-order:resolv-file 文件中如果指定了多个 DNS 服务器,严格安装 DNS 服务器的先后顺序查询域名。 - listen-address:监听地址,配置为本机 IP 即可。
- addn-hosts:从文件读取本地 DNS 域名和 IP 的对应关系,格式为 <IP> <Domain name>。其实可以把 IP 和域名的对应关系写在 /etc/hosts 文件中,DNSMasq 默认从那里读取,但如果要支持一个域名对应多个 IP,就必须使用 addn-hosts 选项了。
最后在/etc/resolv.dnsmasq.conf中添加域名服务器,以及在/etc/hosts.dnsmasq添加指定与域名主机映射。类似如下:
$ cat /etc/resolv.dnsmasq.conf
nameserver 114.114.114.114
nameserver 127.0.0.1
$ cat /etc/hosts.dnsmasq
127.0.0.1 localhost
127.0.1.1 worker-1
参考文章:
DNSMasq 域名解析配置 - 简书 (jianshu.com)
Dnsmasq 介绍与使用 | Enki's Notes (enkichen.com)