上周跟着撸羊毛大军上了腾讯的车,撸了6年的服务器,最近也有点忙,这几天闲下来了,准备考虑一下怎么玩,正好看文章看到有用vps做dns服务器的,可以加快解析速度,防污染,还能去广告,趁着这几天没啥事情,搭建了一个玩玩。

1.安装dnsmasq

yum install dnsmasq  //直接用yum安装

如果自己喜欢折腾的话,可以去dnsmasq官网自己下载在编译安装。

2.备份相关配置文件

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak   //备份dnsmasq默认配置文件
cp /etc/resolv.conf /etc/resolv.conf.bak  //备份本机dns配置文件

3.配置dnsmasq

echo 'nameserver 127.0.0.1' > /etc/resolv.conf     //修改本地dns为127.0.0.1
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf   //添加dnsmasq配置文件
echo 'nameserver 114.114.114.114' >> /etc/resolv.dnsmasq.conf   //添加114公众dns为上游dns服务器
echo 'nameserver 114.114.115.115' >> /etc/resolv.dnsmasq.conf   //添加114公众dns为上游dns服务器
echo 'nameserver 223.5.5.5' >> /etc/resolv.dnsmasq.conf   //添加阿里云公众dns为上游dns服务器

将配置文件的路径写入dnsmasq全局配置文件

echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
echo 'domain=raspberry.local' >> /etc/dnsmasq.conf
echo 'min-port=4096' >> /etc/dnsmasq.conf
echo 'cache-size=10000' >> /etc/dnsmasq.conf


cp /etc/hosts /etc/dnsmasq.hosts   //导入本地的dns到自定义dns

4.服务器启动及防火墙设置

systemctl start dnsmasq.service     //启动dnsmasq服务

    vi /etc/sysconfig/iptables  //编辑防火墙配置文件
   -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT  //将53端口加入防火墙放行列表

注意:如果是云主机需要在控制台的安全组添加相关端口放行,貌似阿里云的镜像都没有启用默认防火墙。

检查53端口

netstat -ntulp|grep 53 

经过测试已经可以正常使用,效果并不是很明显,但毕竟是自己的,至少不会被劫持了。

后续会研究去广告,小测试了一下还是可以去掉部分广告的。

先运行几天看看吧,是否稳定,昨天得知一个小众的dns公开会被反复ddos,已经宣布关闭了,看来这dns还是自己用比较放心。

2018年5月更新,因效果并不是很理想,目前已停止使用。