前两天给AX86U刷了ks的merlin改,merlin修改了官方固件的DDNS功能,使其支持DDNS脚本。用起来很简单。
1. ks的merlin改是默认打开jffs和自定义脚本支持的,如果没开,就到系统设置里打开
2. 新建文件 /jfss/scripts/ddns-start ,给执行权限,至少755,写入你DDNS服务商的脚本,下面是我用的DNSimple的脚本:
前两天给AX86U刷了ks的merlin改,merlin修改了官方固件的DDNS功能,使其支持DDNS脚本。用起来很简单。
1. ks的merlin改是默认打开jffs和自定义脚本支持的,如果没开,就到系统设置里打开
2. 新建文件 /jfss/scripts/ddns-start ,给执行权限,至少755,写入你DDNS服务商的脚本,下面是我用的DNSimple的脚本:
使用ChinaDNS过程中,我发现会出现国内DNS劫持了一些国外域名到国内IP时候,出现ChinaDNS误判,将域名误判为国内地址,返回了国内的劫持了的IP,详见:
https://github.com/aa65535/openwrt-chinadns/issues/24
又有另一种情况,使用一段时间后,国外DNS完全没有response导致国外网站全部无法解析,遇到这种情况的很多,如:
https://github.com/aa65535/openwrt-chinadns/issues/14
此时试试这里的方法,可能管用,说明摘录自aa65535 release的chinadns1.3.2-2版本的说明:…
(最新DNS解析的改善方法已经合并至《Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动科学上网》的DNS配置部分,本文为旧版本)
本人博客中提到的自动科学上网路由器方案,大都使用了ChinaDNS提供防污染、优化解析的DNS服务,不过实际使用中还是会遇到很多的误判情况,一是多见于存在海外CDN服务器的国内网站,导致访问国内站点走代理;二是某些ISP的DNS存在劫持现象导致ChinaDNS无法正确处理导致无法爬墙。而这里就是探讨改善这种情况的方法。…
本文适用于通常的UDP方式DNS查询不可用、不稳定或者无法正常解决DNS污染的情况,适用于但不限于以下情况:
1、你的ISP可能会封杀国外的大部分UDP通讯(如教育网)
2、UDP通讯不稳定,DNS解析经常卡住
3、代理服务器不支持代理UDP协议,又遇到长城宽带这种坑爹ISP时;
TCP方式查询,请搭配shadowsocks等代理效果更佳,使用shadowsocks代理路由器的TCP流量,使得TCP的DNS查询也能走shadowsocks代理,更加稳定安全。上面的第三条的情况可能必须这么做才能解决问题(没有长宽的网络环境无法测试)。…
2、添加混淆: simple-obfs + shadowsocks-libev for Windows
一、背景知识:
1、[强力推荐站点] 鸟哥的Linux私房菜 – 学习Linux
二、路由器科学上网
1、Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动科学上网
2、Shadowsocks + Redsocks 实现 OpenWRT 路由器自动科学上网 (停止更新)
3、Shadowsocks + GfwList 实现 OpenWRT / LEDE 路由器自动科学上网
三、其他
本文是《Shadowsocks + ChnRoute 实现 OpenWRT / LEDE 路由器自动科学上网》的补充,介绍了一些额外的操作,可以解决一些特定的问题。本人也会持续更新这篇文章。
目录:
3、使用计划任务检测连接状态,发生异常时候自动重启SHADOWSOCKS
4、使用计划任务自动更新CHNROUTE(IGNORE.LIST)文件
这里的步骤,chnroute和gfwlist方案里都有提到,这里单列出来。…
注:新版dnsmasq已经可以手动设置min-ttl和cache-size,使用pdnsd替代dnsmasq已经无太大意义;dnsmasq设置方法,在 /etc/dnsmasq.conf 中加入:
1 2 |
cache-size=10000 min-cache-ttl=1800 |
此篇文章说明使用缓存功能更加强大的pdnsd来代替openwrt自带的dnsmasq完成dns解析功能,从而改善解析速度的方法。本篇内容和科学上网没有关系!
OpenWRT默认使用dnsmasq提供DHCP/DNS服务,通常情况下够用。但在某些特殊情况下,DNS查询延迟较大,dnsmasq对于DNS记录的缓存时间、还有缓存文件大小都比较受限,一条记录可能没多久就被清除出缓冲区,失效了。这时我们就希望有一个缓存功能更强的DNS软件,可以手动改大TTL、增大缓存文件大小。这时就可以用pdnsd。你可以配置它,让TTL超期的记录也不被自动清除、可以提高TTL的最小值等等。同时也有完整的可用性检查,你可以配置对DNS服务器的可用性检查,如果一组DNS服务器不可用,可以做故障切换,切至你添加的另一组DNS(比如说你用你的VPS做解析,VPS挂掉了,这时自动切到114DNS或者Google…
Assume that you use Ubuntu.
Download & Install pdnsd:
1 |
apt-get install pdnsd |
At the setup configuration step, choose manual. Then modify the config file: /etc/pdnsd.conf
At the global section, change server_ip, add server_port, increase or decrease the perm_cache, change min_ttl & max_ttl at your own need, just like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
global { perm_cache=4096; //cache size,KB cache_dir="/var/cache/pdnsd"; //cache file position run_as="pdnsd"; //just leave default server_ip = eth0; // Use eth0 here if you want to allow other // machines on your network to query pdnsd. server_port = 1212; //bind port, just do not use port 53 status_ctl = on; paranoid=on; // query_method=tcp_udp; // pdnsd must be compiled with tcp // query support for this to work. min_ttl=1d; // Retain cached entries at least 1 day. max_ttl=1w; // One week. neg_ttl=120s; timeout=5; // Global timeout option (10 seconds). } |
Assume that you use Ubuntu. First download&install dnsmasq:
1 |
apt-get install dnsmasq |
Then modify the config file: /etc/dnsmasq.conf, add the following lines (Assume that you want to use port 5050 for DNS service):
1 2 3 4 |
port=5050 server=X.X.X.X server=X.X.X.X ... |
DO NOT USE PORT 53! If you do that, you’ll be fucked by the GFW.
Add firewall rule if necessary (Assume that you use UFW):
Linux中进行DNS测试时候有着好用的dig,而Windows里面我们只能用nslookup,虽然nslookup也不是不好用,但是两者风格差别比较大,而且也习惯了dig了,用nslookup总是不太顺。不过不用担心,dig的Windows版本自然是有的。我们利用BIND所带的DNS工具包,包含了dig,arpaname,host,nslookup等工具。
首先,去官网下载,页面拉倒下方,点BIND就可以看到了:
下载完毕后,解压,然后管理员身份运行BINDInstall.exe,安装界面如下,根据需要修改目录。…