内网穿透工具frp

原贴地址:

https://www.zhihu.in/archives/261

https://www.zhihu.in/archives/288

https://www.zhihu.in/archives/292

=============================================================================================================

内网穿透工具frp服务器端frps一键安装教程

  • frp

先大概介绍下frp的功能,frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

  • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
  • 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
  • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

frp需要服务端和客户端共同作用,服务端为frps,一般安装在VPS服务器上;客户端为frpc,一般安装在路由器或NAS上。frps和frpc配合使用,可以远程访问或控制内网设备。

  • 一键安装

本篇先讲下服务端的安装。感谢Koolshare的Clang提供一键安装脚本,为大家节省很多时间精力。

一键安装脚本支持的平台:

  1. CentOS 6 32/64bit
  2. CentOS 7 32/64bit
  3. Debian 6 32/64bit
  4. Debian 7 32/64bit
  5. Debian 8 32/64bit
  6. Ubuntu 14 32/64bit
  • 安装流程:

1.SSH到你的VPS服务器,分别输入以下3个命令运行(可复制后右键粘贴运行):

如果输入第1条命令后出现“-bash: wget: command not found”,则服务没安装wget,需要输入“yum -y install wget”来安装它,再输入第1条命令。

2.安装过程中需要手动设置几个参数,随着版本升级,参数可能发生变化,以实际为准。部分解释如下:

Please input frps bind_port [1-65535](Default Server Port: 5443):      #输入frp提供服务的端口,用于服务器端和客户端通信,按Enter键表示默认5443,否则手动输入新端口

Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态,按Enter键表示默认6443,否则手动输入新端口

Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80):  #输入frp进行http穿透的http服务端口,按Enter键表示默认80,否则手动输入新端口,一般不建议默认80

Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口,按Enter键表示默认443,否则手动输入新端口

Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的,按Enter键表示按默认来,否则手动输入。frpc客户端需要这个接头暗号

Please input frps max_pool_count [1-200](Default max_pool_count: 50):     #设置每个代理可以创建的连接池上限,默认50

Please select log_level #####
1: info
2: warn
3: error
4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]):        #设置日志等级,4个选项,默认是info

Please input frps log_max_days [1-30]
(Default log_max_days: 3 day):            #设置日志保留天数,范围是1到30天,默认保留3天。

##### Please select log_file #####
1: enable
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]):      #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效

以上设置完成后一路Enter安装,安装成功后会有以下提示,代表安装成功,所示信息需要在frpc客户端使用,建议牢记:

Congratulations, frps install completed!
==============================================
You Server IP   : *.*.*.*  #你的服务器IP,各不相同
Bind port       : 5443
Dashboard port  : 6443
vhost http port : 80
vhost https port: 443
Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
Max Pool count  : 50
Log level       : info
Log max days    : 3
Log file        : enable
==============================================

至此,frp服务端frps的安装已经成功,frps会随服务器自动启动,无需手动设置。

小提示:记得检查VPS服务器是否开放以上涉及的端口,如未开放,请手动添加开放端口!

常用功能命令:

另外访问  http://你的服务器IP:6443  可以查看frp各项状态:

内网穿透工具frp 网站 第1张

当然,服务端frps成功安装只是第一步,客户端frpc安装后再进行正确配置后,frp的整个安装才算成功。

==========================================================================================================

内网穿透工具frp客户端frpc安装及使用教程

正所谓一个巴掌拍不响,frp要想正常发挥作用,光有服务端还不行,本篇我们介绍一下frp客户端frpc的安装和设置。

