当前位置 博文首页 > 莫忘、初心:frp + win + linux 实现路由穿透

    莫忘、初心:frp + win + linux 实现路由穿透

    作者:[db:作者] 时间:2021-08-04 21:56


    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文件的,下面我会描述下此文件

    在这里插入图片描述

    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
    双击此文件是没有反应的,不要着急,在任务管理器中看到以下服务便是启动成功了
    在这里插入图片描述

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

    cs
    下一篇:没有了