Frp内网穿透

官方文档https://gofrp.org/zh-cn/docs/

安装

https://github.com/fatedier/frp/releases下载对应架构的安装包

image-20240127234956083

frpsfrps.toml上传到服务器,比如/usr/frp目录下, 服务器的frps要和服务器的架构一样,客户端的frpc要和客户端架构一致。

比如我服务器是linux64为则要选择linux_amd64,

客户端是windows64则选择windows_amd64

编写配置

配置端口和token认证

编辑frps.toml

token建议复杂点

image-20240128002911053

保存退出

 bindPort = 7000
 auth.method = "token"
 auth.token = "gfwfwlkqwhfljergb230894534uthwfndwweqt][peghe4ow]" #复杂点随便写

认证方式还有其他的,可以参考官方文档。

注册为服务

安装systemd

有就不需要了

 # 使用 yum 安装 systemd(CentOS/RHEL)
 yum install systemd
 ​
 # 使用 apt 安装 systemd(Debian/Ubuntu)
 apt install systemd

创建frps.service

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

vim /etc/systemd/system/frps.service

写入以下内容

 [Unit]
 # 服务名称,可自定义
 Description = frp server
 After = network.target syslog.target
 Wants = network.target
 ​
 [Service]
 Type = simple
 # 启动frps的命令,需修改为您的frps的安装路径
 ExecStart = /path/to/frps -c /path/to/frps.toml
 ​
 [Install]
 WantedBy = multi-user.target
 ​

记得修改frps命令和配置文件的路径

image-20240128002154318

提示权限不足,授予执行的权限

 chmod +x /path/to/frps

image-20240128002459839

使用systemd管理frps服务

 # 启动frp
 sudo systemctl start frps
 # 停止frp
 sudo systemctl stop frps
 # 重启frp
 sudo systemctl restart frps
 # 查看frp状态
 sudo systemctl status frps

设置开机自启

 sudo systemctl enable frps
 sudo systemctl start frps
 sudo systemctl status frps

image-20240128003347826

这样就表示成功了

放行服务器端口

新建防火墙规则,将之前frps绑定的端口放开。

image-20240128003653324

客户端

配置服务端地址和IP

编辑frpc.toml

 serverAddr = "127.0.0.1"
 serverPort = 7000
 auth.method = "token"
 auth.token = "之前配置的token"
 ​
 [[proxies]]
 name = "test-tcp"
 type = "tcp"
 localIP = "127.0.0.1"
 localPort = 80 #本地端口
 remotePort = 6000 #服务器端口 即将服务器6000端口的数据转发到本地IP+端口

客户端部署

在frpc安装目录下启动cmd

 frpc.exe -c frpc.toml

image-20240129005108085

开启管理面板

服务端开启管理面板,可以更加有效的监控流量情况,在frps.toml文件添加一下内容:

webServer.port = 7500 #管理面板端口
webServer.addr = "0.0.0.0" #允许访问管理面板的ip
webServer.user = "admin" #登录面板的用户名
webServer.password = "admin" #密码

重启frps服务

sudo systemctl restart frps

访问addr:port,输入用户名密码就可以登录管理面板