主页 > 路由器 > 使用dnsmasq解决openwrt的DNS解析问题

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

2016年8月31日 使用dnsmasq解决openwrt的DNS解析问题有1条评论 阅读: 42,981 次

在以前的《一键安装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

 

评论:1

  1. 路人甲 回复
    2017年8月22日 于 下午7:03

    我是从恩山的【圣诞首发】 这个帖子找到这里来的,感觉你应该就是帖主。跟着帖子设置了下,并没有成功,是不是有其它设置在截图里没有体现出来,或者用文字说下都要设置什么地方?
    就是用gfw版本加pdnsd的设置。越详细越好,比如局端通告dns啊之类的,好像都要设置?如果很麻烦需要花费很多时间来解释的话,请贴个收款二维码。非常需要解决dns污染,心里洁癖吧大概,但如果只用ssr不用防污染y2b打不开,所以也并不能算心里洁癖。。。

发表评论

新用户的评论需审核后才会显示;

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