利用frp实现内网穿透功能(服务器)Linux、(内网)Windows

发布于:2025-07-29 ⋅ 阅读:(15) ⋅ 点赞:(0)

适用于: 本地电脑(windows)或者Linux(本篇未介绍)
工具:FRP(fast reverse proxy)
系统:Linux、Windows
架构:x86、amd
Frp版本:frp_0.62.1_windows_amd64

准备工作:有一个云服务器(Liunx系统)、有个本地的windows的系统

第一步:下载 frp

首先在云服务上输入命令:uname -m 查看自己的电脑是什么系统架构

  • 输出示例:
    • x86_64: 表示 64 位 x86 架构(也称为 AMD64)。
    • i686 或 i386: 表示 32 位 x86 架构。
    • aarch64: 表示 64 位 ARM 架构。
    • mips: 表示 MIPS 架构。

 因为我的云服务器是AMD64,所以我下载的版本是amd的版本,进入到服务器的home目录下,执行以下的命令

# 下载 Linux x86_64 版本
wget https://github.com/fatedier/frp/releases/download/v0.62.1/frp_0.62.1_linux_amd64.tar.gz

# 解压
tar -zxvf frp_0.62.1_linux_amd64.tar.gz
cd frp_0.62.1_linux_amd64

# 赋予执行权限
chmod +x frps frpc

 进入目录下之后,可以看到相关文件:

frpc:客户端文件,frpc.toml:客户端配置文件

frps:服务端文件,frps.toml:服务端配置文件

因为我的服务器是作为服务端用,所以只要配置frps.toml:服务端配置文件就可以了,并且在云服务器中启动frps服务

第二步:配置服务端(frps)

 配置frps.toml的配置如下

# frps.toml - 服务端配置

# 基础配置
bindPort = 7000                    # frps 监听端口

# 安全配置
[auth]
method = "token"
token = "dcx123456"   # 请修改为复杂密码

# Web 管理界面(可选)
[webServer]
addr = "0.0.0.0"
port = 7500
user = "admin"
password = "admin"

# 日志配置
[log]
to = "./frps.log"
level = "info"
maxDays = 7

第三步:启动服务端

在云服务骑上启动服务,进入目录:

/home/frp_0.62.1_linux_amd64

运行与以下命令

# 前台启动(测试用)
./frps -c frps.toml

# 后台启动(生产环境)
nohup ./frps -c frps.toml > frps.out 2>&1 &

# 检查运行状态
ps -ef | grep frps
netstat -tunlp | grep 7000

在服务器中访问:云服务器IP+7500(云服务器的7500端口要在防火墙中放开)

以上为止,在服务器端的配置都算已经结束了

第四步:下载客户端(frpc)

 因为我的客户端就是我家中的电脑,在局域网中,并且是windows系统,所以我要下载对应的版本的windows的frp服务:https://github.com/fatedier/frp/releases/download/v0.62.1/frp_0.62.1_windows_amd64.zip

下载完成之后,放在指定目录,解压缩

frpc.toml 配置文件

serverAddr = "云服务器ip"
serverPort = 7000
auth.token = "dcx123456"  # 与服务端保持一致


# SSH 服务穿透
[[proxies]]
name = "zhangbotcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8886
remotePort = 18886

#视频流
[[proxies]]
name = "video2"
type = "tcp"    #rtsp属于tcp协议
localIP  = "192.168.1.123"  #摄像头的内网ip地址
localPort = 554          #内网rtsp的端口,默认为554
remotePort = 30000       #远程映射端口

在文件夹中启动cmd命令:

frps.exe -c frps.toml
[frps/root.go:105] frps uses config file: frps.toml
[server/service.go:237] frps tcp listen on 0.0.0.0:7000
[server/service.go:305] http service listen on 0.0.0.0:80
[server/service.go:319] https service listen on 0.0.0.0:443
[frps/root.go:114] frps started successfully
[server/service.go:351] dashboard listen on 0.0.0.0:7500

之后就能访问:云服务ip+端口了

http路径设置:因为http的底层也是tcp协议,所以将本地的一个java服务的端口是:9119,映射出去,所以文件frpc.toml按照如下配置即可

[[proxies]]
name = "screen"
type = "tcp"
localIP = "127.0.0.1"
localPort = 9119
remotePort = 9119

最后在浏览器访问:云服务器ip+9119即可


网站公告

今日签到

点亮在社区的每一天
去签到