美文网首页
Ubuntu下安装frp实现内网穿透

Ubuntu下安装frp实现内网穿透

作者: v2to | 来源:发表于2017-06-30 13:27 被阅读0次

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。


    1.frp源码地址:https://github.com/fatedier/frp

    2.frp中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md

    一、服务器安装

    1.go语言环境安装

      登陆网址https://golang.org下载源码

      wgethttps://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

    a.解压缩文件:

      tar -C /usr/local -xzf /go1.8.3.linux-amd64.tar.

    b.在文件~/.profile添加环境变量

      export PATH=$PATH:/usr/local/go/bin

      export GOROOT=/usr/local/go

      export GOBIN=$GOROOT/bin

      export PATH=$PATH:$GOBIN

      export GOPATH=$HOME/gopath (可选设置)

      更新环境变量:source /etc/profile

    c.检查go是否安装完成 :go version 有显示版本就是安装完成

    2.下载frp源码

    git clone https://github.com/fatedier/frp.git $GOPATH/src/github.com/fatedier/frp

    a.进入源码根目录,执行make命令开始编译

    如果系统报错如下:

    则执行sudo apt-get install make make-guile -y  安装make make-guile

    编译完成后,bin目录下是编译好的可执行文件,conf目录下是示例配置文件。

    1.将 ./bin/frps 和 ./conf/frps.ini 拷贝至服务器任意目录。

    2.将 ./bin/frpc 和 ./conf/frpc.ini 拷贝至客户端任意目录。

    3.根据要实现的功能修改两边的配置文件。

    4.在服务器B执行nohup ./frps &或者nohup ./frps -c ./frps.ini &。

    5.在服务器A执行nohup ./frpc &或者nohup ./frpc -c ./frpc.ini &。

    6.通过ssh -oPort=6000 {user}@x.x.x.x测试是否能够成功连接服务器A({user}替换为服务器A上存在的真实用户),或通过浏览器访问自定义域名验证 http 服务是否转发成功。

    以下转自官网配置

    tcp 端口转发

    转发 tcp 端口需要按照需求修改 frps 和 frpc 的配置文件。

    配置文件

    frps.ini

    [common]bind_addr= 0.0.0.0#用于接收 frpc 连接的端口bind_port= 7000log_file= ./frps.loglog_level= info#ssh 为代理的自定义名称,可以有多个,不能重复,和frpc中名称对应[ssh]auth_token= 123bind_addr= 0.0.0.0#最后将通过此端口访问后端服务listen_port= 6000

    frpc.ini

    [common]#frps 所在服务器绑定的IP地址server_addr= x.x.x.xserver_port= 7000log_file= ./frpc.loglog_level= info#用于身份验证auth_token= 123#ssh 需要和 frps.ini 中配置一致[ssh]#需要转发的本地端口local_port= 22#启用加密,frpc与frps之间通信加密,默认为 falseuse_encryption= true

    http 端口转发,自定义域名绑定

    如果只需要一对一的转发,例如服务器B80端口转发服务器A8000端口,则只需要配置tcp 端口转发即可,如果需要使服务器B80端口可以转发至多个web服务端口,则需要指定代理的类型为 http,并且在 frps 的配置文件中配置用于提供 http 转发服务的端口。

    按照如下的内容修改配置文件后,需要将自定义域名的A 记录解析到 [server_addr],如果 [server_addr] 是域名也可以将自定义域名的CNAME 记录解析到 [server_addr]。

    之后就可以通过自定义域名访问到本地的多个 web 服务。

    配置文件

    frps.ini

    [common]bind_addr= 0.0.0.0bind_port= 7000#如果需要支持http类型的代理则需要指定一个端口vhost_http_port= 80log_file= ./frps.loglog_level= info[web01]#type 默认为 tcp,这里需要特别指定为 httptype= httpauth_token= 123#自定义域名绑定,如果需要同时绑定多个以英文逗号分隔custom_domains= web01.yourdomain.com[web02]type= httpauth_token= 123custom_domains= web02.yourdomain.com

    frpc.ini

    [common]server_addr= x.x.x.xserver_port= 7000log_file= ./frpc.loglog_level= infoauth_token= 123#自定义域名在 frps.ini 中配置,方便做统一管理[web01]type= httplocal_ip= 127.0.0.1local_port= 8000#可选是否加密use_encryption= true[web02]type= httplocal_ip= 127.0.0.1local_port= 8001



    相关文章

      网友评论

          本文标题:Ubuntu下安装frp实现内网穿透

          本文链接:https://www.haomeiwen.com/subject/yjubcxtx.html