Openwrt架设DNS转发器,解决污染问题

鉴于境外技术网站经常有河蟹出没,所以有必要折腾一下。

 

关于DNS劫持和DNS污染的概念和区别,就不多说了。网上都有很多解释。解决方案无非就几种。

 

1.使用非53的udp端口。这个方法显然不具备实操意义,好少有开放非53UDP端口的dns服务器。

2.使用TCP 53端口查询,其中google的8.8.8.8就支持

3.使用加密的DNS协议,opendns貌似提供了解决方案。

 

查了一下openwrt有提供unbound这个软件包,可以非常方便地部署到路由器上。

unbound支持使用TCP协议进行DNS查询,所以只需要把DNS请求用TCP协议转发出去境外的DNS,就可以解决污染问题了。

虽然DNS的协议规定TCP协议也是其可以使用的协议,一般软件发出都是UDP 53端口来,所以需要做一个UDP转TCP的DNS转发器。

利用Openwrt里面自带了dnsmasq就能实现了。以下是实现方法。

 

先下载unbound。

opkg update
opkg install unbound


需要注意的是,如果使用Dreambox,他提供的unbound版本过低,不能提供TCP转发功能。我已提交了patch给Dreambox项目了,不过貌似项目管理者太繁忙没有处理这个任务单....

https://dev.openwrt.org.cn/ticket/84#

如果在Dreambox强行安装trunk或者Attitude Adjustment提供的unbound,会有l

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值