frp服务端和客户端的配置和使用(超详细)


前言

当你开启一个《我的世界》服务器,兴致勃勃地准备给朋友发送你服务器的地址时,却想起:你没有公网!!!
这时,你又想起了很久前在腾讯云上买来吃灰的服务器。
在这里插入图片描述
1200GB/月的流量包,8Mbps的带宽,公网IP。当你又看了看它的4核CPU和4GB内存,再看了看运行在你台式机上,快要被《我的世界》服务程序挤爆的8GB内存(此处应用夸张修辞,表达该服务程序只应该运行在你的本地主机上),放弃了把服务程序运行在服务器上的想法。

为了解决没有本地公网 IP 的难题,当你正好又有闲置的公网服务器时,端口映射就显得重要,frp便是不错的选择。

一、frp是什么?

frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。

frp+公网主机,能做什么?

穿后台、建网站、做调试、开游戏……

比如:你可以直接用微软官方远程桌面,连接你处于内网的电脑主机

二、服务器上的配置

1.下载frp程序

github链接:https://github.com/fatedier/frp/releases

在这里插入图片描述
一般选最新的版本下载

在这里插入图片描述
选择对应自己的版本,下载。

386和amd64的区别?你可以简单地理解:
386——32位操作系统
amd64——64位操作系统

我的服务器系统是Windows Server 2019,本地主机是Windows10,都是64位的系统,所以选择下载amd64的版本。

小tip:github下载速度很慢,可以选择使用Git国内镜像或者IDM等下载器下载

2.解压文件

在这里插入图片描述
解压文件后,你得到了这样一堆文件:
frpc.exe、frpc.ini、frpc_full.ini,都是客户端的文件。
c的含义——client(客户)

frps.exe、frps.ini、frps_full.ini,都是服务端的文件。
s的含义——server(服务)

3.编辑服务端配置文件

打开frps.ini文件,你只能得到:

[common]
bind_port = 7000

登陆你的公网服务器控制台,查看网络信息
在这里插入图片描述

为保证服务端程序能正常运行,你需要在frps.ini文件中添加这些内容:

[common]
bind_addr = x.x.x.x     ---填写服务器的内网IP,用于客户端程序的连接
bind_port = 7000       ---你希望此frp程序从哪个端口开放,用于客户端程序的连接
kcp_bind_port = 7000  
vhost_https_port = 7001
dashboard_addr = x.x.x.x    ---填写服务器的内网IP,用于查看frp服务运行监控面板
dashboard_port = 7500    ---填写端口号,用于连接frp服务运行监控面板的端口
dashboard_user = admin   ---监控面板的管理账号
dashboard_pwd = admin   ---监控面板的管理密码
log_file = ./frps.log   ---日志保存位置
log_level = info
log_max_days = 3    ---日志最长清除时间,一般3天
authentication_timeout = 900
token=12345678   --访问密钥,服务端和客户端一定要保持一致(否则会导致连接失败)
allow_ports = 2000-3000,3001,3003,4000-50000,3362  
---允许客户端程序映射到服务器的端口,按照自己需要填写,可以是区间,也可以是单个端口,用逗号隔开
max_pool_count = 50  ---最大连接数
max_ports_per_client = 0

纯净版:

[common]
bind_addr = (此处需要根据自身填写)
bind_port = 7000
kcp_bind_port = 7000
vhost_https_port = 7001
dashboard_addr = (此处需要根据自身填写)
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 900
token = 12345678
allow_ports = 2000-3000,3001,3003,4000-50000,3362  
max_pool_count = 50
max_ports_per_client = 0

你也可以打开frps.ini对应的frps_full.ini文件,里面对各种配置信息有着详细的解释,可以根据自己实际需要去添加到frps.ini文件中。保存frps.ini后进行下一步。

4.运行服务端程序

在这里插入图片描述双击frps.exe程序,出现如图提示,意思是你不能用这种方式来打开它,你需要用cmd来运行。
(错误示范)

正确的打开方式是(其中之一):
在这里插入图片描述
打开C:\Windows\System32,找到cmd.exe文件,将frps.exe拖动置cmd.exe上

在这里插入图片描述
输入以下命令,回车

.\frps.exe -c frps.ini

如果防火墙提示,点击允许此程序运行。
在这里插入图片描述

此时frp服务端程序就已经在运行了,在它的同一目录下会生成一个叫做frps.log的文本文档,打开就可以看到frp服务端程序的运行日志;任务管理器的详细信息中也出现了frps.exe的进程。

5.查看frp服务端运行情况

打开服务器上的浏览器,在浏览器中输入:

你的内网ip:7500

在弹出的提示框中输入前面填写的状态面板的账号和密码

在这里插入图片描述
如果出现如图界面,就说明你的服务端配置正确。

6.防火墙设置

防火墙开放后具有一定风险,建议先跳过此步,若最终能成功运行,就不要对防火墙做任何处理

操作系统防火墙设置

在这里插入图片描述
搜索Windows Defender 防火墙,运行。
在这里插入图片描述
选择高级设置

入站规则添加

在这里插入图片描述
选择入站规则,选择新建规则
在这里插入图片描述
选择程序,下一步
在这里插入图片描述
选择此程序路径(T),浏览(R),选择frps.exe文件,下一步
在这里插入图片描述
允许安全连接,下一步

