关于frp:搭建FRP遇到的问题和解决办法

FRP是一个开源的内网穿透小工具,自己搭建应用过程中经常出现问题(都是心酸泪),尽管当初不必了,因为公司在用商业级的神卓互联来代替frp,因为对性能要求比拟高,FRP适宜集体应用,目前用不到了,现将常见问题整顿如下:1.是否领有给frp程序赋予运行的权限 Linux 例如frps文件在/root/目录 执行命令:chmod +x /root/frps 给这个frps文件赋予可运行权限命令。 frps文件必须领有 755 以上权限才可运行。 Windows 以管理员身份运行。 2.设施零碎架构和采纳的frp版本,是否匹配,看这里 有时候无奈运行,可能是你抉择的frp对应架构版本不同,这也是个问题。 Windows win + R,输出cmd,确定,关上命令窗口,输出msinfo32,留神要在英文状态下输出,回车。而后在弹出的窗口中就能够看到零碎的具体版本号了。 Linux、Android、Raspberry Pi 输出 cat /proc/version 路由器 输出cat /proc/cpuinfo 查看相干信息,是否所应用的frp架构版本适宜应用。 留神: 通过命令 ./frps -v 或 ./frpc -v 显示以后版本,则可运行的了。 然而,尽管可运行,但不代表能失常运行和失常应用,还波及到上面这几方面,须要留神的 -c 指向ini文件为绝对路径,是否正确Linux 例如frps文件和frps.ini文件都在/root/目录 正确用法 /root/frps -c /root/frps.ini 谬误用法 /root/frps -c /frps.ini Windows 例如frps文件和frps.ini文件都在 D盘frp文件夹 正确用法 D:\frp\frps -c D:\frp\frps.ini 谬误用法 D:\frp\frps -c \frps.ini -c参数为指向ini文件,必须为以后文件的绝对路径。 运行frp,还须要加-c ini文件 4.ini文件配置参数是否正确 服务端frps.ini文件和客户端frpc.ini文件,所配置的参数是否正确,两者是否对应能用? 很多人,认为这两边都运行了就行。然而这个情理就像一个公司和员工之间的密切联系。 frps.ini代表公司,frpc.ini代表员工。 ...

October 16, 2022 · 1 min · jiezi

关于frp:frp免费内网穿透访问家用电脑本地服务http示例

