最近dns污染太严重,没办法只能自己动手解决了
1,准备软件
brew install dnsmasq #dns小型server brew install dnscrypt-proxy #dns代理,主要让dns数据包走专用通道 https://github.com/felixonmars/dnsmasq-china-list #dns配置文件,主要加快国内访问 https://github.com/v2ray/v2ray-core #MacOS客户端软件
2,首先配置好你的V2ray,使其能连上你的科学上网服务器。这个如果不会我在开一个教程。
3,修改 dnscrypt-proxy 的配置文件 /usr/local/etc/dnscrypt-proxy.toml。找到这几处 listen_addresses = [‘127.0.0.1:3333’]这个3333你可自己修改相应的端口数值,也可以直接照搬我的。force_tcp = true,(默认false)这个打开强制dns走tcp协议,避免污染。http_proxy = ‘http://127.0.0.1:1087’,去掉这个前面的注释#。1087是你的V2ray的本地http代理端口号,可自己修改。
4,修改dnsmasq配置文件 /usr/local/etc/dnsmasq.conf。这个文件我们不动,新增一个配置文件到 /usr/local/etc/dnsmasq.d/目录下,文件名自定比如base.conf。配置如下:
# 不连接自动下发的dns no-resolv # 不检查有关解析的配置文件更新 no-poll # 配置文件路径,加载dnsmasq-china-list的那两个配置文件 conf-dir=/usr/local/etc/dnsmasq.d # 附加Hosts文件,可有可无,我觉得以后可能还是需要用到Hosts,就加入了这一行 addn-hosts=/usr/local/etc/dnsmasq.hosts # 上游服务器设置成DNSCrypt,也就是刚才dnscrypt-proxy里的端口号和监听地址 server=127.0.0.1#3333 # 缓存大小,默认是150,最大9999 cache-size=3000 #增大缓存在本地的时间,减少请求次数。最大3600 min-cache-ttl=3600 #重新加载后清空缓存 clear-on-reload
5,把https://github.com/felixonmars/dnsmasq-china-list下载回来的文件有带conf结尾的,复制到/usr/local/etc/dnsmasq.d/目录下。其实他自带了安装程序,但我用不到更新,故就不安装了。
6,启动和测试
sudo brew services start dnscrypt-proxy #启动并设置开机启动 sudo brew services start dnsmasq #启动并设置开机启动 sudo lsof -Pni UDP:53 #查看端口是否有对应程序
7,dnsmasq的配置文件有一行addn-hosts=/usr/local/etc/dnsmasq.hosts。这个要注意下。如果你的V2ray的地址是域名的话,请在这里做好解析工作。否则当你设置dns为127.0.0.1后,你的V2ray可能连不上。格式如下
90.life 54.87.57.134