小米路由器SSH下安装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文件后,给这个文件赋权:

bash 复制代码
chmod +x /data/ddns-go/ddns-go

安装ddns-go命令:

bash 复制代码
/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文件

bash 复制代码
vim /data/ddns-go/check_ddns.sh 

添加如下内容

bash 复制代码
#!/bin/sh

if netstat -tunlp | grep ':9876' > /dev/null; then
    echo "DDNS-GO 已在运行,无需启动。"
else
    echo "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

将脚本添加到定时任务中

bash 复制代码
crontab -e 
#追加如下内容
*/5 * * * * /data/ddns-go/check_ddns.sh 
相关推荐
fiveym8 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫9 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
反转180度9 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
圣殿骑士-Khtangc10 小时前
Go-Mutex源码解析从自旋到饥饿模式的完整演进
golang
雨辰AI10 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程
-今昭-10 小时前
Ansible
linux·运维·ansible
星野川崎20610 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商
IT邦德12 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
蓝速科技13 小时前
蓝速科技会议电子门牌规模化部署与运维成本实测
运维·科技
许彰午13 小时前
# allbytaskid——一个接口扛六个DataStore
运维·服务器·php