frp-p2p配置说明


标准的配置文件

访问者、被访问者都修改frpc.ini,中间的媒婆服务器修改frps.ini,其中的c就是client客户端,s指server服务器。

被访问者:frpc.ini

[common]
# 这里是客户端配置,server_addr后写本客户端要连接的服务器的IP地址,默认是0.0.0.0
server_addr = 服务器IP
server_port = 7000
# 鉴权使用的 token 值,可以自定义
token = abc123123
#  启用 TLS 协议加密连接
tls_enable = true

[rdp] 
type = stcp
#  这部分是代理配置,将type改为stcp类型的代理
# sk是密钥,可以自定义。服务端和访问端的密钥需要一致,访问端才能访问到服务端
sk = abcd1234
#  不需要写远端端口(remote_port),因为代理的是本地的3389端口
local_ip = 127.0.0.1
local_port = 3389

服务器:frps.ini

[common]
#  服务端监听地址,0.0.0.0代表此时服务器监听所有发来请求的客户端的IP
bind_addr = 0.0.0.0
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 这里写自己的仪表板admin账户的密码
token = 123456

tcp_mux = true
#  日志文件地址
log_file = /root/frp/log/frps.log
# 日志等级,分为trace, debug, info, warn, error
log_level = info
# 日志文件保留天数,我保留5天
log_max_days = 5

访问者:frpc.ini

[common]
server_addr = 服务器的公网IP地址
server_port = 服务器暴露给公网的端口,建议数值尽量大些的非知名端口
#  token需要和服务端设置一样的值才能鉴权通过
token = abc123123
#  启用 TLS 协议加密连接
tls_enable = true

[rdp_visitor] 
type = stcp
#  角色,server是服务端,visitor表示访问端。默认值是server,所以前面的服务器配置可没这一行
role = visitor
#  要访问的 stcp 代理的名字
server_name = rdp
sk = abcd1234
#  注意sk 要一致,访问者和被访问者的密钥一致,访问者才能和被访问者建立连接
#  绑定本地端口用于访问 远程桌面 服务,这里理解为访问者作为客户端,访问被访问者(目的服务器,不是中间的代理服务器)
bind_addr = 127.0.0.1
bind_port = 9090

个人配置文件

被访问者:frpc.ini

[common]
# 这里是客户端配置,server_addr后写本客户端要连接的服务器(服务端)的IP地址,默认是0.0.0.0
server_addr = 服务器ip地址(公网ip地址)
server_port = 7000
authentication_method = token
# 鉴权使用的 token 值,可以自定义
token = abc123123

# mstsc直接输入公网的IP和端口就能远程       
[rdp] 
type = tcp
local_ip = 127.0.0.1
local_port = 3389
# 远程端口
remote_port = 7002

[p2p_rdp]
#  这部分是代理配置,将type改为stcp类型的代理
type = stcp
# sk是密钥,可以自定义。服务端和访问端的密钥需要一致,访问端才能访问到服务端
sk = cue121212
#  不需要写远端端口(remote_port),因为代理的是本地的3389端口
local_ip = 127.0.0.1
local_port = 3389
# 启用后该代理和服务端之间的通信内容都会被加密传输
use_encryption = false
use_compression = false

[p2p_rdp_xtcp]
type = xtcp
sk = cue121212
local_ip = 127.0.0.1
local_port = 3389
# 启用后该代理和服务端之间的通信内容都会被加密传输
use_encryption = false
use_compression = false

mstsc表示远程桌面的命令行指令_mstsc_,原来它的意思是Microsoft Terminal Server Connection微软终端服务器连接的缩写。

服务器:frps.ini


[common]
#  服务端监听地址,0.0.0.0代表此时服务器监听所有发来请求的客户端的IP
# 还可以写127.0.0.1
binf_addr = 0.0.0.0
# 服务端端口
bind_port = 7000
bind_udp_port = 7000

authentication_method = token
# 认证Token的值包含字母大小写数字等
token = abc123123

# 可视化面板
# 面板用户名
dashboard_user = admin
# 这里写自己的面板板admin账户的密码
dashboard_pwd = 123456
# 面板端口
dashboard_port = 7500

# 超时时间为秒,如果没有报错,可以不设置
heartbeat_timeout = 90

user_conn_timeout = 60

vhost_http_timeout = 90

tcp_mux = true
# 日志文件地址
log_file = /root/frp/log/frps.log
#  日志等级,分为trace, debug, info, warn, error
log_level = info
# 日志文件保留天数,我保留5天
log_max_days = 5

访问者:frpc.ini

[common]
# 服务器的公网IP地址
server_addr = 服务器ip地址(公网ip地址)
# 服务器暴露给公网的端口,建议数值尽量大些的非知名端口
server_port = 7000
authentication_method = token
#  token需要和服务端设置一样的值才能鉴权通过
token = abc123123

[p2p_rdp_visitor]
#  角色:server是服务端,visitor表示访问端。默认值是server,所以前面的服务器配置可没这一行
role = visitor
type = stcp
#  要访问的 stcp 代理的名字
server_name = p2p_rdp
#  注意sk 要一致,访问者和被访问者的密钥一致,访问者才能和被访问者建立连接
sk = cue121212
#  绑定本地端口用于访问 远程桌面 服务,这里理解为访问者作为客户端,访问被访问者(目的服务器,不是中间的代理服务器)
bind_addr = 127.0.0.1
bind_port = 9090
# 启用后该代理和服务端之间的通信内容都会被加密传输
use_encryption = false
use_compression = false

[p2p_rdp_visitor2]
#  角色:server是服务端,visitor表示访问端。默认值是server,所以前面的服务器配置可没这一行
role = visitor
type = xtcp
#  要访问的 stcp 代理的名字
server_name = p2p_rdp_xtcp
#  注意sk 要一致,访问者和被访问者的密钥一致,访问者才能和被访问者建立连接
sk = cue121212
#  绑定本地端口用于访问 远程桌面 服务,这里理解为访问者作为客户端,访问被访问者(目的服务器,不是中间的代理服务器)
bind_addr = 127.0.0.1
bind_port = 9091
# 启用后该代理和服务端之间的通信内容都会被加密传输
use_encryption = false
use_compression = false

win客户端后台运行及开机自启

frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
在任何一个目录下新建一个文本文件并将其重命名为“frpc.bat”,编辑,粘贴如下内容并保存。

@echo off 
if "%1" == "h" goto begin 
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&
:begin 
REM 
cd C:\frp 
frpc -c frpc.ini 
exit

将cd后的路径更改为你的frpc实际存放的目录。

之后直接运行这个 .bat 文件即可启动frpc并隐藏窗口(可在任务管理器中退出)。
至于开机启动,把这个 .bat 文件直接扔进Windows的开机启动文件夹就好了 :)
至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。
强烈建议你在使用frp直接测试内网穿透前,先在局域网内测试好相关功能的正常使用,并配置好可能会影响的Windows防火墙等内容,在内网调试通过后再使用frp进行内网穿透测试。

windows开机自启动bat文件:
https://www.cnblogs.com/shengruxiahuaya/p/17150459.html

开机自启可以参考:https://www.vuar.cn/index.php/archives/74/

附件

参考:https://zhuanlan.zhihu.com/p/575316935

xtcp使用解释:https://gofrp.org/docs/features/xtcp/

xtcp参考:https://doc.natfrp.com/app/xtcp.html


文章作者: keney
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 keney !
评论
  目录