主页 > 其他 > 使用dnsmasq解决openwrt的DNS解析问题

使用dnsmasq解决openwrt的DNS解析问题

2016年8月31日 没有评论

在以前的《一键安装PPTP服务》中,用google的dns(8.8.8.8)来替代了ISP提供的dns服务器,因为如果不替代,运营商dns会将google等被屏蔽网站指向一个不正确的地址,即使是通过VPN也无法正确访问。

但是采用国外dns后发现了一个问题,一些国内网站在dns解析时会提供一个国外的地址,比如访问淘宝,会出现美国淘宝的页面,访问速度也会大大降低。

在openwrt上集成了dnsmasq,这是一个小型的dns代理缓存软件,它可以将特定的域名发送给不同的dns服务器进行解析,可在/etc/dnsmasq.conf文件中进行配置,比如将淘宝域名taobao.com交给国内ISP的dns(210.21.196.6)进行解析,添加如下语句到/etc/dnsmasq.conf文件即可:

server=/taobao.com/210.21.196.6

要解决dns解析问题,有 两种思路:

1、获取国外主流的、被屏蔽的域名列表(GFWLIST),保证被墙网站走国外DNS解析;

2、获取国内主流站点域名列表(ChinaList),保证List中的国内域名走国内DNS解析;

国内主流列表:

https://github.com/felixonmars/dnsmasq-china-list

accelerated-domains.china

将文件114.114.114.114替换为自己的ISP的dns

国外主流列表:

foreign_list

 

应用:

修改 /etc/dnsmasq.conf  ,在最后加入  conf-dir=/etc/dnsmasq.d ,新建并进入目录  /etc/dnsmasq.d ,下载 accelerated-domains.china.conf 和 foreign_list.conf 两个文件后根据需要分别复制两个文件到  /etc/dnsmasq.d 目录。

如果缺省走国内ISP的DNS,则只需拷贝 foreign_list.conf 文件,如果缺省走国外DNS,则只需拷贝 accelerated-domains.china.conf即可。

注意:如果缺省走国内DNS,需要将PPTP的如下红框选项去掉,避免PPTP连接后使用国外的DNS:

 

拷贝后重启dnsmasq立即生效或直接重启路由器:

/etc/init.d/dnsmasq restart

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>