Ubuntu上使用ddns-go实现内网穿透

作者:很菜不狗2024.01.18 01:11浏览量:6

简介:在Ubuntu上使用ddns-go工具实现动态DNS和内网穿透,无需公网IP,即可将内网服务暴露给外网访问。本文将介绍如何安装和配置ddns-go,实现内网穿透功能。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

首先,你需要安装Golang环境,你可以从Golang的官网下载并安装。安装完成后,配置你的环境变量。
接下来,你需要安装git,如果你还没有安装的话。在终端中输入以下命令:

  1. git clone https://github.com/keratin/ddns-go.git

进入ddns-go目录:

  1. cd ddns-go

然后,你可以运行以下命令来构建和运行ddns-go:

  1. make run

这将会启动一个HTTP服务,默认监听在0.0.0.0:8080。你可以通过访问http://:8080来查看ddns-go的状态。
默认情况下,ddns-go将会尝试在/etc/hosts文件中更新你的主机名。如果你想使用其他的hosts文件,你可以设置DDNS_HOSTS环境变量。例如:

  1. export DDNS_HOSTS=/path/to/your/hosts

此外,你还可以通过设置DDNS_USERNAME和DDNS_PASSWORD环境变量来提供自定义的用户名和密码,以便于通过花生壳等DDNS服务提供商进行验证。例如:

  1. export DDNS_USERNAME=your-username
  2. export DDNS_PASSWORD=your-password

现在,你的ddns-go已经运行起来了,并且可以接受来自外网的请求了。但是,你的内网服务还是无法被外网访问。为了解决这个问题,你需要配置你的路由器或者防火墙来转发来自外网的请求到你的内网服务。具体的配置方法会因你的路由器型号和防火墙类型而有所不同。一般来说,你需要设置一个端口转发规则,将来自外网的请求转发到你内网服务的端口。例如,如果你的内网服务运行在192.168.1.100的8080端口上,你可以设置一个端口转发规则,将所有来自:80的请求转发到192.168.1.100:8080。
现在,你的内网服务应该能够被外网访问了。你可以通过访问http://来访问你的服务了。请注意,你需要将替换为你的公网IP地址。如果你的服务运行在特定的端口上,你需要在IP地址后面加上端口号,例如http://:8080。
需要注意的是,ddns-go只能提供最基本的内网穿透功能。如果你的需求比较复杂,你可能需要使用更强大的工具,如frp、ngrok等。

article bottom image

相关文章推荐

发表评论