自建DNS服务器

不晓得为撒,用网上的一些公共DNS服务的时候,总是莫名其妙的有些网站无法解析,有时候114能解析,阿里DNS不行或者腾讯DNS不行,导致总是来回切换DNS,很是烦心。

于是就想着自己搭建一个DNS服务会不会好一点?网上搜了一下,好像很复杂的样子,一直就没动手,但是今天试了下,发现出奇的简单,体验了一番,感觉效果良好。

首先你要有一个VPS,质量不用太好,我在我美国的64M内存的VPS上面完美安装,看了下内存32M应该也是可以的。

如果你对解析速度要求比较高,建议是用亚洲的VPS,甚至用国内VPS中转也是可以的,但是成本就略高了点,还是根据自己需求DIY吧。

安装Dnsmasq

yum install dnsmasq -y 
service dnsmasq start 

配置Dnsmasq

Dnsmasq的配置文件是 /etc/dnsmasq.conf,编辑成如下格式:

需要注意的一点是,检查一下no-hosts前面是不是已经有了#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。

一般搭建DNS服务,可以允许所有用户使用你的DNS服务,即listen-address默认注释掉即可,如果你不想所有用户都使用你的DNS服务,可以在listen-address后面加上你指定的IP地址,如:

listen-address=listen-address=192.168.1.123,127.0.0.1

修改Dnsmasq上游DNS服务器

编辑 /etc/resolv.conf ,参考如下:

nameserver 8.8.8.8
nameserver 4.4.4.4

启动Dnsmasq并加入启动项

chkconfig dnsmasq on
/etc/init.d/dnsmasq restart

执行 netstat -tunlp|grep 53 可以查看Dnsmasq是否有正常启动

剩下的就是修改你本地的DNS就可以了。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构师历程

zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用

流程: 1.服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写入URL 2.服务消费者启动时订阅/dubb...

2583
来自专栏IT笔记

MongoDB从入门到“精通”之简介和如何安装

MongoDB简介 非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备...

2994
来自专栏优启梦

通过Dnsmasq自建干净的DNS服务

不晓得为撒,用网上的一些公共DNS服务的时候,总是莫名其妙的有些网站无法解析,有时候114能解析,阿里DNS不行或者腾讯DNS不行,导致总是来回切换DNS,很是...

2.1K7
来自专栏butterfly100

权限控制的解决方式(科普向)

目录 1 权限控制是什么   1.1 ACL   1.2 RBAC     1.2.1 名词术语     1.2.2 RBAC定义     1.2.3 RBAC...

1.1K11
来自专栏一枝花算不算浪漫

Nginx负载均衡的详细配置及使用案例详解.

38713
来自专栏醉程序

CentOS7 编译安装 nginx php7

2752
来自专栏恰童鞋骚年

操作系统核心原理-3.进程原理(上):进程概要

进程管理、内存管理和文件管理是操作系统的三大核心功能,那么什么是进程呢?顾名思义,进程就是进展中的程序,或者说进程是执行中的程序。当一个程序被加载到内存之后就变...

2102
来自专栏CSDN技术头条

运用Kubernetes进行分布式负载测试

本文为CSDN原创编译文章,禁止转载。 负载测试是开发后台基础架构的重要一环,它不但能够演示系统在真实需求面前的性能表现,还可以通过模拟用户与设备行为,在应用程...

2256
来自专栏杨建荣的学习笔记

海量数据迁移之一个误操作的问题总结(r3笔记第21天)

在生产环境中的数据迁移还是很惊心动魄的,毕竟生产的数据不容许有任何潜在的问题,很小的问题也可能导致业务的终端,这个时候dba的角色是很重要的,如果dba犯了一个...

3477
来自专栏云计算D1net

为什么需要PaaS?对Deis,Heroku,Flynn的一些观察

为什么需要PaaS?一句话,现在的应用程序从源代码到运行阶段太复杂,没有标准的,通用的方式。 整个过程及产出如下: 开发阶段:源代码构建阶段:发布包/可执行程序...

3096

扫码关注云+社区

领取腾讯云代金券