frp 实现路由穿透
frp 版本下载地址: https://github.com/fatedier/frp/releases虚拟机下配置 frps根据虚拟机版本选择32位或者64位下载版本,然后解压下载和解压wget *.tar.gztar -zxvf *.tar.gz解压后的目录如下total 21112-rwxrwxr-x. 1 1000 1000 10400928 Mar 26 19:3...
文章目录
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请求
更多推荐
所有评论(0)