ubuntu安装ddns-go实现内网穿透

这篇具有很好参考价值的文章主要介绍了ubuntu安装ddns-go实现内网穿透。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ddns-go是一个用Go语言编写的动态DNS客户端,可以将动态IP地址映射到固定的域名,从而实现内网穿透。
在Ubuntu上安装和配置ddns-go的步骤如下:

目录

安装Go语言环境

获取ddns-go源码

编译和安装ddns-go

配置ddns-go

运行ddns-go

设置ddns-go为开机自启动(可选)


安装Go语言环境

首先,在Ubuntu上安装Go语言环境。可以通过以下命令安装:

sudo apt update
sudo apt install golang

安装完成后,检查Go是否正确安装:

go version

获取ddns-go源码

接下来,从GitHub上克隆ddns-go的源代码:

git clone https://github.com/jeessy2/ddns-go.git

编译和安装ddns-go

进入ddns-go目录,然后使用go build命令编译项目:

cd ddns-go
go build

编译完成后,会在当前目录下看到一个名为ddns-go的可执行文件。

配置ddns-go

ddns-go目录下,可以找到一个名为config.yaml的配置文件。使用文本编辑器打开它,如:

nano config.yaml

按照你的需求修改配置文件。例如,设置域名提供商、用户名、密码、域名等。保存并关闭文件。

以腾讯云为例,配置文件如下

provider: dnspod
id: your_dnspod_api_id
token: your_dnspod_api_token
domain: example.com
sub_domain: subdomain
ip_type: ipv6
interval: 300

请将以下内容替换为你的实际信息:

  • your_dnspod_api_id:将其替换为你的腾讯云DNS API ID。
  • your_dnspod_api_token:将其替换为你的腾讯云DNS API Token。
  • example.com:将其替换为你的域名。
  • subdomain:将其替换为你想要映射到动态IP地址的子域名。

关于interval参数,它表示客户端更新IP地址的时间间隔(以秒为单位)。在这个示例中,ddns-go将每5分钟(300秒)检查一次IP地址并更新DNS记录。

要获取腾讯云DNS API ID和Token,请登录到腾讯云DNS控制台,然后进入API密钥管理页面创建一个新的API密钥。确保为该密钥分配适当的权限,以便能够更新DNS记录。

保存config.yaml文件后,你可以按照之前的步骤运行ddns-go,它将使用腾讯云域名配置更新你的动态IP地址

运行ddns-go

运行ddns-go可执行文件:

./ddns-go

ddns-go将根据你的配置文件设置开始运行,将你的动态IP地址映射到指定的域名。

设置ddns-go为开机自启动(可选)

如果你希望ddns-go在系统启动时自动运行,可以创建一个systemd服务文件。首先,将ddns-go可执行文件复制到/usr/local/bin目录下:

sudo cp ddns-go /usr/local/bin/

然后,创建一个名为ddns-go.service的systemd服务文件:

sudo nano /etc/systemd/system/ddns-go.service

将以下内容粘贴到该文件中,然后保存并关闭:

[Unit]
Description=ddns-go
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/path/to/ddns-go
ExecStart=/usr/local/bin/ddns-go
Restart=on-failure

[Install]
WantedBy=multi-user.target

注意:请将WorkingDirectory设置为你的ddns-go目录。

接下来,启用并启动ddns-go服务:

sudo systemctl enable ddns-go
sudo systemctl start ddns-go

现在,ddns-go将在系统启动时自动运行。

以上步骤编辑成完整的脚本如下:

以下是一个名为install_ddns_go.sh的bash脚本,通过传入参数来自动完成ddns-go的安装和配置过程:

#!/bin/bash

set -e

if [ "$#" -ne 4 ]; then
    echo "Usage: $0 <dnspod_api_id> <dnspod_api_token> <domain> <sub_domain>"
    exit 1
fi

DNSPOD_API_ID="$1"
DNSPOD_API_TOKEN="$2"
DOMAIN="$3"
SUB_DOMAIN="$4"

# 安装依赖
sudo apt update
sudo apt install -y golang git

# 获取ddns-go源码
git clone https://github.com/jeessy2/ddns-go.git

# 编译ddns-go
cd ddns-go
go build

# 配置ddns-go
cat > config.yaml << EOF
provider: dnspod
id: $DNSPOD_API_ID
token: $DNSPOD_API_TOKEN
domain: $DOMAIN
sub_domain: $SUB_DOMAIN
ip_type: ipv4
interval: 300
EOF

# 复制ddns-go可执行文件到/usr/local/bin
sudo cp ddns-go /usr/local/bin/

# 创建ddns-go.service systemd服务文件
sudo bash -c "cat > /etc/systemd/system/ddns-go.service << EOL
[Unit]
Description=ddns-go
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=$(pwd)
ExecStart=/usr/local/bin/ddns-go
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOL"

# 启用并启动ddns-go服务
sudo systemctl enable ddns-go
sudo systemctl start ddns-go

echo "ddns-go已成功安装并启动。"

要运行此脚本,请将其保存为名为install_ddns_go.sh的文件,然后在终端中运行以下命令:

chmod +x install_ddns_go.sh
./install_ddns_go.sh <dnspod_api_id> <dnspod_api_token> <domain> <sub_domain>