全部勾选,下一步
在这里插入图片描述
填写名称(随意,比如frp入站)

出站规则添加

在这里插入图片描述
与入站规则添加相同。

服务器控制台防火墙设置

登陆你的服务器控制台,这里以腾讯云为例
在这里插入图片描述
选择添加规则
在这里插入图片描述
在应用类型中选择全部TCP,点击确定

三、客户端上的配置

1.编辑配置文件

打开frpc.ini,你会看到以下内容:

[common]  --基础设置
server_addr = x.x.x.x --此处填写你服务器的公网IP
server_port = 7000  --此处填写你服务器上frp服务端设定的端口,默认7000

[ssh]   --此处填写你需要添加的映射的名称(自定义,123、qwe之类的都可以)
type = tcp  --此处填写该映射的协议类型
local_ip = 127.0.0.1  --本地IP,不做任何更改
local_port = 22  --需要映射的本地IP
remote_port = 6000  --需要映射到服务器的IP,注意不得与服务器上的端口重复

但就上面的内容,是不能正常运行的,还需要填写其它内容。

示例:

[common]
server_addr = x.x.x.x  --此处填写你服务器的公网IP
server_port = 7000  --此处填写你服务器上frp服务端设定的端口,默认7000
privilege_token = 12345678  --此处填写你服务端设定的密钥
token = 12345678  --此处填写你服务端设定的密钥
login_fail_exit = false  --此处填写false表示连接服务器失败后 自动重连而不是退出,建议添加

[Minecraft]  --例如,我想映射《我的世界》服务端,这里填写映射的名称)其他的也可以
type = tcp  --《我的世界》服务端采用tcp协议,所以填写tcp
local_ip = 127.0.0.1  --这里不做任何改变
local_port = 25565  --《我的世界》服务端默认端口是25565
remote_port = 25565  --映射到服务器上的端口
custom_domains = tonesc.xyz  --这里填写需要解析到此映射的域名
[control]  --例如,我想映射本地实体计算机的远程端口,这里填写映射的名称)其他的也可以
type = tcp  --windows系统 远程桌面程序的协议是tcp
local_ip = 127.0.0.1  --这里不做任何改变
local_port = 3389  --windows系统 远程桌面的端口是3389
remote_port = 20990  --服务器上的系统也是Windows,远程桌面端口同为3389,所以随意填写一个
custom_domains = tonesc.xyz  --这里填写需要解析到此映射的域名

纯净版:

[common]
server_addr = (此处填写你服务器上的公网IP)
server_port = 7000
privilege_token = 123123
token = 123123
login_fail_exit = false
[Minecraft]
type = tcp
local_ip = 127.0.0.1
local_port = 25565
remote_port = 25565
custom_domains = tonesc.xyz
[control]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 20990
custom_domains = tonesc.xyz

同样的,你也可以打开frpc.ini对应的frpc_full.ini文件,里面对各种配置信息有着详细的解释,可以根据自己实际需要去添加到frpc.ini文件中。保存frpc.ini后进行下一步。

2.运行客户端程序

打开方式与服务端相同,出现以下提示(句子中有“success”),就说明该映射已经在正常运行了。

2022/03/19 18:59:53 [I] [service.go:325] [XXXXX] login to server success, get run id [3d9a1f0a6250b27], server udp port [0]
2022/03/19 18:59:53 [I] [proxy_manager.go:144] [XXXXX] proxy added: [Minecraft control]
2022/03/19 18:59:53 [I] [control.go:181] [XXXXX] [Minecraft] start proxy success
2022/03/19 18:59:53 [I] [control.go:181] [XXXXX] [control] start proxy success

至此,frp程序服务端和客户端的配置就完成了!

其它设置

域名解析到映射到服务器

首先我们应该明白,映射是将你处在内网的实体主机上运行的程序端口,映射到你的服务器上,所以想要访问处在内网的实体主机上的程序,就是直接访问服务器上的映射到的相应端口。
例如:
实体主机的操作系统:Windows
实体主机的远程桌面端口:3389
实体主机的IP地址:不需要
服务器的操作系统:Windows
映射到服务器上的相应端口:20990(假设)
服务器的IP地址:123.123.123.123(假设)

映射正常运行,需要远程桌面连接实体主机,则在其它设备的远程桌面程序中输入:

123.123.123.123:20990   --服务器的IP:映射到服务器上的端口

如果需要正常访问服务器的远程桌面程序,则在其它设备的远程桌面程序中输入(二选一):

123.123.123.123:3389    --服务器的IP:服务器自身的远程桌面端口
123.123.123.123    --服务器的IP

因此,需要解析域名到映射程序上时,只需解析域名到服务器的IP地址即可。

用bat批处理文件启动服务端/客户端

在这里插入图片描述
在与frp程序的同一目录下,创建一个bat文件,名称随意
运行客户端程序,则在bat文件中输入以下内容:

@echo off
:home
frpc -c frpc.ini
goto home

运行服务端程序,则在bat文件中输入以下内容:

@echo off
:home
frps -c frps.ini
goto home

保存,双击运行bat,即可快速打开frp服务。

设置开机启动

为上一步中创建的bat文件创建快捷方式,将其快捷方式移动到以下目录:

C:\Users\你的用户名称\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

*完结

  • 25
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值