安装dnsmasq后需要进行一些配置才能使用
简单配置
[bash] vim /etc/dnsmasq.conf
#找到
#resolv-file=
#改为
resolv-file=/etc/resolv.dnsmasq.conf
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
#编辑/etc/resolv.dnsmasq.conf,确保符合DNS配置文件的常见格式(在里面指定转发到DNS服务器)
#修改/etc/resolv.conf
#改为本机DNS
nameserver 127.0.0.1[/bash]
完成后重启dnsmasq即可
使用更加合理的配置
DNSMASQ最大的好处的轻量。灵活,可以针对不同的域名选择不同的上层DNS来解析。
比如我的一台电信专线的VPN服务器老打不开某国内SNS网站(不想提名字),用nslookup检查后发现被解析到了天津联通的一个负载均衡点。打不开是必然了。
那么可以使用DNSMASQ来解决这个问题,常规站点使用/etc/resolv.dnsmasq.conf指定的DNS服务器来解析,特殊站点使用自己制定的其他DNS服务器来解析。
首先注释掉文件最后一行的conf-dir=/etc/dnsmasq.d
[bash]mkdir /etc/dnsmasq.d
cd /etc/dnsmasq.d
nano dnsmasq.server.conf[/bash]
写入
#注解 221.228.255.1是常州电信主DNS
server=/renren.com/8.8.8.8
server=/www.renren.com/8.8.4.4
server=/ptlogin2.qq.com/8.8.8.8
server=/qq.com/8.8.8.8
server=/163.com/8.8.8.8
server=/sina.com/8.8.8.8
server=/sina.com.cn/8.8.8.8
server=/cntv.cn/221.228.255.1
server=/img.cctvpic.com/221.228.255.1
server=/sinaimg.cn/8.8.8.8
server=/sinajs.cn/8.8.8.8
server=/cctv.com/221.228.255.1
server=/cache.netease.com/8.8.8.8
server=/blog.163.com/8.8.8.8
server=/126.net/8.8.8.8
server=/gtimg.com/221.228.255.1
#好像是腾讯的图片CDN服务器域名
#sina在常州有节点,所以使用常州电信的DNS
server=/v.iask.com/221.228.255.1
#上面这个域名是sina的视频播放权限配置文件下载地址
#正常的返回结果是一个XML文件,规定了视频播放权限。此地址解析不正确会导致播放器提示视频已经删除。
#相应分析我会相应撰文
server=/lxdns.com/221.228.255.1
#上面这个域名是一个智能DNS解析的CDN域名,比如
#sina的flv视频的CDN域名使用flv.sina.lxdns.com这个域名,这个域名解析的不正确会导致视频播放缓慢
#
#
#其他列表我不再列出了,后面我只更新到Dropbox网络硬盘。需要的可以到那里下载到最新版本。
重启DNSMASQ,在客户端上指定该机器为DNS即可
需要注意的是,由于没有配置DNS反解析,如果系统中存在其他DNS,有优先使用存在DNS反解析的DNS,当所有服务器都不可使用时候,系统才会使用这个没有DNS反解析的DNS。这一点你可以通过nslookup看出来
参考http://code.google.com/p/autoddvpn/wiki/DNSMasq#問題背景
另外,windows xp等系统上PPTP VPN连接后,默认还是不会使用PPTP获取到DNS,原因和解决方案参看此文章
http://ihipop.info/2010/06/1284.html
修改后应该就OK了。
另外,dnsmasq支持泛解析和泛匹配的
比如我规则这样写
[bash]server=/cn/8.8.8.8[/bash]
那么所有cn域名都会使用8.8.8.8来解析
清空DNSMASQ缓存可以这样发送一个SIGHUP信号
[bash]sudo killall -s SIGHUP dnsmasq[/bash]
@Heiher
好像是存储在内存里面的。这个就是个转发服务器。配DNS可以使用bind啊。
这个东西不和可不可以用 sqlite 作用存储后端,可以就用它作DDNS服务器啦。