请将<dnspod_api_id><dnspod_api_token><domain><sub_domain>替换为你的实际信息。脚本将自动完成ddns-go的安装、配置和启动过程。文章来源地址https://www.toymoban.com/news/detail-820636.html

到了这里,关于ubuntu安装ddns-go实现内网穿透的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小米AX9000 docker ddns-go腾讯云 实现ipv6解析 注意事项

    第一次安装ddns-go后,解析时始终无法解析ipv6,经研究在网络设置有注意事项如下: 一、根据作者的使用说明,在docker中运行选择host模式即可实现ipv4/ipv6解析。 二、docker安装ddns-go,在高级设置中network选项选择host模式。默认的是bridge模式,该模式只能实现IPV4解析,ipv6一直提

    2024年02月15日
    浏览(89)
  • UnRaid中安装DDNS-Go动态域名解析容器的方法

    前面写了几篇关于动态解析IPv6的博文,主要是针对OpenWrt路由器来进行设置的,对于折腾了几年UnRaid的我来说,自然而然是也要对UnRaid进行动态解析的,结果在UnRaid自带的apps中没有找到ddns-go容器,于是到齐开发者主页去学习了下,成功的安装了此容器,在此一并记录备忘。

    2024年02月12日
    浏览(54)
  • 入门小白,使用ubuntu,使用docker或者docker-compose搭建家庭个人网盘nextcloud,外网通过IPV6域名访问。第三篇--配置 ddns-go 以及 dynv6

    由于在第一篇中说过,放弃使用ipv4 连接 优点,家里设备都可以拥有一个 ipv6公网地址 缺点,地址会变。。。 缺点,公司网络网络下,可能访问不到。。。 所以采用ddns-go 配置 dynv6的方案 即使设备的ipv6地址变化了,也不用你做额外的事,一切交给系统就行。 不用写代码,不

    2024年02月06日
    浏览(48)
  • Docker部署ddns-go,动态域名解析公网IPv6地址

    ddns-go,自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。 嫌IPv6地址太难记?ddns来解决,将家里的公网IPv6地址用起来吧! 为什么需要DDNS 因为一般家庭或企业用户所获得的的 广域网ip并非固定,而是会时常变化 ,一旦变化,我们的域名针对ip的A类解析记录就会

    2024年02月02日
    浏览(61)
  • OpenWRT中的DDNS-GO无法获取软路由IPV6地址

    移动的宽带没有公网ipv4地址,但可以获得公网ipv6地址,这就让远程访问软路由成为了可能,但DDNS-GO却报错: 2024/01/31 02:21:07 连接失败! 点击查看接口能否返回IPv6地址, 参考说明:点击访问 2024/01/31 02:21:07 错误信息: Get \\\"https://speed.neu6.edu.cn/getIP.php\\\": dial tcp6: lookup speed.neu6.edu.cn

    2024年03月13日
    浏览(103)
  • win10远程桌面控制Ubuntu服务器 - 内网穿透实现公网远程

    转载自远程穿透文章:Windows通过RDP异地远程桌面Ubuntu【内网穿透】 XRDP是一种开源工具,它允许用户通过Windows RDP访问Linux远程桌面。 除了Windows RDP外,xrdp工具还接受来自其他RDP客户端(如FreeRDP、rdesktop和NeutrinoRDP )的连接。 相较于VNC,xrdp更加的轻量级。下面简单几步实现ubu

    2024年02月03日
    浏览(45)
  • nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)

    群晖里面的docker图形化界面现在不能直接查询需要下载的东西,原因可能就是被墙了,那么 换一种方式使用SSH命令下载 也是可以的,文章这里以在docker里面下载ddns-go为例子。  1. 在群晖系统里面的 控制面板 搜SSH,然后回车。 2. 勾选启动SSH功能,然后点击应用就好了。 3.

    2024年01月18日
    浏览(211)
  • WinSCP下载安装并结合内网穿透实现固定公网TCP地址访问本地服务器

    ​ Winscp 是一个支持 SSH( Secure SHell)的 可视化 SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 ​ 可视化操作就是直接把文件 从本机拖入 ,打开文件 直接双击 即可。 软件特性 支持协议众多:SSH ,FTP、SFTP、FTPS、

    2024年03月11日
    浏览(45)
  • TPlink DDNS 内网穿透?外网访问设置方法

    有很多小伙伴都想知道:TPlink路由器怎么设置DDNS内网穿透?今天,小编就给大家分享一下TPlink DDNS 外网访问设置方法,下面是图文教程,帮助新手快速入门DDNS设置。 本文介绍的是云路由器TP-LINK DDNS的设置方法。TP-LINK DDNS是普联路由器官方提供的动态域名解析服务,可以将

    2024年02月14日
    浏览(47)
  • Ubuntu本地安装code-server结合内网穿透实现安卓平板远程写代码

    准备一台虚拟机,Ubuntu或者centos都可以,这里以VMwhere ubuntu系统为例 下载code server服务,浏览器访问:https://github.com/coder/code-server,复制下载链接 打开ubuntu命令行下载 出现需要输入ubuntu的登录账户密码,输入密码即可,然后等待安装完成 以下信息表示安装成功 接着输入以下命令设置

    2024年02月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包