1、frp 版本

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

1.1、frpc 参数详解


1.1.1、type 详解


类型描述
tcp单纯的 TCP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
udp单纯的 UDP 端口映射,服务端会根据不同的端口路由到不同的内网服务。
http针对 HTTP 应用定制了一些额外的功能,例如修改 Host Header,增加鉴权。
https针对 HTTPS 应用定制了一些额外的功能。
stcp安全的 TCP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
sudp安全的 UDP 内网代理,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
xtcp点对点内网穿透代理,功能同 stcp,但是流量不需要经过服务器中转。
tcpmux支持服务端 TCP 端口的多路复用,通过同一个端口访问不同的内网服务。

2、frps 端配置


2.1、下载和解压

wget *.tar.gz
tar -zxvf *.tar.gz

解压后的目录如下

total 21112
-rwxrwxr-x. 1 1000 1000 10400928 Mar 26 19:33 frpc
-rw-rw-r--. 1 1000 1000     6450 Mar 26 19:35 frpc_full.ini
-rw-rw-r--. 1 1000 1000      285 Mar 28 09:26 frpc.ini
-rw-rw----. 1 root root      115 Mar 28 09:08 frpc.log
-rwxrwxr-x. 1 1000 1000 11129280 Mar 26 19:33 frps
-r--r-----. 1 root root    20296 Mar 27 18:43 frps.2019-03-27.log
-rw-rw-r--. 1 1000 1000     2212 Mar 27 18:11 frps_full.ini
-rw-rw-r--. 1 1000 1000       26 Mar 28 09:03 frps.ini
-rw-rw----. 1 root root    17209 Mar 28 11:24 frps.log
-rw-rw-r--. 1 1000 1000    11358 Mar 26 19:35 LICENSE
drwxrwxr-x. 2 1000 1000       88 Mar 26 19:35 systemd

2.2、frps 服务端配置文件

frps启动需要指向*.ini配置文件,在目录下我们选择frps_full.ini作为我们的配置文件
配置文件中大多数配置不需要修改,需要注意的是下面账户和密码,需要在c端保持一致

dashboard_user = admin
dashboard_pwd = admin

唯一一个需要修改的地方token,默认是12345678,我们需要修改为我们自己配置的,保证服务端的安全性

token = 自己配置的token密码

2.2、启动服务端

启动frps的时候我们选择后台启动,防止我们关闭shell或者关闭ssh服务后frps停止
frps_full.ini : 是我们启动的时候指向的配置文件,
当然如果你选择的配置文件是frps.ini,就指向到frps.ini

nohup ./frps -c frps_full.ini &

3、frpc 端配置


3.1、Windows 下配置客户端

下载相匹配的*.zip压缩包,然后解压


3.1.1、解压安装

注意:文件夹内是没有frp.vbs文件的,下面我会描述下此文件

在这里插入图片描述

3.1.2、frpc 配置修改

修改frpc配置文件: frpc.ini
我们需要修改 [common]内的信息,其他的不需要修改,默认即可

[common]
server_addr = 上方搭建frps服务的虚拟机的ip
server_port = 7000
token = frps配置文件中的token值

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

3.1.3、frpc 启动

当我们直接双击frpc.exe的时候,黑窗口会告诉我们:
请进入到cmd窗口执行此文件

This is a command line tool.

You need to open cmd.exe and run it from there.


打开cmd窗口进入到frp的文件夹内执行frpc.exe

Microsoft Windows [版本 10.0.17134.648]
(c) 2018 Microsoft Corporation。保留所有权利。

D:\Program Files\frp\frp_0.25.3_windows_amd64>frpc.exe
2019/03/28 13:19:49 [I] [service.go:221] login to server success, get run id [f75fd636b5f34848], server udp port [7001]
2019/03/28 13:19:49 [I] [proxy_manager.go:137] [f75fd636b5f34848] proxy added: [ssh]
2019/03/28 13:19:49 [W] [control.go:142] [ssh] start error: port already used
2019/03/28 13:19:49 [W] [control.go:142] [gk-admin] start error: port already used

如上所示,便是启动成功

这时候就出现一个问题了,我们一直保证cmd窗口打开,很影响我们使用和操作

我在这里是写了一个frp.vbs脚本来实现后台启动frpc.exe,注意这个frp.vbs必须放在frp的目录下,因为我在脚本中使用的是相对路径

frpc.exe -c frpc.ini代表的就是使用frpc.ini配置文件启动frpc.exe
如下所示:

dim objShell 
set objShell=wscript.createObject("WScript.Shell") 
iReturnCode=objShell.Run("frpc.exe -c frpc.ini",0,TRUE)

双击frp.vbs
双击此文件是没有反应的,不要着急,在任务管理器中看到以下服务便是启动成功了
在这里插入图片描述

3.2、linux 下配置客户端

linux下的c端和s端的安装包是一样的


3.2.1、frpc 配置修改

修改frpc配置文件: frpc.ini
我们需要修改 [common]内的信息,其他的不需要修改,默认即可

[common]
server_addr = 上方搭建frps服务的虚拟机的ip
server_port = 7000
token = frps配置文件中的token值

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

3.2.2、frpc 启动

启动frpc的时候我们选择后台启动,防止我们关闭shell或者关闭ssh服务后frpc停止
frpc_full.ini : 是我们启动的时候指向的配置文件,
当然如果你选择的配置文件是frpc.ini,就指向到frpc.ini

nohup ./frpc -c frpc_full.ini &

5、配置http穿透

配置http穿透由两种方式:

第一种是http穿透,这个比较麻烦,如果只是平常测试使用不建议使用此方法,此方法的关键是把本地ip域名解析到frps服务端

这里我描述下第二种方法,使用tcp方法穿透http访问
local_ip: 代表客户端的ip
local_port: 代表http服务的端口号
remote_port: 代表映射到服务端的端口号

[服务名称]
type = tcp
local_ip = 127.0.0.1
local_port = 8089
use_encryption = false
use_compression = false
remote_port = 8089

在你本地启动http服务,使用以下请求方式即可访问到本地的http
http:// 服务端的ip : 服务端的port / 补全完整的http请求

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