内网穿透他人是无奈通过一个链接拜访到你家里的电脑的某个文件夹外面的文件的,因为你家里的电脑属于内网,而能通过一个链接去拜访的属于公网,所以这就须要应用【内网穿透】这一个技术概念去实现近程拜访家里电脑。 frp是什么frp是一个专一于内网穿透的高性能的反向代理利用,反对 TCP、UDP、HTTP、HTTPS 等多种协定。能够将内网服务以平安、便捷的形式通过具备公网IP节点的直达裸露到公网。 frp整个服务过程就是这样,与其说是收费,实际上你也是须要一台服务器来实现。如果你有服务器,那就好办,如果没有服务器,要么购买服务器,要么就借用别人服务器去搭建这个frp穿透服务。 frp下载frp是收费开源的,能够在GitHub下载对应的版本:https://github.com/fatedier/f... 因为我是Linux服务器做服务端,Windows零碎作为客户端,所以我这边就下载了两个版本,一个是用于架设服务端frp一个用于架设客户端。 frp装置装置文档(中文):https://gofrp.org/docs/setup/ 我的服务器是应用宝塔面板,间接在宝塔面板的【文件】根目录下的www/wwwroot/目录下创立了一个frp目录,而后将frp_0.41.0_linux_386.tar.gz解压后这三个文件上传到这个目录。 这三个文件是服务端frp的二进制文件和配置文件。 这样就曾经是部署好了服务端,接着就是部署客户端。因为我的客户端是Windows,所以我方才下载了2个frp版本,方才部署的是Linux服务器的服务端,当初部署的是Windows客户端。将frp_0.41.0_windows_386.zip解压后这三个文件复制到你电脑的任意目录下,我这里是放在D盘的frp目录。 配置和启动frp实现http拜访内网服务在宝塔面板的文件治理面板中找到frp的文件目录双击frps.ini关上配置文件,如下图进行配置。 服务端配置 [common]bind_addr = 0.0.0.0bind_port = 7000privilege_token = 12345678vhost_http_port = 8080阐明:bind_addr是服务器本地ip,bind_port是服务器本地凋谢进去用于frp的端口,privilege_token是用于服务端和客户端的一个平安验证的token令牌,vhost_http_port是服务端对外开放的一个http端口,原则上是应用80端口的,然而个别有服务器会架设80端口用于其余网站或者服务了,所以80应该会被占用,这里就应用8080代替80端口。 客户端配置 关上客户端frp的配置文件frpc.ini,我这里应用sublime text3关上,你也能够应用记事本或者其余代码编辑器关上。 [common]server_addr = xxx.xx.xx.xserver_port = 7000privilege_token = 12345678[httpname]type = httplocal_port = 80local_ip = 127.0.0.1custom_domains = www.qq.com阐明:server_addr是服务器的ip地址,server_port是服务端frp设置的凋谢端口,privilege_token是服务端设置的token,type是http服务,local_port是客户端的本地服务端口(我这里的客户端是家里的电脑),家里电脑搭建了一个网站并且应用phpstudy在本地开启了服务,所以是80端口,local_ip是客户端http服务的ip地址,本地服务的ip地址都是127.0.0.1,custom_domains是绑定的域名,你须要去解析这个域名到你的服务器的ip上。 以上服务端和客户端配置实现。 开启frp服务关上宝塔面板的【终端】 通过cd命令cd到你的frp服务端的目录下再去执行上面的命令启动frp服务端。 ./frps -c ./frps.ini服务端启动之后,再去启动客户端。因为我的客户端是windows,所以应用cmd进行启动。在frp的客户端的目录下的文件目录上输出cmd按回车进入cmd命令行工具。 间接输出frpc.exe按回车启动客户端。 拜访服务当以上配置都实现了之后,你的frp内网穿透服务即可应用。 在浏览器输出你方才配置的域名和frp服务端对外服务的端口号即可通过http拜访内网的服务。例如你的域名是www.qq.com,当初配置的服务端http端口是8080,那么就要拜访:http://www.qq.com:8080,留神,肯定要在服务器凋谢以上波及到的端口,无论是8080还是7000端口,都须要凋谢,具体凋谢地位是宝塔面板的【平安】 我是应用phpstudy在家里电脑搭建了一个网站,所以间接拜访即可显示。 作者:TANKINGWeb:www.likeyunba.comWeChat:sansure2016(加我可进技术群)

March 25, 2022 · 1 min · jiezi

关于frp:使用frp进行windows远程内网穿透

首先你要有个服务器 下载GitHub仓库frp中下载各个系统的对应版本 装置linux版服务端装置上传frps和frps.ini文件即可 frps.ini配置内容如下 [common]bind_port = 1234配置阐明:和客户端通信的端口,用于内网穿透所在目录执行命令 nohup ./frps -c ./frps.ini & 后盾运行frps服务端 客户端下载windows版客户端程序 只需frpc.exe和frpc.ini文件 frpc.ini配置文件如下 [common]server_addr = 你的服务器地址server_port = 1234[ssh]type = tcplocal_ip = 127.0.0.1local_port = 3389remote_port = 3389[common]中的参数是服务器ip和内网穿透通信端口 [ssh]中 local_ip 和 local_port 示意客户端将建设的连贯转发到那个本地ip和端口remote_port 示意将服务端这个端口的连贯转发到客户端指定的ip和端口 控制台中定位到frpc所在目录 执行命令frpc -c frpc.ini即可启动客户端 也可制作成bat文件疾速启动 d:cd D:\Software\frpcfrpc -c frpc.iniwindows客户端装置成零碎服务下载winsw打包服务工具放到frpc.exe所在目录 增加一个winsw.xml配置文件 <service> <id>frpc</id> <name>frpc</name> <description>frp客户端</description> <executable>frpc</executable> <arguments>-c frpc.ini</arguments> <logmode>reset</logmode></service>管理员控制台执行 winsw install,而后手动启动该服务即可

October 28, 2021 · 1 min · jiezi

关于frp:5-分钟使用内网穿透快速实现远程桌面

