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

OpenWRT是一款基于Linux的开源路由器系统,它的DNS转发功能可以将本地网络内的域名解析请求转发到指定的DNS服务器上。下面是关于OpenWRT DNS转发的详细介绍: 首先,要在OpenWRT路由器上进行DNS转发配置,我们可以通过以下步骤完成: 1. 登录OpenWRT路由器的管理界面,打开Luci管理界面。 2. 进入"网络" -> "DHCP和DNS"。 3. 在"服务器设置"下的"忽略解析文件"一栏中,选择"忽略解析文件"。 4. 在"自定义服务器"一栏中,添加需要转发DNS服务器的地址,可以是本地网络内的DNS服务器也可以是公共的DNS服务器,如8.8.8.8。 5. 单击"保存&应用"按钮,保存设置并应用生效。 接下来,当本地网络内的设备发送域名解析请求时,OpenWRT路由器会将这些请求转发到指定的DNS服务器,并将结果返回给设备。 通过以上配置,我们可以实现OpenWRT路由器上的DNS转发。这样可以方便地控制本地网络内的域名解析过程,加快了解析速度,并且可以根据需求使用特定的DNS服务器。同时,通过设置不同的DNS服务器地址,我们也可以轻松地实现对不同设备的DNS请求进行策略控制。 需要注意的是,在进行DNS转发配置时,要确保DNS服务器的可用性和稳定性,并避免将DNS请求转发到未知或不可靠的服务器地址,以免影响网络的稳定性和安全性。 总结来说,通过OpenWRT提供的DNS转发功能,我们可以方便地将本地网络内的域名解析请求转发到指定的DNS服务器上,提高网络的速度和灵活性,并满足不同设备的需求。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值