frp目前已经更新到0.13.0,各平台支持如下,除红字标注外,其余几种多用于路由器或NAS等小型设备,可以根据自己设备的CPU架构选择对应的版本,如果不太熟悉,可以参考以下网址:https://dev.openwrt.org/wiki/platforms

 

  • frp_0.13.0_darwin_amd64 #MacOS64位
  • frp_0.13.0_linux_386 #Linux32位
  • frp_0.13.0_linux_amd64 #Linux64位
  • frp_0.13.0_linux_arm #
  • frp_0.13.0_linux_mips
  • frp_0.13.0_linux_mips64
  • frp_0.13.0_linux_mips64le
  • frp_0.13.0_linux_mipsle
  • frp_0.13.0_windows_386 #Windows 32位
  • frp_0.13.0_windows_amd64 #Windows64位

国内老毛子固件及梅林固件已经内置frpc,推荐适配这类固件的路由器直接安装相应固件,免去安装步骤,直接设置即可。

下面我们以CPU为MT7621,固件为Pandorabox的路由器为例,介绍一下frp客户端frpc的安装。其它平台安装过程大同小异。

1.查询可知,MT7621为mipsle架构,那么我们打开frp下载页面https://github.com/fatedier/frp/releases

找到frp_0.13.0_linux_mipsle.tar.gz这个版本下载到电脑,下载完成后解压,得到其中的文件“frpc”和frpc.ini。

2.frpc.ini是配置文件,不能直接使用,需要根据实际情况配置。对frp了解较多的朋友可以自由配置,如果了解不多,建议不要胡乱配置导致frp不能正常运行。

以下为博主个人部分配置供参考:根据提示按个人情况做出修改后,保存为frpc.ini

 

[common]
server_addr = *.*.*.* #已安装好frp服务端frps的服务器Ip地址
server_port = 5443 #与之前frp服务端的设置保持一致,即Bind Port
token = ************** #与之前安装服务端时给出的token保持一致

[web1]
type = http
local_ip = 192.168.1.1 #表示要穿透的为路由器IP
local_port = 80
use_encryption = true
use_gzip = true
custom_domains = *.*.* #表示远程访问192.168.1.1需要的域名,可以为二级域名。如果没有域名建议提前申请,并指向服务器所在IP
http_user = *** #可选项,随便填写,表示访问域名时需要用这个用户名验证通过后,才能连接到内网,加了一道防护,更安全
http_pwd = ****** #可选项,随便填写,同上,用户名对应这个密码,输入正确才能连接到内网

[web2]
type = http
local_ip = 192.168.1.111 #按需填写,填写需要远程访问的第二个内网设备IP
local_port = 80
use_encryption = true
use_gzip = true
custom_domains = *.*.* #表示远程访问192.168.1.111需要的域名,需要与上文的域名有所区别
http_user = *** #可选项,用户名
http_pwd = ****** #可选项,用户密码

log_file = /dev/null
log_level = info
log_max_days = 3

 

 

2.用winscp软件,ssh到自己的路由器。将之前解压得到的文件“frpc”,以及第2步生成的frpc.ini,共两个文件,上传到路由器的/root目录下。将上传好的两个文件权限改为777。

3.接下来就要保证frpc的开机自启,同时,frpc消耗系统资源比较大,要保证进程意外退出后自动重启动。

以下脚本表示查看frp是否运行,如果没有运行,则重新启动。将代码复制到记事本后,保存为frpdog.sh

4.用winscp将frpdog.sh上传至/root文件夹下,然后将其权限设为777。

5.添加计划任务,每隔10分钟运行一次frpdog.sh,确保frpc正常运行。

将以下代码添加至路由器crontab文件的最后一行,计划任务文件一般在/etc目录下

6.重启路由器,使各项设置生效。

至此frpc的安装、设置、开机自启、防进程意外退出 都已经成功部署。

7.打开网址 http://你的服务器IP:6443 查看所设端口如果处于online状态,就代表frp正常工作了。

内网穿透工具frp 网站 第2张

8.此时远程打开前文所设域名,就可以转到路由器登录界面了。(借用ngrok图片,实际效果一样)

内网穿透工具frp 网站 第3张

=======================================================================================================

frp助力ftp服务穿透内网变身私人网盘!远程搞事情吧!

