小米路由器SSH下安装DDNS-GO

ops/2025/3/14 17:29:10/

文章目录

  • 前言
  • 一、下载&安装DDNS-GO
  • 二、配置ddns-go
  • 设置开机启动


前言

什么是DDNS?
DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。

目前路由器拨号上网获得的多半都是动态IP,DDNS可以将路由器变化的外网IP和固定的域名绑定,从而用户可以在外网通过该固定域名来访问路由器。

在这里插入图片描述
一般路由器系统都支持DDNS,但支持的域名服务商比较少,一般有花生壳等,明显不够用,这里我们安装DDNS-GO插件来实现DDNS。

DDNS-GO 是一个开源的动态域名解析工具,使用 Go 语言编写,旨在为用户提供一个简单、高效且易于使用的动态 DNS 服务,支持阿里云、腾讯云、Cloudflare、华为云、百度云、Porkbun、GoDaddy、Namecheap、NameSilo、Dynadot 等主流域名服务商

一、下载&安装DDNS-GO

本文用到的ddns-go 及scp工具都已经关联到文章资源上了

github项目地址:https://github.com/jeessy2/ddns-go/releases

AX6000路由器是64位,下载ddns-go_6.8.1_linux_arm64.tar.gz 的插件。

可以通过uname -m 来查看ARM 架构还是 AMD 架构
如果返回结果是 aarch64,则表示服务器是 ARM 架构;如果返回结果是 x86_64,则通常表示是 AMD 或 Intel 等 x86 架构

下载成功DDNS-GO后,解压上传到路由器/data/ddns-go目录,默认肯定没有的,我们需要新建这个目录:

mkdir /data/ddns-go

然后使用SCP工具将解压后的文件上传到路由器的 /data/ddns-go 目录下

在这里插入图片描述
上传ddns-go文件后,给这个文件赋权:

chmod +x /data/ddns-go/ddns-go

安装ddns-go命令:

/data/ddns-go/ddns-go -l :9876 -f 600 -c /data/ddns-go/ddns-go.yaml -s install

参数的含义如下:

-l :9876: 监听地址,表示 DDNS-GO 将在路由器的 9876 端口上提供 Web 服务。

-f 600: 同步间隔时间,表示每 600 秒(10 分钟)进行一次域名解析的同步操作。

-c /data/ddns-go/ddns-go.yaml: 指定配置文件路径,使用 /data/ddns-go/ddns-go.yaml 作为配置文件。

-s install: 安装并启动 DDNS-GO 服务。

DDNS-GO默认的端口就是9876,指定配置文件路径是测试发现,默认配置没有读写权限,所有有这个操作。

二、配置ddns-go

首先得有一个域名,我这里使用的是阿里云。也可以用其他服务商的。

注册AccessKey
首先登录个人的阿里云账号,我的是RAM账户。各位的可以使用主账户进行使用AccessKey。
点击ACCESSKEY管理
创建你的AccessKey,并记录下来。

使用路由器IP + 9876 端口访问插件,第一次登录,用户名和密码将成为管理员账号和密码
在这里插入图片描述
将AK和SK填写进去
然后选择IPv4或IPv6配置域名保存即可
在这里插入图片描述

设置开机启动

在/data/ddns-go目录下创建一个sh文件

vim /data/ddns-go/check_ddns.sh 

添加如下内容

#!/bin/shif netstat -tunlp | grep ':9876' > /dev/null; thenecho "DDNS-GO 已在运行,无需启动。"
elseecho "DDNS-GO 未运行,正在启动..."/data/ddns-go/ddns-go -l :9876 -f 600 -c /data/ddns-go/ddns-go.yaml -s install > /data/ddns-go/ddns-go.log 2>&1 &
fi

将脚本添加到定时任务中

crontab -e 
#追加如下内容
*/5 * * * * /data/ddns-go/check_ddns.sh 

http://www.ppmy.cn/ops/165719.html

相关文章

双周报Vol.67: 模式匹配支持守卫、LLVM 后端发布、支持 Attribute 语法...多项核心技术更新!

2025-03-10 语言更新 模式匹配支持守卫(Pattern Guard) 模式守卫可以通过在模式后追加 if ... 的语法结构来指定。有模式守卫的分支只有在被模式匹配的值满足对应模式,并且模式守卫为真的情况下才会执行。如果模式守卫为假,则会…

自动同步多服务器下SQL脚本3.0

由于上一版发现数据库【MySQL】不支持DML事务回滚,该迭代主要是去兼容这种问题。 数据表新增一个completed字段,用来表示当前版本下同步成功的个数。 数据表 CREATE TABLE auto_sql_version (id int NOT NULL AUTO_INCREMENT,version varchar(20) CH…

⚡️Jolt -- 通过JSON配置来处理复杂数据转换的工具

简介:一个能够通过JSON配置(特定的语法)来处理复杂数据转换的工具。 比如将API响应转换为内部系统所需的格式,或者处理来自不同来源的数据结构差异。例如,将嵌套的JSON结构扁平化,或者重命名字段&#xff0…

vue3 中使用 Recorder 实现录音并上传,并用Go语言调取讯飞识别录音(Go语言)

录音并识别 效果图一、开启游览器录音权限二、前端代码三、Go代码,上传到讯飞识别录音返回到前端 效果图 recorder-core插件可以在网页中进行录音。录音文件(blob)并可以自定义上传,可以下载录音文件到本地,本文录音过程中会显示可视化波形,插件兼容PC端…

赛事|基于SprinBoot+vue的CSGO赛事管理系统(源码+数据库+文档)

CSGO赛事管理系统 目录 基于SprinBootvue的CSGO赛事管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3参赛战队功能模块 4合作方功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

OBJ文件生成PCD文件(python 实现)

代码实现 将 .obj 文件转换为 .pcd(点云数据) 代码文件。 import open3d as o3d# 加载 .obj 文件 mesh o3d.io.read_triangle_mesh("bunny.obj")# 检查是否成功加载 if not mesh.has_vertices():print("无法加载 .obj 文件&#xff0c…

Manus:成为AI Agent领域的标杆

一、引言 官网:Manus 随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独…

C# net deepseek RAG AI开发 全流程 介绍

deepseek本地部署教程及net开发对接 步骤详解:安装教程及net开发对接全流程介绍 DeepSeekRAG 中的 RAG,全称是 Retrieval-Augmented Generation(检索增强生成),是一种结合外部知识库检索与大模型生成能力的技术架构。其…