内网穿透---frp

定义

内网穿透是一种将本地网络或私有网络中的服务暴露给公共网络的方法。它允许外部网络用户通过互联网访问本地网络上的服务或设备。

通常情况下,内网穿透需要两个主要组件:客户端和服务器端。

客户端:
1. 客户端通常安装在本地网络中要暴露的设备上,例如路由器或个人电脑。
2. 客户端将本地服务的请求封装并发送到服务器端。
3. 客户端还负责与服务器端建立通信和保持连接。

服务器端:
1. 服务器端通常是一个公共的云服务器,它充当转发请求的中介。
2. 服务器端接收来自客户端的请求,并将其转发到目标设备上。
3. 服务器端还负责将响应从目标设备发送回客户端。

常用工具

以下是一些常见的内网穿透工具和服务:
1. ngrok:一个简单易用的内网穿透工具,提供公共域名和SSL证书。
2. 花生壳:一种商业化的内网穿透解决方案,提供稳定的连接和域名服务。
3. frp:一个开源的内网穿透工具,支持多种协议和自定义配置。

请注意,内网穿透涉及将本地网络暴露给公共网络,因此安全性是一个重要考虑因素。确保配置和使用合适的安全措施,例如使用强密码、限制访问权限和使用安全的通信协议。

frp

frp(Fast Reverse Proxy)是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。用于将本地网络或私有网络中的服务暴露给公共网络。它使用了反向代理的技术,允许外部网络用户通过互联网访问本地网络上的服务或设备。

简单来说,就是可以随时随地通过有公网 IP 的服务器中转连接到运行 frpc 程序的任意机器的任意端口。 

工作原理

frp的工作原理如下:

  1. 在公共网络上部署一个frp服务器,它是一个公共的云服务器或具有公网IP的主机。
  2. 在本地网络中部署一个frp客户端,它位于要暴露的服务所在的设备上。
  3. 客户端与服务器建立连接,并向服务器注册自己要暴露的服务的信息。
  4. 客户端负责将本地服务的请求转发给服务器,服务器将请求转发给相应的目标设备上的服务。
  5. 目标设备上的服务处理请求,并将响应发送回服务器,然后由服务器转发给客户端。

优点

  1. 简单易用:frp提供了简洁的配置和管理界面,使得部署和管理变得容易。
  2. 多种协议支持:frp支持TCP、UDP和HTTP协议等多种协议的转发。
  3. 端口转发功能:可以将本地网络中的多个端口映射到不同的公共端口上。
  4. 自定义域名和子域名:frp支持使用自定义域名或子域名访问暴露的服务。

1. rdp -Linux

  1. 修改 frps.ini 文件,为了安全起见,这里最好配置一下身份验证,服务端和客户端的 common 配置中的 token 参数一致则身份验证通过:

    # frps.ini
    [common]
    bind_port = 7000
    # 用于身份验证,请自行修改,要保证服务端与客户端一致
    token = abcdefgh
  2. 启动 frps:

    ./frps -c ./frps.ini

  3. 修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:

    # frpc.ini
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    # 用于身份验证,请自行修改,要保证服务端与客户端一致
    token = abcdefgh
    
    [rdp]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 3389
    remote_port = 6000
  4. 启动 frpc:

    ./frpc -c ./frpc.ini

  5. 通过 rdp 访问远程的机器,地址为:

    x.x.x.x:6000

 即可访问到处于内网机器上的 Web 服务。

猜你喜欢

转载自blog.csdn.net/qq_56698744/article/details/131616210