使用DNSmasq搭建DNS服务器 - 转
众所周知,如果使用国内ISP提供的默认DNS服务器,除了有时候服务器高负荷时解析域名比较慢,在网页中强行插入广告更是常有的事。通常解决这个问题我们可以采取更换DNS服务器,但使用公共DNS仍然存在的风险是我们的解析记录可能会被DNS提供商记录用于定向广告或其他商业行为。所以,想要根本的解决这个问题,只能自己搭建一台DNS服务器给自己做域名解析,从此告别域名劫持和隐私泄露。
准备工作
一台可用的VPS(境内境外均可)、Linux环境(本文采用CentOS 7)、XFTP(或其他文件管理软件)、XSHELL(或其他SSH登录软件)、NotePad++(或其他文本修改软件)。
简单介绍DNSmasq
DNSmasq是一款小巧而且方便的用于配置DNS和DHCP的工具,安装时几乎不需要其他软件。它可将VPS配置成为一台域名解析服务器,并且也可以通过服务器本地缓存实现对重复访问的网站的高速解析。我们通过设置上游DNS为无污染的DNS来解决运营商的域名劫持并且保护我们的解析数据。
开始!
安装DNSmasq
yum install dnsmasq
配置DNSmasq
DNSmasq的配置文件是 “/etc/dnsmasq.conf”,通过XFTP找到下载到本地使用NotePad++打开。在配置文件里面对每一条配置都附上了英文说明,如果想深入研究可以仔细阅读。本文以我自己使用的配置进行说明:
不使用VPS默认DNS进行上游解析(这样配置比较简单)
no-resolv
我选取的三个上游DNS,分别是谷歌、Cloudflare和OpenDNS
server=8.8.8.8
server=1.1.1.1
server=208.67.220.222
本地缓存时间(秒),不建议取过长,一小时即可
local-ttl=3600
本地缓存条目,不建议取过多,适中即可
cache-size=5000
同时对三个DNS发起解析,谁返回最快就用谁的结果
all-servers
对国内网站使用国内DNS解析加快访问速度(接下文)
conf-dir=/etc/dnsmasq.d
配置国内网站加速访问
如果国内网站仍然使用国外DNS,造成的结果就是国内网站访问变慢,所以我们需要分开进行解析。
转到/etc/dnsmasq.d目录
cd /etc/dnsmasq.d
下载配置文件
开放53端口
DNS解析默认使用53端口,我们需要将VPS的53端口打开。
firewall-cmd --permanent --zone=public --add-port=53/tcp
firewall-cmd --permanent --zone=public --add-port=53/udp
firewall-cmd --reload
启动DNSmasq
配置完成后,我们就可以愉快的启动解析服务了。
systemctl restart dnsmasq
重启方法:systemctl restart dnsmasq
启动
设置为开机自启动
systemctl enable dnsmasq
启动 dnsmasq 服务
systemctl start dnsmasq
测试DNS解析
在本地电脑上打开cmd,记得将0.0.0.0换成你自己的VPS的地址。如果返回了解析结果就表示DNS已经成功上线了。
nslookup www.baidu.com 0.0.0.0
修改本地DNS地址
这个不多说了,不会的自行Google。
结束语
跟域名劫持说拜拜,网页再也没有牛皮藓,自己的解析记录也不会被运营商记录。
原帖地址: https://timingwalker.xyz/?p=29
仅供自己学习之用途