1. 问题
半个月前我在异地调试老家里的软路由想扩容 / 根目录容量
然后挂载分区链接之后忘记取消路径链接了
不小心输入了[font color=“#DC143C”]rm -rf xxx[/font]命令
直接等同于[font color=“#DC143C”]rm -rf xxx[/font]系统炸了 但是网络等其他的服务都暂无异常 我深知自己干了什么哈哈
只要老家里断电就断网 因为有人在租我的私人服务器所以我一定不能让网络出问题
在昨天我就回家 等他们有时间了 晚上十一点开始重装软路由的系统
我拿出笔记本后发现 我忘记带键盘了!! 我没键盘咋重装啊
还好软路由的引导是坏的 我插入引导盘 可以进入PE 我通过屏幕键盘成功刷写固件
然后!!! 然后!!! 又是分区!!! 我分区扇区大小写错了!!! 导致系统又进不去了
但是在当下的情况更加严重 因为系统引导没问题 我没有键盘无法进入BIOS更改启动项
所以直接放弃 将目光对准家里的旁路由下手
通过旁路由跑linux命令更新IP到DNSPod
就有了这个笔记
2. 解决
2.1 准备工作
2.1.1 登录DNSPod获取Access Token
2.1.2 开启RT-N66U/N的SSH功能
高级设置 -> 系统管理 -> SSH Daemon -> Enable SSH 改为LAN或者LAN+WAN
(如果有外网访问需要则开启LAN+WAN)
2.2 获取DomainId 和 RecordId
curl 'https://dnsapi.cn/Domain.List' -d 'login_token=19xxxx,20b06f04b6fd377exxxx&format=json'
从返回的json格式中寻找
domains -> name 为你需要的域名 复制他的ID
例如我这边为 825116xx
拿到DomainId后我们需要通过DomainId获取RecordId
curl 'https://dnsapi.cn/Record.List' -d 'login_token=19xxxx,20b06f04b6fd377exxxx&domain_id=825116xx'
例如我这边为 1108811xxx
2.3 在jfss分区创建脚本
使用windows自带的powershell ssh连接软路由或者通过其他ssh工具操作
PS C:\Users\JiuyeXD> ssh Jiuye@192.168.1.1 -p 22
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:Hu8aWxdf5D4hiif8wwDBCNRVz57VoEcZI2aTyHaPdV4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.1' (ECDSA) to the list of known hosts.
Jiuye@192.168.1.1's password:
ASUSWRT-Merlin RT-N66U 380.67-X7.6 Fri Aug 18 03:10:12 UTC 2017
Jiuye@RT-N66R-B1E0:/tmp/home/root# cd /
Jiuye@RT-N66R-B1E0:/# cd jffs
Jiuye@RT-N66R-B1E0:/jffs# cd scripts/
Jiuye@RT-N66R-B1E0:/scripts# vi dnspod.sh
打开文本编辑器 键入下列代码
#!bin/sh
ip=$(curl http://members.3322.org/dyndns/getip)
curl -s -X POST https://dnsapi.cn/Record.Modify -d 'login_token=19xxxx,20b06f04b6fd377exxxx&format=json&record_line=默认&domain_id=825116xx&value='$ip'&record_type=A&record_id=1108811xxx&sub_domain=二级域名'
然后退出并保存
# 设置权限
chmod -x dnspod.sh
进入网页后台
一般设置 -> Tools -> Scripts
将脚本添加为WANSTART和超时时间(多久执行一次)
添加完成即可自动更新
脚本类型 | 参数 | 脚本地址 | 操作 |
---|---|---|---|
WANSTART | /jffs/scripts/dnspod.sh | [ - ] | |
超时时间 | 600 | /jffs/scripts/dnspod.sh | [ - ] |