家庭网络改造(二)——旁路由openWRT
旁路由openWRT
使用玩客云盒子刷入openWRT。
背板加热后可打开
抽出主板,按照型号短接触点刷入即可
新版玩客云短接储存旁边,RX口左上方空电阻位即可,先USB连接至电脑,螺丝刀短接同时上电,软件识别即可。
刷写软件使用USB_Burning_Tool
软件包使用更新 2023.07.08 OPENWRT高内核直刷 玩客云ws1608/赚钱宝三代和赚钱宝2代WS1508-迅雷玩客云、京东云等各种云设备-恩山无线论坛 (right.com.cn)的OPENWRT高内核直刷包,直接刷入openWRT系统。
选择清楚所有,点击开始,等待完成即可。
烧录完后要点击停止,然后断开电源和usb。
DDNS
因为现在运营商分配的都是动态公网,为了保证我们能够时刻通过外网访问,我们需要绑定域名。不同系统所带软件包可能不同。故此次采用脚本实现DDNS公网IP到域名。
1 |
|
要获取 Cloudflare API所需的 <zone_id>, <record_id>, <api_key>,
-
登录Cloudflare账户:
- 首先,登录到Cloudflare账户。
-
获取<your_domain>:
- 这个是你在Cloudflare上已经注册的域名。只需查看Cloudflare dashboard即可找到。
-
获取<api_key>:
- 在Cloudflare dashboard中,导航到 “My Profile” 或 “账户配置文件” 页面。
- 在 “API Tokens” 栏目下找到 “Global API Key”。
- 点击 “View” 来查看你的API Key喵,可能需要输入密码。
- 复制这个API Key,这就是你需要用的<api_key>。
-
获取<zone_id>域名标识符:
- <zone_id>是你的域名在Cloudflare上的一个唯一标识符。
- 在Cloudflare dashboard中选择你的域名。
- 在域名概览页面的右下角,你应该能看到Zone ID。
- 复制这个Zone ID,这就是<zone_id>。
-
获取<record_id>解析记录标识符:
- <record_id>是特定DNS记录的唯一标识符。
- 在Cloudflare dashboard中,导航到你的域名的"DNS"页面。
- 如果你已经有了你想更新的A记录,点击对应记录的"编辑"按钮。
- 通常,记录ID不会直接显示,你可能需要通过API调用来获取。
- 使用 Cloudflare API 以GET方式请求所有DNS记录,然后从中找到对应的记录和它的ID,API调用的形式如下:
curl -X GET “https://api.cloudflare.com/client/v4/zones/<zone_id>/dns_records?type=A&name=<your_subdomain.your_domain>”
-H “Content-Type:application/json”
-H “X-Auth-Email:”
-H “X-Auth-Key:<api_key>” - 在返回的数据中找到所需A记录的<record_id>。
例如要获取<record_id>,则可以新建一个解析。
可以使用Apifox或Postman获取 <record_id>
-
打开Apifox或Postman:
-
创建一个新请求:
-
设置请求类型为GET。
-
请求地址(URL)设置为Cloudflare API的DNS记录列出接口,格式如下:
https://api.cloudflare.com/client/v4/zones/<zone_id>/dns_records确保将 <zone_id> 替换为你域名的Zone ID。
-
-
添加请求头:
- 需要两个头(Headers)字段:
- X-Auth-Email: 填入你的Cloudflare账户的邮箱地址。
- X-Auth-Key: 填入你的Cloudflare Global API Key。
- Content-Type 头为 application/json
- 需要两个头(Headers)字段:
-
发送请求:
- 点击“发送”(Send)按钮发送请求。
- 这会获取到你在Cloudflare Zone下所有的DNS记录。
-
查找特定DNS记录:
- 新建的记录即为第一个。
- 查看返回的数据(响应体)。
- 在JSON响应中找到你想更新的记录的条目。这通常是一个A记录,具体取决于你想要更新的子域(例如example.your_domain.com)。
- 在这个记录的具体条目中找到
id
字段。这个id
就是你要找的DNS记录的 <record_id> 。
-
记录 <record_id>:
- 复制这个
id
值,并且在你的DDNS脚本或相关设置中使用它来更新DNS记录。
- 复制这个
将脚本对应内容填好后可测试一下是否正常。然后就可以上传至openWRT并设置定时任务。
上传或者写入
1 | cd /etc |
进入openWRT设置计划任务
1 | */5 * * * * sh /etc/ddns/ddns.sh |
这个计划任务(cron job)的设置意味着每5分钟执行一次指定的脚本 /etc/ddns/ddns.sh
1 | logread | grep cron |
最后检测有关cron计划任务的日志,即可看到是否成功运行。