docker方式安装frp内网穿透

360影视 2024-12-07 13:56 4

摘要:为什么需要内网穿透? 家用设备,比如NAS、电脑,通常都躲在路由器分配的内网IP(如192.168.x.x)里,外网根本进不来。而内网穿透的原理就是用一台具备公网IP的服务器作为中转站,让外部设备通过它访问你的内网设备

为什么需要内网穿透? 家用设备,比如NAS、电脑,通常都躲在路由器分配的内网IP(如192.168.x.x)里,外网根本进不来。而内网穿透的原理就是用一台具备公网IP的服务器作为中转站,让外部设备通过它访问你的内网设备

首先需要安装docker,我认为最简单的方式就是先安装1panel面板,安装完docker也就安装好了。

安装完1panel以后,如果忘记保存密码,可以使用1pctl user-info命令获取安全入口,使用1pctl update password修改密码

安装完1panel后,容器配置:配置镜像加速,方便国内用户拉取镜像,香港服务器不需要配置。

点击“容器”后,点击“配置”,将https://docker.1panel.live 添加进去,然后手动输入“立即重启”后确认。

安装配置FRP服务端

回到命令行窗口,运行mkdir -p dockers/frps,创建多级文件夹

然后cd dockers/FRPs进入frps文件夹

输入vi docker-compose.yml命令,创建docker-compose.yml文件

version: '3'services:frps:image: snowdreamtech/frpscontainer_name: frpsrestart: alwaysnetwork_mode: hostvolumes:- ./frps.toml:/etc/frp/frps.tomlenvironment:- FRP_CONFIG_FILE=/etc/frp/frps.toml

输入vi frps.toml创建frps.toml文件,复制粘贴下面这段代码

# frps.toml# 基本配置bindPort = 7000 # frps 监听的端口,用于接收 frpc 的连接# 认证配置[auth]method = "token" # 认证方法,这里使用 tokentoken = "token1234xyz" # 用于验证 frpc 的 token,请使用安全的随机字符串# Web 管理界面配置(如果不需要 Web 管理界面,可以删除这部分)[webServer]addr = "0.0.0.0" # Web 界面监听的地址,0.0.0.0 表示所有地址port = 7500 # Web 界面的端口user = "user" # Web 界面的登录用户名password = "passwordxxx" # Web 界面的登录密码# 日志配置[log]to = "console" # 日志输出位置,console 表示输出到控制台level = "info" # 日志级别:debug, info, warn, error

这里需要修改三个地方,token、user和password,要修改成自己的,然后同样按下esc后输入:wq, 回车。

启动FRP服务: 输入docker compose up -d后回车,启动FRP服务

以上都是在服务器上面部署的,需要提前准备一台公网IP的服务器, 建议大家还是买香港的服务器最好,或者美国的服务器也行。

接下来需要本地部署frp客户端

按照自己系统的型号下载对应版本的docker, https://www.docker.com/

安装完以后,在命令行中输入docker -v出现版本号就代表docker安装成功了

在电脑上创建文件夹并命名为docker_project ,然后创建子文件夹并命名为frpc

并且将两个配置文件放进去:docker-compose.yml 和frpc.toml

version: '3' # Docker Compose文件格式版本services: # 定义服务frpc: # 服务名称为frpcimage: snowdreamtech/frpc # 使用的Docker镜像container_name: frpc # 容器名称restart: always # 容器重启策略network_mode: host # 网络模式volumes: # 数据卷挂载- ./frpc.toml:/etc/frp/frpc.toml # 配置文件映射- ./logs:/var/log # 日志目录映射environment: # 环境变量- FRP_CONFIG_FILE=/etc/frp/frpc.toml # 指定配置文件路径

你需要修改的有serverAddr(服务器的IP地址)serverPort(服务器当时开放的端口)以及设置的token(验证信息),这几个都需要和自己服务器的实际信息保持一致

# frpc.toml# 服务器配置serverAddr = "39.98.38.171" # 公网服务器的IPserverPort = 7000# 认证配置auth.method = "token"auth.token = "token1234xyz"# 日志配置log.to = "console"log.level = "info"# -----从这里开始都是,程序的信息-----# SSH 服务配置[[proxies]]name = "mac-ssh"type = "tcp"localIP = "host.docker.internal"localPort = 22remotePort = 10022# VNC 服务配置[[proxies]]name = "mac-vnc"type = "tcp"localIP = "host.docker.internal"localPort = 5900remotePort = 15900

同样在终端中打开这个目录,运行docker compose up -d启动frpc客户端

教程中所涉及到的端口,请在服务器中放行。

以上都是通过命令方式安装的,也可以在1panel面板后台的应用商店里面直接安装使用,服务器端和本地客户端都需要安装1panel,服务器安装frp的服务端,本地安装frp客户端。1panel适合在linux系统中安装,windows系统需要安装wsl或者虚拟机。

来源:趣味新视野

相关推荐