网络是把双刃剑。

一方面,网速越来越快,文件秒下接近现实,智能路由器也逐渐进入普通百姓家;

另一方面,网盘限制越来越多,NAS等私人网络存储设备需求猛增,但又受制于太多内网IP无法提供远程服务。

此时网速快又如何,设备配置高又如何,连不上啊连不上。

好尴尬有木有!有解决办法吗?当然,frp就是其中一员猛将!

如今智能路由器基本都自带ftp服务,或者可以自行安装ftp服务;NAS更不用说了,没有ftp的NAS还叫NAS吗。但是这些设备的ftp基本只能在内网访问。有了frp就不一样了,本文以西数的Mycloud NAS Gen1为例,介绍下如何借助frp,远程连接Mycloud的ftp服务,实现内网文件远程控制,内网视频远程播放、远程同步、远程上传下载。其它设备比如挂硬盘的智能路由、其它品牌的NAS,都可以参照执行,步骤大同小异。

1.在控制页面打开Mycloud的SSH开关,然后用winscp通过ssh连接到Mycloud。

2.我们需要开启ftp的被动模式,并且将原本范围很大的传输端口,限定在一个小范围内,以便在进行frp的设置时,不要涉及太多端口,减少劳动量。

具体步骤:打开Mycloud的/etc目录下的vsftpd.conf文件(其它设备的该文件路径可能不同,以实际为准),找到以下几项,如果找不到则自行添加:

无论等号后面的原设置如何,我们都要把参数改成如下:

可以看到,我们把端口范围限制在8815至8818之间的4个端口,范围很小。修改完成后,保存更改,重启Mycloud使设置生效。

3.再次强调下,本文的前提是已经安装好frp服务。否则请返回文章开头先看两篇教程。

4.ssh连接到路由器,打开frpc.ini文件,添加参数如下:(假设Mycloud IP为192.168.1.111)

添加完成后保存,然后重启路由器使设置生效。

5.ssh连接到你已安装好frps的vps服务器,将2100,8815,8816,8817,8818这五个端口设为开放端口,具体如何操作,本文不再详细说明。设置好后重启服务器使设置生效。

至此,NAS端、路由器端、服务器端共三项设置都已完成。几个设备开机一段时间之后,打开网址 http://你的服务器IP:6443 如果红框中显示online,则表示ftp远程已设置成功。

内网穿透工具frp 网站 第4张

6.在pc端用filezilla,按之前设置输入以下信息,就可以远程连接ftp了。

内网穿透工具frp 网站 第5张

 

filezilla只是众多支持ftp软件中的一个,加上其余功能的ftp软件配合使用,远程上传、远程下载,远程同步文件,远程播放视频等都能轻松进行。IOS端的Nplayer AVplayer都支持ftp视频播放,Android端的ES文件浏览器也支持ftp。真正做到了:私人网盘在手,网络天下我有

=========================================================================================================

frp 穿透 HTTP/S ARIA2 SSH 配置分享

域名解析:
接增加 ftp 和 *.frp 的解析

服务端增加主域名配置:
subdomain_host = 123.com

客户端配置:
实际访问地址为 *.frp.123.com

详细如下:

[common]

server_addr = 123.com

server_port = 5443

privilege_token = token

 

[file]

type = http

local_ip = 192.168.123.1

local_port = 888

subdomain = file

 

[ssh]

type = tcp

local_ip = 192.168.123.1

local_port = 22

remote_port = 222

 

[aria]

type = tcp

local_ip = 192.168.123.1

local_port = 6800

remote_port = 6800

 

[pd-https]

use_encryption = true

use_compression = true

type = https

local_ip = 192.168.123.1

local_port = 443

subdomain = pd

 

[pd-http]

use_encryption = true

use_compression = true

type = http

local_ip = 192.168.123.1

local_port = 80

subdomain = pd

点赞

发表评论