1. 前言大家好,我是安果! 一提到远程桌面,可能大家都会想到 TeamViewer、向日葵等第三方软件 然而,它们大多是商业化软件,价格昂贵;即便有提供收费版本,也是各种限度,稳定性和安全性也没法失去保障 本篇文章将介绍如何应用「 内网穿透 」实现远程桌面治理 2. 内网穿透 Frp常见实现内网穿透的计划有:Frp、Ngrok、natapp 其中,Frp 是一款开源的、简洁易用、高性能的反向代理软件 它反对 TCP、UDP、HTTP、HTTPS 等协定类型 官网地址:https://github.com/fatedier/frp 3. 操作步骤上面以 Frp 内网穿透为例,实现远程桌面拜访 3-1  部署 Frp 服务端到云服务器 依据零碎平台,从上面链接下载 Frp 源码上传到云服务器 https://github.com/fatedier/f... 当然,也能够通过 wget 命令间接下载 # 应用wget命令下载0.37.1版本wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz接着,解压文件压缩包 # 解压文件tar -zxvf frp_0.37.1_linux_amd64.tar.gz而后,应用 vi/vim 编辑 Frp 服务端配置文件「 frps.ini 」 其中 bind_port 用于指定 Frp 服务端的端口号dashboard_user、dashboard_pwd、dashboard_port 别离用于配置 Frp 后盾治理的账号信息及拜访端口号# frps.ini[common]bind_addr = 0.0.0.0bind_port = 7777token = 12345678 # 受权码# 配置frp后盾治理账号dashboard_user = admindashboard_pwd = admindashboard_port = 8888 enable_prometheus = true# 配置日志配置文件夹log_file = /var/log/frps.loglog_level = infolog_max_days = 3最初,凋谢云服务器防火墙端口、配置平安组规定,运行 Frp 服务 ...

September 17, 2021 · 1 min · jiezi

关于frp:frp内网穿透

官网文档地址文档 | frp (gofrp.org) 疾速应用frp的应用次要分为两个端,别离时服务器端和客户端,其中客户端也就是被内网穿透的电脑或服务器,而服务器端则是具备公网ip的能够进行内网穿透的电脑或服务器。 在这里仅记录简略疾速的应用形式 服务器端 首先须要下载frp的Release的包,而后解压并进入到解压目录,而后会发现有文件:frps frps.ini 这两个文件便是内网穿透服务端的次要工具。而后编辑frps.ini文件,如下: [common]bind_port = 3000 # 这个端口是服务器监听被内网穿透客户端的vhost_http_port = 1111 # 这个是在http上须要用到,但我没有域名,便没有用,实践上如果想要拜访网址的化也能够应用tcp的映射,通过ip和端口进行拜访dashboard_port = 7234 # 服务的治理界面dashboard_user = username #服务端治理界面登录用户名dashboard_pwd = password # 服务端治理界面登录明码编辑实现上述文件后,通过./frps -c ./frps.ini执行能够启动内网穿透服务器。当然此时一旦退出终端,内网穿透便会进行,一次最好启动命令时,程序的运行时后盾运行不依赖终端的,命令如下: mkdir log.log # 新建日志文件nohup ./frps -c ./frps.ini > log.log 2>&1 & # 此命令执行后,内网穿透后盾运行启动胜利后便能够拜访服务端的治理界面,如下图: **拜访地址: 公网ip:dashboar_port 被内网穿透的客户端 同样首先下载frp包,而后解压,能在外面看到两个文件:frpc frpc.ini 而后编辑frpc.ini的内容,如下: [common]server_addr = x.x.x.x # 代理服务器的ipserver_port = 3000 # 代理服务器承受内网信息的接口admin_addr = 127.0.0.1 # 被代理客户端的治理界面地址admin_port = 4400 # 被代理客户端界面的portadmin_user = username # 被代理客户端界面的用户名admin_pwd = password # 被代理客户端界面的用户明码[ssh] # 自定义一个内网穿透名称type = tcp # 内网穿透形式local_ip = 127.0.0.1 # 内网应用程序的sportlocal_port = 22 # 内网客户端上应用程序的核好remote_port = 23456 # 内网穿透服务器须要凋谢的端口,用户能够通过这个端口进行申请,而后将相干信息再发送到用户手中[admin_ui] # 客户端的治理页面type = tcplocal_port = 1234remote_port = 1234[nacos]type = tcplocal_port = 1234remote_port = 1234如上述文件,次要采纳的都是port进行连贯 ...

