frp + win + linux 实现路由穿透


frp 版本

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

虚拟机下配置 frps

根据虚拟机版本选择32位或者64位下载版本,然后解压

下载和解压

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

frps 服务端配置文件

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

dashboard_user = admin
dashboard_pwd = admin

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

token = 自己配置的token密码

启动服务端

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

nohup ./frps -c frps_full.ini &

使用命令行 tail -f nohup.out 查看启动日志,一般日志文件下没有启动信息,暂时没有找到原因

Windows 下配置客户端

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

解压安装

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

frp + win + linux 实现路由穿透_第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

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
双击此文件是没有反应的,不要着急,在任务管理器中看到以下服务便是启动成功了
frp + win + linux 实现路由穿透_第2张图片

配置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请求

你可能感兴趣的:(frp,linux)