使用 Dnsmasq 作本地 DNS 缓存

Dnsmasq是一个开源的轻量级DNS转发和DHCP、TFTP服务器,在路由器系统中使用广泛

ipv6-test.com

在阿里云上启用IPv6 Tunnel之后,访问 Google 经常在 v4 与 v6 之间乱跳,而且 DNS6 工作也不太正常,查了一下似乎用 Dnsmasq 就可以解决



这台服务器使用的是 Ubuntu 16.04 ,所以我们直接安装就行了:

apt-get install dnsmasq

编辑 dnsmasq.conf

vim /etc/dnsmasq.conf

写入新配置:

#监听本机
listen-address=127.0.0.1

#同步请求DNS
all-servers

#上游DNS服务器
server=8.8.8.8 
server=8.8.4.4
server=2001:4860:4860::8888
server=2001:4860:4860::8844

#让阿里云内网镜像使用默认DNS
server=/mirrors.cloud.aliyuncs.com/100.100.2.136
server=/mirrors.cloud.aliyuncs.com/100.100.2.138



接下来更改原来的 DNS ,不要只修改 /etc/resolv.conf,否则重启之后会被还原

vim /etc/resolv.conf
vim /etc/resolvconf/resolv.conf.d/base

删除所有 nameserver ,然后写入 nameserver 127.0.0.1,要注意不是所有系统都需要修改resolv.conf.d


最后执行 service dnsmasq restart ,部署完成
如果 Dnsmasq 没有正常工作,则有可能是系统已经安装 dnsmasq-base
修改 /etc/NetworkManager/NetworkManager.conf,找到 dns=dnsmasq 这行注释掉即可

弄完之后在某S客户端内就可以填 DNS 为阿里云的内网IP地址了~

添加新评论