为什么需要内网穿透?
家用设备,比如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/frps
container_name: frps
restart: always
network_mode: host
volumes:
- ./frps.toml:/etc/frp/frps.toml
environment:
- FRP_CONFIG_FILE=/etc/frp/frps.toml
输入vi frps.toml创建frps.toml文件,复制粘贴下面这段代码
# frps.toml
# 基本配置
bindPort = 7000 # frps 监听的端口,用于接收 frpc 的连接
# 认证配置
[auth]
method = "token" # 认证方法,这里使用 token
token = "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的服务器,
建议大家还是买香港的服务器最好,或者美国的服务器也行,
推荐香草云服务器,性价比高,安全稳定,UP主经常使用他家的,大家可以放心使用,而且是可以24小时无理由退款https://www.xiangcaoyun.com
接下来需要本地部署frp客户端
按照自己系统的型号下载对应版本的docker
https://www.docker.com/
安装完以后,在命令行中输入docker -v
出现版本号就代表docker安装成功了
在电脑上创建文件夹并命名为docker_project ,然后创建子文件夹并命名为frpc
并且将两个配置文件放进去:docker-compose.yml 和frpc.toml
version: '3' # Docker Compose文件格式版本
services: # 定义服务
frpc: # 服务名称为frpc
image: 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" # 公网服务器的IP
serverPort = 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 = 22
remotePort = 10022
# VNC 服务配置
[[proxies]]
name = "mac-vnc"
type = "tcp"
localIP = "host.docker.internal"
localPort = 5900
remotePort = 15900
同样在终端中打开这个目录,运行docker compose up -d启动frpc客户端
教程中所涉及到的端口,请在服务器中放行。
以上都是通过命令方式安装的,也可以在1panel面板后台的应用商店里面直接安装使用,服务器端和本地客户端都需要安装1panel,服务器安装frp的服务端,本地安装frp客户端。1panel面板适合在linux系统中安装,windows系统需要安装wsl或者虚拟机。