思悟博客
  • 首页
  • 分类
    • 随笔
    • WEB开发
    • 软件及系统
    • 杂类
  • 关于本站
  • 友情链接
    • Dxoca's blog
    • Noahの梦想
爱好、实践、创新
  1. 首页
  2. 资源分享
  3. 正文

Frp-简单快速的内网穿透工具

2019年08月28日 3572点热度 1人点赞 0条评论

frp 是一个跨平台、高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
其项目托管在github,项目地址:https://github.com/fatedier/frp

 

下载客户端文件 (手动配置服务端)


frp客户端的使用很简单,主程序就是一个单文件,加上一个可自定义的配置文件就能运行。

客户端下载地址: https://github.com/fatedier/frp/releases

本站下载地址:https://down.chaolucky.com/blog/frp/frp.zip

下载时请注意版本兼容性及支持平台。客户端与服务端最好为同一版本。

windows版本会在软件版本号后面添加“Windows”字样,注意32位于64位版本,如果是linux,找到linux字样即可,同样注意32位与64位版本,linux版本不同,下载的包也会不同,如果是基于arm平台的linux,例如树莓派,安卓手机,请下载arm版本,FreeBSD同上。

下载后是一个压缩包,包内有frpc与frps,frpc是客户端,frps服务端是本次介绍的重点。

 

配置文件


将frps上传到服务器,并且在同级目录下新建frps.ini配置文件:vim frps.ini

# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
bind_addr = 0.0.0.0
bind_port = 5443
# udp port used for kcp protocol, it can be same with 'bind_port'
# if not set, kcp is disabled in frps
kcp_bind_port = 5443
# if you want to configure or reload frps by dashboard, dashboard_port must be set
dashboard_port = 80
# dashboard assets directory(only for debug mode)
dashboard_user = admin
dashboard_pwd = password
# assets_dir = ./static
vhost_http_port = 1080
vhost_https_port = 466

subdomain_host = frp.cchao.ren

# console or real logFile path like ./frps.log
log_file = ./frps.log
# debug, info, warn, error
log_level = info
log_max_days = 3
# auth token
token = 123456
# only allow frpc to bind ports you list, if you set nothing, there won't be any limit
#allow_ports = 1-65535
# pool_count in each proxy will change to max_pool_count if they exceed the maximum value
max_pool_count = 100
# if tcp stream multiplexing is used, default is true
tcp_mux = true

其中bind_addr是本机的地址,bind_port是客户端连接的端口,可以修改,dashboard_port,_dashboard_user,dashbord_pwd是服务端web界面控制一台参数(端口,用户名,密码),不过没什么东西。vhost_http_port以及 vhost_https_port是http穿透时,访问的端口,如果要绑定多个网站,需要给定subdomain_host参数,在frpc客户端的配置文件中需要制定下一级域名,虽然端口相同,但是域名不同,访问的页面于是不同,下文客户端配置会详细介绍。token参数是客户端访问时的“密码”。

配置文件编写完成之后,就可以使用命令:frps -c frps.ini来启动服务端。

 

使用脚本安装配置服务端(Linux)


首先切换到预先为frps新建店目录,然后在linux命令行界面输入:

wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh

chmod 700 ./install-frps.sh

./install-frps.sh install

运行之后根据下面的文档来配置:

Loading network version for frps, please wait...
frps Latest release file frp_0.8.1_linux_amd64.tar.gz    #此步骤会自动获取frp最新版本,自动操作,无需理会
Loading You Server IP, please wait...
You Server IP:12.12.12.12                                           #自动获取你服务器的IP地址
Please input your server setting:

Please input frps bind_port [1-65535](Default Server Port: 5443):      #输入frp提供服务的端口,用于服务器端和客户端通信
Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态
Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80):  #输入frp进行http穿透的http服务端口
Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口
Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的
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]):      #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效

如果没有问题则继续安装:

============== Check your input ==============
You Server IP   : 12.12.12.12
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
==============================================
Congratulations, frps install completed!
==============================================
You Server IP   : 0.0.0.0
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 Dashboard: http://0.0.0.0:6443/   #  这个是frp控制台访问地址
==============================================

如果要更新脚本,使用命令:./install-frps.sh update

卸载使用:./install-frps.sh uninstall

配置命令:(如果找不到frps命令,请手动将"frps"改为:/etc/init.d/frps)

/etc/init.d/frps start   ##启动frps
/etc/init.d/frps stop    ##停止frps
/etc/init.d/frps restart ##重启frps
/etc/init.d/frps status  ##frps状态
/etc/init.d/frps config  ##打开配置文件
/etc/init.d/frps version ##frps版本

 

frpc客户端配置


frpc的配置较为简单,只需要两个文件,一个是frpc二进制文件,一个是frpc.ini配置文件。frpc.ini配置文件参考如下:

#服务端配置
[common]
#服务器地址
server_addr = chaolucky.com
#服务器端口
server_port = 5443

#服务端token
token = 123456

#本地Web页面管理面板
admin_addr = 127.0.0.1
admin_port = 8080
admin_user = admin
admin_pwd = admin


##用户端口转发配置部分##

#此名称可随意修改,但是两边必须有必须中括号
[http]
#type后面的参数表示这是一个http类型的穿透还是tcp,udp等等的类型
type = http
#本地地址
local_ip = 192.168.0.1
local_port = 80
#自定义的域名
subdomain = router

[tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 80
#tcp穿透指定的服务器端口,http类型不续此配置
remote_port = 1234

其中自定义域名表示下一级域名,比如,服务端制定的域名是“frp.cchao.ren”。客户端 subdomain=router,那么访问的域名就是 router.frp.chaolucky.com,后面接上服务端指定的 http 穿透的端口。例:router.frp.chaolucky.com:8080。

本站提供免费的FRP内网穿透服务,具体请查看 http://frp.chaolucky.com/

注意事项


login to server failed: authorization failed错误的原因及处理办法:

login to server failed: authorization failed是因为token错误导致的,可以检查token的值是不是正确 ,另外一种错误的原因是0.17.0以前的版本沿用了特权模式时候的写法privilege_token = 123456 ,从0.17.0版本开始使用token = 123456 ,所以检查是不是token的配置项名称错误了。

标签: frp Linux 内网穿透 教程
最后更新:2020年08月19日
chao

chao

保持求知的状态,每天一点小进步。

点赞
< 上一篇
下一篇 >

期待你的神评呦~

avatar
This comment form is under antispam protection
avatar
This comment form is under antispam protection
  订阅  
提醒
用户您好!请先登录!
登录 注册
标签聚合
object Linux PHP this 教程 对象 js 代理
最新 热点 随机
最新 热点 随机
群晖 GitServer用户为空的解决办法 压缩包处理软件Bandizip破解版下载 宝塔面板安装PHP-Memcached插件失败解决办法 Bing 图片API AdGuard-轻量级的全平台广告过滤工具 Microsoft Wi-Fi Direct Virtual关闭方法 双显卡OBS无图像解决办法(包含集显运行依旧无图像办法) 免费游戏加速器推荐--蓝泡
前端基础进阶(十二):深入核心,详解事件循环机制 你不懂JS: this 与对象原型 -第五章 饥荒专用服务器搭建 Java考试题库_程序设计题(一) 前端基础进阶(十四):es6常用基础合集 SSTap:简单快速的全局代理(游戏加速) 前端基础进阶(五):全方位解读this wordpress建站提升效率和外观的几个插件
下面内容为广告
2020年一月
一 二 三 四 五 六 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 12月    

COPYRIGHT © 2020 思悟博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

wpDiscuz
登录
注册|忘记密码?