小米路由器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 
相关推荐
日取其半万世不竭1 小时前
用 Portainer 可视化管理 Docker:容器再多也不用背命令了
运维·docker·容器
Wang's Blog4 小时前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
动恰客流统计4 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
Wang's Blog6 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
砍材农夫9 小时前
运维|devops|jenkins构建应用发布
运维·jenkins·devops
△曉風殘月〆9 小时前
如何在Linux中安装Qt开发环境
linux·运维·qt
布朗克16810 小时前
Go 入门到精通-33-unsafe 与 CGO
开发语言·后端·golang·unsafe·cgo
雨的旋律209911 小时前
ubuntu2604
linux·运维·服务器
Eloudy11 小时前
ubuntu 22.04安装 cuda 12.8.2
linux·运维·ubuntu
ttwuai11 小时前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang