美文网首页
内网透传frp使用分享

内网透传frp使用分享

作者: 明翼 | 来源:发表于2021-08-18 12:29 被阅读0次

    内网透传,简单的一句话就是让外部的互联网主机,可以访问你局域网内的机器上的HTTP,HTTPS,TCP或UDP服务。

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

    • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
    • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
    • 代理组间的负载均衡。
    • 端口复用,多个服务通过同一个服务端端口暴露。
    • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
    • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
      服务端和客户端 UI 页面。

    功能示意图:


    frp部署图

    0 安装

    frp为go语言开发,可以支持Windows,Linux,MacOS,ARM等多平台部署。不用安装,下载不同平台的压缩包,直接解压就行。
    下载地址:

    [Releases · fatedier/frp · GitHub](https://github.com/fatedier/frp/releases)
    

    一 服务端

    1.1 服务端配置

    [common]
     #与客户端绑定的进行通信的端口
    bind_port = 8000
    # 绑定的IP
    bind_addr = 0.0.0.0
    
    
    #访问客户端web服务自定义的端口号,如果是https 就改成vhost_https_port
    vhost_http_port = 8080
    #frp一个访问页面,只是显示配置没多大用
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500
    
    #访问frbs的前台账号和密码
    dashboard_user = admin
    dashboard_pwd = 12341111
    
    #本身日志信息
    log_file = ./frps.log
    log_level = info
    log_max_days = 3
    disable_log_color = false
    
    #连接标识
    authentication_method = token
    # 校验token
    token = 1234567
    

    1.2 服务器端启动

    nohup   ./frps -c ./frps.ini &
    

    二 客户端配置

    2.1 客户端配置

    [common]
    server_addr = 服务器的ip
    #通信端口
    server_port = 8000
    
    #鉴权方法
    authentication_method = token
    token = 1234567
    # 一定要加不加连不上
    tls_enable=true
    
    log_file = ./frpc.log
    log_level = info
    log_max_days = 3
    disable_log_color = false
    
    
    #ssh的中转
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    #远端的访问端口
    remote_port = 1234
    
    
    [web]
    type=http
    local_ip= 内网地址可以写127.0.0.1
    #本机的http端口
    local_port=80
    custom_domains=服务器的ip或域名
    
    

    如上的服务器端配置图示如下:

    最终连接示意图

    三 实际访问

    ssh访问:

    ssh -p 1234 root@x.x.x.x
    

    x.x.x.x 服务器的IP
    test 为服务器用户

    web访问:

    http://x.x.x.x:8080
    

    注意,如果多个web服务器,必须通过域名来控制访问,配置section名字不能相同。
    比如:

    [web01]
    type = http
    local_port = 8080
    custom_domains = www.chendahai.cn
    
    
    [web02]
    type = http
    local_port = 80
    custom_domains = cd.chendahai.cn 
    

    访问用的URL: http:// www.chendahai.cn:8080http://cd.chendahai.cn

    四 开机启动

    echo "nohup /root/soft/frp_run/frpc -c /root/soft/frp_run/frps.ini &" >> /etc/rc.d/rc.local
    或者做成服务:

     
      mkdir -p /etc/frp
      cp frps.ini /etc/frp
      cp frps /usr/bin
      cp systemd/frps.service /usr/lib/systemd/system/
      # 设置开机启动
      systemctl enable frps
      # 启动
      systemctl start frps
    

    五 更多信息

    官方文档
    [官方文档 | frp (gofrp.org)](https://gofrp.org/docs/)
    
    

    相关文章

      网友评论

          本文标题:内网透传frp使用分享

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