May 30, 2021 · 1 min · jiezi

关于frp:使用frp进行内网穿透

1. frp概念frp 是一个专一于内网穿透的高性能的反向代理利用frp分为两局部 frpc 客户端,工作在内网服务器上frps 服务器端,工作在公网服务器上一个代理对应一个服务,frpc能够反对多个代理我的项目地址2. 应用frp部署内网穿透服务2.1 下载frp部署文件在frp我的项目的release页面,下载特定版本的frp我的项目文件,将我的项目两件别离放入公网服务器与内网服务器,并解压,进入解压后的我的项目文件2.2 公网服务器配置frps.iniecho "[common]bind_port = ${bind_port}# validation, same in frpc.initoken = ${token}# Dashboard configdashboard_port = ${dashboard_port}dashboard_user = ${user}dashboard_pwd = ${passwd}# http://{dashboard_addr}/metrics will provide prometheus monitordata.enable_prometheus = true" > /opt/frps.ini我的项目目录执行 sudo nohup ./frps -c /opt/frps.ini2.3 内网服务器配置frpc.iniecho "[common]server_addr = ${public_ip}server_port = ${bind_port}token = ${token}# set admin address for control frpc's action by http api such as reloadadmin_addr = 127.0.0.1admin_port = 7400[ssh]type = tcplocal_ip = ${local_ip}local_port = ${local_ssh_port}# remote port listen by frpsremote_port = ${public_ssh_port}" > /opt/frpc.ini我的项目根目录执行 nohup ./frpc -c ./frpc.ini备注: ...

February 23, 2021 · 1 min · jiezi

关于frp:frp-内网穿透

下载 服务端 和 客户端frp 服务端配置wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz## 解压tar -zxvf frp_0.31.1_linux_amd64.tar.gz## 进入目录 删除不必要的文件rm -f frpcrm -f frpc.inirm -f frpc_full.inirm -f systemd/frpc.servicerm -f systemd/frpc@.service### 批改 frps.ini 文件,设置 http 拜访端口为 8080[common] bind_port = 7000 #服务启动占用端口vhost_http_port = 8080 #进行转发端口#设置用户名和明码,留神是状态面板的用户名和明码。dashboard_user = admindashboard_pwd = admin# 控制面板dashboard_port = 7500#令牌,很重要,用于验证与客户端的通信。token = 12345678#自定义二级域名,如果设置了,之后在客户端的http、https类型的代理中能够不配置custom_domains,而是配置一个 subdomain 参数。能够不配置,默认没有配置。subdomain_host = frps.comauto_token=12345678## 配置 服务自启服务cd systemdVim fops.service##[Unit]Description=Frp Server ServiceAfter=network.target[Service]Type=simpleUser=nobodyRestart=on-failureRestartSec=5s## 装置目录ExecStart=/etc/frp/frps -c /etc/frp/frps.ini[Install]WantedBy=multi-user.target### 复制到启动服务中cp systemd/frps.service /etc/systemd/system/# 启动测试systemctl start frps.service# 查看启动状态systemctl status frps.service# 进行systemctl stop frps.service# 开机自启systemctl enable frps.service#### xx.xx.xx.xx:7500 能够查看面板客户端配置下载Mac客户端 https://github.com/fatedier/frp/releases解压 tar -zxvf frp ## 进入目录 删除不必要的文件rm -f frpsrm -f frps.inirm -f frps_full.inirm -f systemd/frps.servicerm -f systemd/frps@.service### 配置 frpc.ini 文件[common]server_addr = xxx.xx.xx.xxserver_port = 7000auto_token=12345678[web]type = httplocal_ip = 127.0.0.1local_port = 80remote_port = 8080custom_domains = 域名//开启加密use_encryption = trueuse_compression = trueMac 守护线程启动sudo vim ~/Library/LaunchAgents/frpc.plist<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//ENhttp://www.apple.com/DTDs/PropertyList-1.0.dtd ><plist version="1.0"><dict> <key>Label</key> <string>frpc</string> <key>ProgramArguments</key> <array> //frpc 装置目录 <string>/Users/admin/software/frp_0.31.1_darwin_amd64/frpc</string> <string>-c</string> <string>/Users/admin/software/frp_0.31.1_darwin_amd64/frpc.ini</string> </array> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/></dict></plist>### 配置 开机主动启动sudo chown root ~/Library/LaunchAgents/frpc.plistsudo launchctl load -w ~/Library/LaunchAgents/frpc.plistsudo launchctl unload ~/Library/LaunchAgents/frpc.plist

