DNS服务器在内网环境中非常重要,除了互联网上的公用的DNS服务器,还需要自己设定私有的DNS服务器,下面就介绍如何在CentOS系统中通过Dnsmasq配置DNS服务器。
Dnsmasq作为本地DNS服务器安装方便,操作简单,改动的地方也不是很多,如果用国内的VPS来搭建本地DNS,响应的速度会更快,也更稳定。
Dnsmasq的功能强大,反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等这些功能在我们的实际的生活中都是很有用的。
1. 安装和配置dnsmasq
在CentOS上直接通过yum安装dnsmasq。
yum install -y dnsmasq
修改配置文件/etc/dnsmasq.conf
,解注释或者修改以下三项内容:
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
addn-hosts=/etc/dnsmasq.hosts
修改配置文件/etc/resolv.dnsmasq.conf
,该文件内设置了上游的DNS服务器,即若此处没有对应的DNS解析,则去该文件中设置的DNS服务器上查询。
nameserver 8.8.8.8
修改配置文件/etc/dnsmasq.hosts
,向该文件内写入DNS解析条目。
123.124.109.178 test.example.com
也可以将本机的hosts文件中的解析条目导入到该配置文件中。
cat /etc/hosts >> /etc/dnsmasq.hosts
2. 启动dnsmasq
启动dnsmasq,并设定其随系统启动。
service dnsmasq start
chkconfig dnsmasq on
查看Dnsmasq服务是否成功启动。
netstat -tunlp | grep 53
3. 测试dnsmasq
安装dig工具软件。
yum install -y bind-utils
使用dig命令向本服务器请求DNS解析,观察是否成功。
[root@test ~]# dig @127.0.0.1 test.example.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> @127.0.0.1 test.example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25319
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;test.example.com. IN A
;; ANSWER SECTION:
test.example.com. 0 IN A 123.124.109.178
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jan 30 03:45:06 2019
;; MSG SIZE rcvd: 50
测试成功。
4. 高级应用—智能DNS加快解析速度
打开/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如国内外不同的网站使用不同的DNS。
#国内指定DNS
server=/cn/114.114.114.114
server=/taobao.com/114.114.114.114
server=/taobaocdn.com/114.114.114.114
#国外指定DNS
server=/google.com/223.5.5.5
解释:
配置中,server=/cn/(**)表示所有的cn域名都使用114这个公共DNS,server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS。
5. 高级应用—屏蔽网页广告
将指广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。
127.0.0.1 ad.youku.com
127.0.0.1 ad.iqiyi.com
指定域名解析到特定的IP上。这个功能可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。
123.123.123.123 freehao123.com
6. 附录
ntbind的网址:http://www.68idc.cn/help/notebook/bind/20150106161073.html
ntbind的下载地址为:http://ftp.isc.org/isc/bind8/contrib/
dnsmamq的网址:http://www.360doc.com/content/14/0913/13/8314158_409140713.shtml
介绍dns域名泛解析:http://www.freeoa.net/osuport/servap/dnsmasq-use-intro-refer_2480.html