您的位置:首页 > 健康 > 养生 > 突破网络屏障:掌握FRP内网穿透技术

突破网络屏障:掌握FRP内网穿透技术

2024/10/5 22:21:27 来源:https://blog.csdn.net/qq_51447436/article/details/139557539  浏览:    关键词:突破网络屏障:掌握FRP内网穿透技术

1.FRP介绍

1.frp是什么

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

2.为什么选择frp

通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:
多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。
TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。
代理组间的负载均衡。
端口复用:多个服务可以通过同一个服务端端口暴露。
P2P 通信:流量不必经过服务器中转,充分利用带宽资源。
客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。
服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。
用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。

2.搭建步骤

搭建FRP(Fast Reverse Proxy)内网穿透服务器可以让你在外网访问处于内网中的设备或服务。
下面是详细的步骤:

1.准备工作

  1. 准备一台具有公网IP的服务器:这是用来部署FRP服务端的。
  2. 内网设备:这是你需要穿透的内网设备,安装FRP客户端。

2.安装和配置FRP服务端

  1. 下载FRP
    访问FRP的GitHub页面,下载最新版本的FRP。
    这里需要根据你云服务器的架构来确定选择下载哪一种FRP二进制文件,具体可以登录进入云服务器,输入命令:

    uname -m
    

    然后根据输出结果选择合适的FRP版本:
    x86_64 则选择amd64版本
    在这里插入图片描述
    armv7laarch64 则选择arm64版本

  2. 解压文件
    假设你下载的是amd64版本的,具体解压命令如下所示:

    tar -zxvf frp_0.58.1_linux_amd64.tar.gz
    cd frp_0.58.1_linux_amd64
    
  3. 配置FRP服务端(frps.ini)
    在解压目录下,创建或编辑frps.toml文件:

    bindPort = 7000
    
  4. 运行FRP服务端

    ./frps -c frps.toml
    

    如果想以后台的方式运行frp服务器,则可以输入命令:

    nohup ./frps -c frps.toml >frps.log 2>&1 &
    
  5. 查看运行效果
    在这里插入图片描述

3.安装和配置FRP客户端

  1. 下载FRP
    访问FRP的GitHub页面,下载最新版本的FRP。

  2. 解压文件

    tar -zxvf frp_0.58.1_linux_amd64.tar.gz
    cd frp_0.58.1_linux_amd64
    
  3. 配置FRP客户端(frpc.ini)
    在解压目录下,创建或编辑frpc.toml文件,根据你的需求进行配置。以下是一个简单的示例,用于内网穿透:

    serverAddr = "x.x.x.x"
    serverPort = 7000[[proxies]]
    name = "ssh"
    type = "tcp"
    localIP = "127.0.0.1"
    localPort = 22
    remotePort = 6000
    

    localIP localPort配置为需要从公网访问的内网服务的地址和端口
    serverAddr就是你的公网服务器的IP地址。
    remotePort 表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。
    这里需要注意,客户端配置的remotePort端口需要在云服务器上开放相应的端口,否则启动客户端后是无法连接成功的。

  4. 运行FRP客户端

    ./frpc -c frpc.toml
    

    同样的,如果想以后台的方式运行,输入以下命令即可:

    nohup ./frpc -c frpc.toml >frpc.log 2>&1 &
    

4.访问内网机器

内网穿透成功后,使用以下命令即可以通过SSH访问内网机器,假设用户名为root:

ssh -o Port=6000 root@x.x.x.x

frp 将请求发送到 x.x.x.x:6000 的流量转发到内网机器的 22 端口

5.参考链接

  • FRP GitHub仓库
  • FRP文档
  • FRP中文文档

这样,你就成功搭建了一个FRP内网穿透服务器。
根据你的需求,你可以进一步配置和优化FRP的设置。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com