frp搭建内网穿透时报的token问题,也许是因为你配置文件使用不对
最近由于网络问题,需要使用frp搭建内网穿透服务,在使用 /frpc -c /frpcini 启动客户端时,一直提示:
[E] [servicego:273] token in login doesn't match token from configuration
百度一圈后,只得到了以下几点解决方案:
1 去掉token
2 将token修改为简单密码
但是试过很多次之后,还是不行,继续报同样的错,睡了一觉起来后,想到了通过
ps -aux|grep frp 命令查了一下公网服务器上frp服务的相关信息:
请注意重点: 你在启动frps服务时,使用的命令是:/fprs -c /frpsini, 你以为使用的配置文件是frp安装目录底下的frpsini, 而实际上使用的配置文件是 /etc/frp/frpsini
所以: 最终修改 内网服务器中的 frpcini 的token, 与 公网服务器 /etc/frp/frpsini中token保持一致
再重启frps以及frpc, 该问题成功解决
说明: FrpMgr是一个基于Frp的快速配置Web面板,可以一键配置生成客户端的Frp配置文件,远程安装Frp服务到任意一台服务器,让我们在使用配置Frp上方便很多。对于类似这种带Web面板的穿透工具,之前也发过不少,比如nps、lanproxy等,都挺不错的,有兴趣可以去了解下,这里就介绍下FrpMgr安装及使用。
截图
安装
Github地址: https://githubcom/Zo3i/frpMgr
说明: 由于该面板使用的JAVA、Mysql 57,所以512M的内存大部分是跑不起来的,如果内存太小,先加一点虚拟内存,可以使用Swap一键脚本→传送门。
1、安装Docker
2、安装Docker Compose
3、安装git
4、安装FrpMgr
面板访问地址:ip:8999/frp,账号admin,密码12345678,登录成功后在面板修改密码即可。
使用
1、首先去域名服务商解析一个泛域名(如moeratscom)到服务器ip。
2、点击左侧FRP服务器配置,域名只需要填主域名,这里默认的服务器端口为22。
填好后,点击远程安装,输入服务器密码即可,服务器端系统目前支持CentOS 7、Debian 8+、Ubuntu 16+,且注意防火墙需要打开Web端口。
3、点击左侧FRP客户端配置,填上二级域名(比如rats、后面就不要了),本地端口就可以了。
最后点击右侧,下载Win或者Mac配置压缩包即可,Win的话解压出来打开openbat即可,连接地址为二级域名:Web端口。
由于没有Win客户端开机自启,这里博主就额外说下Windows开机自启步骤。
总结
该面板功能什么的目前还是挺简单的,不过对于要求不高的来说,基本可以满足了,如果你要求更高的话,可以试试文章开头介绍的nps、lanproxy等,最后作者表示会一直维护下去的,并逐渐增加功能,有想法的可以在下面评论,作者也会经常来查看的,然后有心的可以去Github给个Star鼓励下作者就可以了,毕竟Frps管理面板很少见。
更多精彩内容,请关注辉哥自媒体!
转载文章,原作:Rat's Blog
总结:
宝塔面板打开默认关闭的UDP
解决方案:
安装宝塔面板后,在服务器上安装frps,并开启KCP,发觉客户端frpc连接不上,始终提示 i/o timeout 。
检查了服务器(腾讯云)的防火墙,相关端口的TCP和UDP都已打开(已导入宝塔面板专门为腾讯云出的出入站规则,及之前使用AppNode面板的自定义出入站规则)。
各种调试,无解。
折腾了近2天。
忽然再次反映过来,KCP走的是UDP协议,因为安装宝塔面板之前是frps是好用的,所以判定问题出在宝塔面板上,是否是服务端系统(Raspbian)的UDP不通?
遂去宝塔面板论坛查询,发现宝塔面板安装后,默认关闭UDP端口连接。使用上面面的命令,打开防火墙的相关配置。
重启frpc,正常。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。主要他是一个开源的。
https://githubcom/fatedier/frp
http://getfrpyzxx-softcom/indexhtml
具体配置以及使用方法我这里就不过多介绍了,官方文档有详细说明。
这里我贴出我的配置内容如下:
假如服务端的IP地址为:121359912
在多人同时使用一个 frps 时,通过自定义二级域名的方式来使用会更加方便。
通过在 frps 的配置文件中配置 subdomain_host,就可以启用该特性。之后在 frpc 的 http、https 类型的代理中可以不配置 custom_domains,而是配置一个 subdomain 参数。
只需要将 {subdomain_host} 解析到 frps 所在服务器。之后用户可以通过 subdomain 自行指定自己的 web 服务所需要使用的二级域名,通过 {subdomain}{subdomain_host} 来访问自己的 web 服务。
假如域名为:abccom
去域名的控制面板添加解析 javen 到 121359912
http://macjavenabccom:9988/user
映射到本地的
http://localhost:8080/user
通过浏览器查看 frp 的状态以及代理统计信息展示。
http://121359912:9999
登录的用户名以及密码为服务端配置的
dashboard_user = javen
dashboard_pwd = javen
这里我们 使用Nginx将9988端口映射到80端口 供微信开发调试使用
0条评论