frp 配置

偶尔善良 提交于 2019-12-12 00:16:51

前言

  1. 对于没有公网 IP 的内网用户来说,远程管理或在外网访问内网机器上的服务是一个问题。
  2. 今天给大家介绍一款好用内网穿透工具 FRP,FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。

FRP 的作用

  1. 利用处于内网或防火墙后的机器,对外网环境提供 HTTP 或 HTTPS 服务。
  2. 对于 HTTP, HTTPS 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个 80 端口。
  3. 利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。

  

 

 

FRP 安装

  FRP 采用 Go 语言开发,支持 Windows、Linux、MacOS、ARM等多平台部署。FRP 安装非常容易,只需下载对应系统平台的软件包,并解压就可用。
  这里以 Linux 为例,为了方便管理我们把解压后的目录重命名为 frp :
  $ wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz
  $ tar xzvf  frp_0.30.0_linux_amd64.tar.gz
  $ mv frp_0.30.0_linux_amd64  frp
 

FRP 服务端配置

配置 FRP 服务端的前提条件是需要一台具有**公网 IP **的设备,得益于 FRP 是 Go 语言开发的,具有良好的跨平台特性。你可以在 Windows、Linux、MacOS、ARM等几乎任何可联网设备上部署。
FRP 默认给出两个客户端配置文件,一个是简版的 frpc.ini,另一个是完整版本 frpc_full.ini。
[common]
# frps的ip地址
server_addr = xxx.xxx.xxx.xxx
# frps的端口
server_port = 7000
# 认证token
token = xxx
# 日志
log_file = ./frpc.log
log_level = info
log_max_days = 3
#远程桌面配置
[dangkou]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
use_encryption = true
#http配置
[web-xinhu]
type = http
# 本地http服务地址
local_ip = 127.0.0.1
# 本地http服务端口
local_port = 80
# 使用压缩
use_compression = true
# 分配自定义域名访问穿透服务 假如没有域名,则此处请填为frps服务端的服务器(IP)
custom_domains = xxx.xxx.xxx
# 设置认证的用户名
#http_user = abc
# 设置认证的密码
#http_pwd = abc
# 重定向到本地域名
host_header_rewrite = xinhu.test

#[ssh]
#type = tcp
#local_port = 22
#local_ip = 127.0.0.1
# 在服务端注册端口 服务端将监听 7022 ssh root@118.118.118.118 -p 7022 即可代理到本机 ssh 登录
#remote_port = 7022

执行命令 $ ./frpc -c frpc.ini 

http/https 服务是在服务端定义的端口,客户端指定协议后会自动关联,ssh 等使用 tcp 的则是在客户端定义好,服务端注意防火墙开放此端口即可。

FRP 默认给出两个服务端配置文件,一个是简版的 frpc.ini,另一个是完整版本 frpc_full.ini。

[common]
#监听地址
bind_addr = 0.0.0.0
#服务端口
bind_port = 7000
#认证token
token = xxx
#面板界面
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = xxx
dashboard_pwd = xxx
#http服务端口
vhost_http_port = 7080
#https服务端口
vhost_https_port = 7443

 #日志
  log_file = ./frps.log
  log_level = info
  log_max_days = 3

 

放到后台运行:

方式一(终端退出后会被清除):jobs

执行命令 $ ./frps -c frps.ini &

查看后台工作

jobs 

将后台暂停的工作恢复到前台执行

fg %工作号

把后台暂停的工作恢复到后台执行

bg %工作号

方式二:screen

执行命令 $ ./frps -c frps.ini 
ctrl + a + d

 

客户端和服务器起来后第三方通过 访问 xxx.xxx.xxx:7080 就可以访问到内网的 xinhu.test。

推荐

windows下注册服务软件 snnm https://blog.csdn.net/mc_linfen/article/details/82115439

linux下注册服务软件 supervisor 

另一款穿墙软件 zeroTier

 

参考:

https://www.jianshu.com/p/00c79df1aaf0

http://www.chuantou.org/47.html

https://github.com/fatedier/frp/blob/master/README_zh.md

https://www.vediotalk.com/archives/505

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!