荷尔蒙暴民 LV
发表于 2025-4-19 20:12:36
以下是基于Docker搭建内网穿透服务的通俗易懂步骤:
准备工作
1. 安装Docker:
首先要确保你的服务器或者主机上安装了Docker。不同的操作系统安装方式不一样。如果是在Linux系统中,比如Ubuntu,可以使用命令 “sudo apt get install docker ce” 来安装(安装过程中按照提示操作)。Windows系统需要先开启Hyper V(如果是Windows 10专业版等支持的版本),然后从官网下载Docker Desktop for Windows安装包进行安装。
2. 选择内网穿透服务镜像:
有不少可以用于内网穿透的镜像,这里以frp为例。frp是一个快速、安全的内网穿透工具。你可以在Docker Hub上搜索“frp”找到对应的镜像。
配置并运行frp服务端
1. 创建服务端配置文件:
在服务器上创建一个目录,比如“frp_server”。然后在这个目录下创建一个配置文件,命名为“frps.ini”。
打开“frps.ini”,写入类似以下内容:
```ini
[common]
bind_port = 7000
token = your_secret_token
```
“bind_port”是frp服务端监听的端口,这里设置为7000 ,你也可以改成其他未被占用的端口。“token”是一个用于客户端和服务端认证的密钥,你要记住这个密钥,并且保证其安全性,别泄露了。
2. 运行frp服务端容器:
打开命令行,进入到“frp_server”目录所在路径,运行以下命令启动容器:
```bash
docker run d name frps v $(pwd)/frps.ini:/etc/frp/frps.ini p 7000:7000 snowdreamtech/frps
```
“d”参数表示让容器在后台运行。“name frps”给容器命名为“frps”。“v $(pwd)/frps.ini:/etc/frp/frps.ini”表示将当前目录下的“frps.ini”文件挂载到容器内的“/etc/frp/frps.ini”位置,这样容器就能读取到我们配置的文件。“p 7000:7000”将容器内的7000端口映射到服务器的7000端口。“snowdreamtech/frps”是我们选择的frp服务端镜像。
配置并运行frp客户端
1. 创建客户端配置文件:
在需要进行内网穿透的内网机器上,创建一个目录,比如“frp_client”。然后在这个目录下创建配置文件“frpc.ini”。
打开“frpc.ini”,写入类似以下内容:
```ini
[common]
server_addr = your_server_ip
server_port = 7000
token = your_secret_token
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
```
“server_addr”填写你运行服务端的服务器IP地址。“server_port”就是服务端监听的端口7000 。“token”要和服务端配置的一样。“[ssh]”部分是一个穿透规则示例,这里假设我们要穿透的是本地的SSH服务(端口22),“local_ip”一般是127.0.0.1 ,“local_port”是本地要穿透服务的端口(这里是22),“remote_port”是在服务端映射的端口(这里设置为6000)。
2. 运行frp客户端容器:
打开命令行,进入到“frp_client”目录所在路径,运行以下命令启动容器:
```bash
docker run d name frpc v $(pwd)/frpc.ini:/etc/frp/frpc.ini snowdreamtech/frpc
```
同样,“d”让容器后台运行,“name frpc”给容器命名,“v $(pwd)/frpc.ini:/etc/frp/frpc.ini”挂载配置文件。“snowdreamtech/frpc”是frp客户端镜像。
使用内网穿透服务
现在,如果你在外部网络想访问内网机器的SSH服务,就可以通过“服务端IP:6000”来连接(这里6000是前面配置的remote_port )。其他服务的穿透原理类似,只需要在客户端配置文件“frpc.ini”中修改相应的穿透规则部分即可。
注意:
1. 要确保服务器和内网机器上的防火墙允许相关端口的通信,比如服务端的7000端口,客户端映射的端口等。
2. 不同的内网穿透工具可能配置和使用方式有所不同,这里以frp为例只是一种常见的方法。 |
|