小米路由器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 
相关推荐
-Try hard-1 天前
Linuv软件编程 | Shell命令
linux·运维·服务器
释怀不想释怀1 天前
Linux快捷键,软件安装启动
linux·运维·服务器
zhengfei6111 天前
自动化快速评估工具
运维·自动化
Hello World . .1 天前
Linux:软件编程
linux·运维·服务器·vim
老师用之于民1 天前
【DAY21】Linux软件编程基础&Shell 命令、脚本及系统管理实操
linux·运维·chrome·经验分享·笔记·ubuntu
路由侠内网穿透.1 天前
本地部署代码托管解决方案 Gitea 并实现外部访问( Windows 版本)
运维·服务器·网络协议·gitea
江畔何人初1 天前
pod的内部结构
linux·运维·云原生·容器·kubernetes
齐鲁大虾1 天前
Linux下用什么编程语言方便开发B/S架构程序
linux·运维·架构
三块钱07941 天前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
博客-小覃1 天前
内网穿透/端口映射之二层穿透访问”FTP共享文件“示例操作教程
运维·服务器·网络