December 19, 2020 · 1 min · jiezi

内网穿透工具frp的源码解读之概念流程篇

最近学习go语言,看完基础和高级篇后,果断拿起一个开源项目看看,于是就找到内网穿透工具——frp,它具体干嘛的,我就不多说,可以自己上官网看看,动手试试。 概念工作连接和通信连接要分开的理解工作连接是实际用户操作的连接,如ssh通信的流量就走这连接。通信连接是客户端与服务端的协议通信建立内网穿透的逻辑,里面逻辑就包含工作连接的创建 角色客户端:就是执行frpc程序的机子(也就是内网的机子)服务端:就是执行frps程序的机子用户: 就是外网机子,访问frps的机子。 核心流程客户端登陆(通信连接)服务端建立controler客户端建立control,发送NewProxy(通信连接)服务端接收到NewProxy(通信连接),并响应ReqWorkConn,开始建立与用户的监听,handler是HandleUserTcpConnection(server/proxy/proxy.go:235)客户端接收ReqWorkConn(通信连接)客户端创建流量连接(与服务端的新连接)发送NewWorkConn给服务端(流量连接)客户端创建与本地的连接(实际业务)客户端join两个连接(流量连接和本地连接)服务端在接收NewWorkConn,就将该流量连接放入连接池服务端接收用户的连接,会调用HandleUserTcpConnection,该handler就是从上面的连接池获取连接,然后join用户连接和流量连接。所谓建立controler也是为了创建消费者模式的,readCh, sendCh, msgHandler, manager

July 1, 2020 · 1 min · jiezi

frp-实现内网穿透Windows-版

 配置 frp 实现内网穿透frp 中文文档:https://github.com/fatedier/f... 一、frp 的作用     利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。     对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。     利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。 二、安装 frp 1. github下载地址:https://github.com/fatedier/f...    公网、内网服务器都下载一份。 找到第一条,然后下载frp_windwos_amd64.zip这个(amd64是64系统,386是32位系统,现在电脑基本64位了),比如图片上的frp_0.33.0_windows_amd64.zip 2、将frp_0.33.0_windows_amd64.zip解压至任意目录 3、进入解压目录这里所有 frpc 开头的文件都是客户端文件,所以全部删了,我们服务器只需要 frps 开头的文件 4、配置服务端(公网服务器)我们打开frps.ini(我用的notepad++编辑器,记事本也可以)<font color=red>注意配置文件不支持注释,请不要把汉字复制进去</font> [common]bind_port = 7000           #与客户端绑定的进行通信的端口vhost_http_port = 6081     #访问客户端web服务自定义的端口号 保存然后打开cmd进入当前目录(cmd不会用自行百度),输入:frps.exe -c ./frps.ini,此时会提示网络防火墙安全警告,点允许提示 start frps success则服务启动成功<font color=red>警告:云服务器一定要开放端口,不会开放自行百度,图中的7000是frp绑定的默认端口要打开,另外一个是http(用不到可以删了)</font> 至此服务端配置完成!5、配置客户端(内网服务器),首先删掉 frps 开头文件文件,然后再进行配置,编辑 frpc.ini<font color=red>注意配置文件不支持注释,请不要把汉字复制进去</font> [common]server_addr = 155.94.169.143   #公网服务器ipserver_port = 7000            #与服务端bind_port一致[yclj]type = tcplocal_ip = 127.0.0.1local_port = 3389 # 3389是windows的远程连接端口remote_port = 24567 # 远程服务器端口(自定义)保存然后执行windows 使用cmd或者powershell进入当前目录,执行 ./frpc.exe -c ./frpc.ini6、访问方式(1) 远程连接windows bind_post要绑定3389,其他的不行ip:155.94.169.143:24567 (这个是服务器开放的端口,映射本地的3389) 三、结尾 1.客户端连接服务端提示访问被拒绝,则需要服务端开放防火墙端口(学习的话全开就行了,生产环境除外)。 2.其他功能请阅读 frp 中文文档:https://github.com/fatedier/f...

June 9, 2020 · 1 min · jiezi