如果和EdgeRouter路由器上实现腾讯家的dndpos下的域名ddns,这个问题困扰了我好久,之前没有时间,所以也是只是稍微尝试就放弃了。
因为某些原因,现在必须让路由器承担起DDNS更新的工作,所以只能耐心寻找(谁让自己这方面的自身能力太差呢,只能求助于网络)
终于在万能的Github上找到一个linux脚本,感谢原作者,这里对部署过程做一个记录。
1 下载并修改脚本文件
可以去上面原作者的地址上,下载sh脚本文件,脚本文件中有需要修改参数的具体解释,这里不做赘述,这里做简单解释,假设你在dnspod上的域名是home.myweb.com
参数名 | 备注 |
---|---|
API_ID | 在个人中心后台的安全设置里面获取ID |
API_Token | 在个人中心后台的安全设置里面获取Token |
domain | 你所注册的主域名,根据例子就是myweb.com |
host | 主机记录名,例如例子里的home |
CHECKURL | 用于检查自己的外网IP是什么的网址,注释掉该参数会跳过本地DNS检查比对,直接执行(验证域名记录是否存在以及记录是否重复后)更新;建议: http://ip.3322.org |
修改好后保存
2 上传并配置脚本
下面就是利用SSH工具,将脚本上传到路由器的config文件夹下,并给予执行权限.然后执行测试一下看
chmod -x /config/dnspod_ddns.sh
bash /config/dnspod_ddns.sh
如果成功,可以看到返回正确的外网IP地址
3 定时触发脚本
为了能实时运行脚本,及时更新IP,就需要利用linux的定时任务。
crontab -e
# 会打开定时任务配置表,默认使用的是VI编辑器
#按I后,在文件末尾,输入以下内容
*/1 * * * * /config/dnspod_ddns.sh &> /dev/null
#然后按Esc,输入:wq回车保存退出即可
这样,计算完成了,去DNSPOD上看一下你的域名的IP地址有没有更新。
后续
另外附上一个EdgeRouter X 搭建梯子的脚本教程,可以配合食用。
# 也做一个自动更新监控
*/5 * * * * sh /config/shadowsocks/bin/ss-monitor.sh
路由器设置
不过通过设置发现EdgeRouter® X的设置图形化还是依靠WEB形式,而且菜单没有RouterOS那么清晰直接,琢磨了一段时间……
不过设置向导比RouterOS的好,一步到位~ 不过自己设置看说明书真是抓瞎……
设置好之后,我通过web界面下的CLI命令行模式,添加了Shadowsocks功能。
安装 shadowsocks for EdgeRouter X
下载shadowsocks for EdgeRouter X
解压压缩包
用winscp把解压的所有文件copy到/tmp目录
连接路由CLI命令界面并登陆,然后执行: cd /tmp sudo bash install.sh
根据提示输入shadowsocks配置信息,一般只需要输入服务器地址、端口、密码,其它选项可以直接回车使用默认选项
设置要点
国内外流量自动分流,通过ipset对国内IP进行白名单,国内IP不会翻墙访问,只有国外流量会走shadowsocks通道翻墙
只能对TCP流量翻墙
国外网站DNS经shadowsocks服务器中转使用TCP访问8.8.8.8,防止污染,国内域名使用国内DNS解析,不会影响CDN访问
1080端口可以作为socks5翻墙代理使用
文件存放在/config目录是因为这个目录备份配置的时候会被一起备份,并且系统升级也不会删除
shadowsocks版本:v2.5.6, chinadns版本:v1.3.2(修改版),pdnsd版本:v1.2.9
EdgeRouter X EdgeOS v1.8.5,v1.9.0测试通过
如果想暂停shadowsocks,运行sudo /etc/init.d/shadowsocks stop
重新启动就运行sudo /etc/init.d/shadowsocks start
运行sudo crontab -e
,并在文件末尾添加以下内容,就可以实现每隔5分钟检测ss状态,如果不能翻墙就自动重启服务:
*/5 * * * * sh /config/shadowsocks/bin/ss-monitor.sh
PT下载用户请注意,如果你有独立的下载机,可以设置让下载机不走SS。
具体操作如下: ss启动脚本/etc/init.d/shadowsocks 里面有下面一行:
#BYPASS_RANGE=192.168.123.0/24
去掉注释(删掉#号)重启服务就可以生效,然后192.168.123.0/24这整个网段都不会走ss通道了,同时也无法翻墙了,192.168.123.0/24也可以换成单独IP或者其它网段,不同IP用英文的逗号分隔。
DNS解析过程 chinadns 必须配置至少一个国内DNS,一个国外DNS
dnsmasq -> chinadns (国外IP)-> pdnsd -> ss-server -> dns-server:ok
(国内IP)-> 114.114.114.114:ok
chinadns作者很久没有更新过了,但是有几个bug,会导致有些同时有国内国外CDN的域名解析出国外的IP,本方案使用的chinadns,修复了这个bug并优化了部分情况下的解析速度。
参考文档:https://github.com/izerosoul/shadowsocks_erx
版权属于:CraZyMoNk
本文链接:https://blog.peacharc.com/archives/244.html
转载时须注明出处及本声明