将 DNSCrypt 部署到 Openwrt 路由器上+ DNSmasq 解析国内域名用本地 DNS[ZT+实践]
原文地址:
1、https://typcn.com/legacy/blog/posts/openwrt-dnscypt.html
2、http://www.openwrt.pro/post-376.html
下面红字部份为本人实践的笔记
之前一直用的是 ChinaDNS-C 结果发现解析速度奇慢无比,访问一个网站需要等 30 秒左右的主机解析时间,大概是到 Google DNS 的线路被随机丢包了吧
试了试 OpenDNS 带 Anycast 的 DNSCrypt 服务器,70+ ms 还不错,于是就部署到了路由器上
dl
first
一般情况下,直接使用 opkg install dnscrypt-proxy
就可以安装,如果提示未找到包的话,在下方选择合适的平台进行下载。
这些安装包收集于网络,我没有找到更多的平台,手头没有 linux 的机子也没法编译,有条件的可以自己下载源代码进行交叉编译。
ar71xx
- 本体
- libsodium
brcm63xx
- 本体
x86
- 本体
- libsodium
安装方法
别告诉我你不会安装 ipk
使用方法
启动
默认的设置可以直接使用/etc/init.d/dnscrypt-proxy start #启动/etc/init.d/dnscrypt-proxy enable # 设置开机自启如果没问题的话,程序已经成功 listen 到 2053 端口了[注:我在LEDE上最新的包安装后的端口是5353]
设置 DNSmasq
vi /etc/config/dhcp# 在 config dnsmasq 区域的最后加入option noresolv '1'
list server '127.0.0.1#2053' [同样,这里也需要改为:127.0.0.1#5353]# 如果有 option resolvfile 开头的行 请删掉
重启服务
/etc/init.d/dnsmasq restart
修改 DNS
将你电脑的 DNS 服务器修改为你路由器的 IP,通常为 192.168.1.1
设置完成
Before - GOV DNS SPOFFING
After - CORRECT RESULT
Why
之前我们使用了 DNSCrypt 来防止 DNS 解析的污染,但是 DNSCrypt 解析速度往往有些慢,而且部分网站的 CDN 会将你识别在国外,这样访问也很慢,用着就非常不爽,那么就需要再加一些配置使其在解析国内域名时使用本地 DNS 。
修改启动脚本
由于 OpenWrt (luci) 的配置文件是自动生成的,我们需要对他的启动脚本进行小 hack
vi /etc/init.d/dnsmasq
输入 /start() 回车,Vim 会将光标自动定位到 start 函数处,我们在 start 函数内新建一行 输入
echo "conf-dir=/etc/dnsmasq.d" >> $CONFIGFILE
如图
[ 注:新版的LEDE里面dnsmasq的启动脚本已经和原文大不一样了,复杂了很多,所以我选择直接在/etc/dnsmasq.conf文件的最后直接添加一行:conf-dir=/etc/dnsmasq.d ]
按 ESC 输入 :wq 保存并退出
下载并安装
打开 https://github.com/felixonmars/dnsmasq-china-list 点击 Download ZIP 下载后解压
新建文件夹 /etc/dnsmasq.d
将 accelerated-domains.china.conf 和 bogus-nxdomain.china.conf 放到 /etc/dnsmasq.d 中
[ 其实这里可以直接下载两个文件:
vi get_dns_china_list.sh
#!/bin/ash
wget --no-check-certificate -O /etc/dnsmasq.d/accelerated-domains.china.conf "https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf"
wget --no-check-certificate -O /etc/dnsmasq.d/bogus-nxdomain.china.conf "https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/bogus-nxdomain.china.conf"
sed -i 's/114.114.114.114/本地dns以获得最快的解释/g' /etc/dnsmasq.d/accelerated-domains.china.conf
另外,建议做个定时任务更新上面两个文件,半年一次便可
]
重启 dnsmasq
/etc/init.d/dnsmasq restart
配置完成 !
效果
使用前:可以看到我的博客被解析到了日本节点
使用后:正确解析到网宿节点
[ 经本人测试的结果,taobao.com和baidu.com由修改之前的解释到美国马上解释回国内的地址 ]
另,参照https://jiasule.v2ex.com/t/286777
添加--ephemeral-keys 参数开启混淆效果会好一些,openwrt里的配置如下
root@openwrt:/etc/config# cat dnscrypt-proxyconfig dnscrypt-proxy 'ns1'option address '127.0.0.1'option port '5353'option resolver 'ventricle.us'option ephemeral_keys '1'config global
本文章由作者:佐须之男 整理编辑,原文地址: 让 OpenWrt 上的 DNSmasq 解析国内域名用本地 DNS
将 DNSCrypt 部署到 Openwrt 路由器上+ DNSmasq 解析国内域名用本地 DNS[ZT+实践]相关推荐
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析 文章目录 Dnsmasq安装 Dnsmasq配置 Dnsmasq启动 Dnsmasq使用 Dnsmasq小结 默认的情况下, ...
- OpenWrt路由器上的LuCI模块开发
[一.LuCI配置界面开发的框架] LuCI是OpenWrt上的Web管理界面,LuCI采用了MVC三层架构,同时其使用Lua脚本开发,所以开发LuCI的配置界面不需要编辑任何的Html代码,除非想自 ...
- openwrt搭建微信认证服务器,一种基于Openwrt路由器的Portal认证的方法技术
本发明专利技术公开了一种基于Openwrt路由器的Portal认证的方法,包括:步骤一,在Openwrt路由器上部署Wifidog协议,实现用户访问数据的拦截.重定向和在线状态保持的功能:步骤二,利用 ...
- Android设备通过USB共享网络给OpenWrt路由器
1️⃣前言 如果随身WiFi自带的热点不稳定的话,可以考虑插到有USB口的OpenWrt路由器上,减少随身WiFi的负荷,使网络更为稳定. 但有的路由器虽然有USB口,也是OpenWrt系统,连接设备 ...
- wifidog浏览器弹窗认证 — 基于OpenWRT路由器
一.移植 wifidog功能 1.功能介绍 wifidog是一种能够实现让路由器局域网设备(包括wifi连接和网线连接设备)在上网前先进行 portal认证的工具,主要应用于手机端上网认证,手机在 ...
- Dnsmasq加速本地DNS请求
文章目录 Dnsmasq安装 Dnsmasq配置 Dnsmasq启动 Dnsmasq使用 Dnsmasq小结 默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少 ...
- openwrt路由器php-cli,【在openwrt无线路由器上部署freeswitch+fusionpbx (原帖恩山论坛)】-网关论坛-ZOL中关村在线...
前言:freeswitch是目前开源最火的软交换系统,fusionpbx则是其gui管理界面(只有E文版本),同样也是开源.freeswitch相比asterisk功能和性能都要强大很多,毕竟free ...
- 在华为HG255D路由器上刷了OpenWRT,实现了多拨,下载速度超快
2019独角兽企业重金招聘Python工程师标准>>> 在HG255D上刷了OpenWRT,用NWan实现了多拨,家里20M宽带现在成了60M(3拨),下载速度最高能到7M/s,速度 ...
- OpenWrt路由器macvlan单线多拨的方法
之前写过一篇文章<OpwnWrt 路由器MWAN3多线多拨实现方法>,介绍了如何在具备多根入室宽带网线的情况下实现网络带宽的叠加.多线多拨一般应用在多个不同运营商线路的负载均衡场景中,那么 ...
最新文章
- dot Net Frameworks中常见的设计模式
- C++ 常函数 常对象 初步
- 一个自动生成关键字索引页面的比处理文件
- go string 转 uint64_如何优雅的使用Go接口?
- UWA TIPS:让你的项目更懂你!
- Python基础 —— dict
- 阿里播放器Aliplayer封装
- 自然语言处理的会议、论文集下载
- antlr ques
- Jsp+Servlet飞机票预定系统(JavaWeb毕业设计源码)
- 不定积分知识结构图_不定积分计算法则总结
- 龟兔赛跑Description乌龟与兔子在马路上赛跑,马路边可以随地进行休息。
- word设置页眉页码 首页没有页眉(终于搞懂了)
- docker ss-pannel_docker+traefik配置mysql + panel
- bootstrap 修改carousel 样式
- 【MATLAB教程案例5】常见无线通信信道的matlab模拟和仿真分析——自由空间损耗模型,Okumura-Hata模型以及COST231 Hata模型
- SQL注入之order by注入与limit注入
- Java实现 蓝桥杯VIP 基础练习 分解质因数
- 冯唐:职场人35岁后的成事心法,就这10个字
- 由例子程序给出的显示列表,展示重定形函数的应用
热门文章
- Ubuntu扩展根目录空间
- idea的一些快捷键
- MC开服教程3:python提取日志中的聊天记录、登录信息、死亡信息、成就信息
- Nessus安装解除ip限制和卸载
- iOS开发之Undefined symbol:_OBJC_CLASS_$_****
- 一枚渣渣的贝壳找房笔试惨痛经历
- 新玺配资:关注高景气度行业且回调充分的个股
- C# 事务之SqlTransaction
- ZK(ZooKeeper)分布式锁实现
- python figure函数_python3_matplotlib_figure()函数解析