前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >免费开源轻量级的P2P内网穿透工具之openp2p(无需公网IP)

免费开源轻量级的P2P内网穿透工具之openp2p(无需公网IP)

作者头像
小麦苗DBA宝典
发布2024-04-25 14:11:44
2860
发布2024-04-25 14:11:44
举报

简介

官网:https://openp2p.cn/

GitHub:https://github.com/openp2p-cn/openp2p

中文说明:https://github.com/openp2p-cn/openp2p/blob/master/README-ZH.md

OpenP2P是什么

它是一个开源、免费、轻量级的P2P共享网络。你的设备将组成一个私有P2P网络,里面的设备可以直接访问其它成员,或者通过其它成员转发数据间接访问。如果私有网络无法完成通信,将会到公有P2P网络寻找共享节点协助通信。 相比BT网络用来共享文件,OpenP2P网络用来共享带宽。 我们的目标是:充分利用带宽,利用共享节点转发数据,建设一个远程连接的通用基础设施。

典型应用场景

特别适合大流量的内网访问

  • 远程办公: Windows MSTSC、VNC等远程桌面,SSH,内网各种ERP系统
  • 远程访问内网ERP系统
  • 远程访问NAS: 管理大量视频、图片
  • 远程监控摄像头
  • 远程刷机
  • 远程数据备份

为什么选择OpenP2P

  1. 免费

完全免费,满足大部分用户的核心白票需求。不像其它类似的产品,OpenP2P不需要有公网IP的服务器,不需要花钱买服务。了解它原理即可理解为什么能做到免费。

  1. 共享

你的设备会形成一个私有P2P网络,它们之间共享带宽,提供网络数据转发服务。 当你的私有P2P网络下没有可以提供转发服务的节点时,会尝试在公共P2P网络寻找转发节点。 默认会开启共享限速10mbps,只有你用户下提供了共享节点才能使用别人的共享节点。这非常公平,也是这个项目的初衷。 我们建议你在带宽足够的地方(比如办公室,家里的百兆光纤)加入共享网络。 如果你不想共享任何节点,或设置共享带宽。

  1. 安全

代码开源,P2P隧道使用TLS1.3+AES双重加密,共享节点临时授权使用TOTP一次性密码

  1. 轻量

文件大小2MB+,运行内存2MB+;全部在应用层实现,没有虚拟网卡,没有内核程序

  1. 跨平台

因为轻量,所以很容易支持各个平台。支持主流的操作系统:Windows,Linux,MacOS;和主流的cpu架构:386、amd64、arm、arm64、mipsle、mipsle64、mips、mips64

  1. 高效

P2P直连可以让你的设备跑满带宽。不论你的设备在任何网络环境,无论NAT1-4(Cone或Symmetric),UDP或TCP打洞,UPNP,IPv6都支持。依靠Quic协议优秀的拥塞算法,能在糟糕的网络环境获得高带宽低延时。

  1. 二次开发

基于OpenP2P只需数行代码,就能让原来只能局域网通信的程序,变成任何内网都能通信

快速入门

仅需简单4步就能用起来。 下面是一个远程办公例子:在家里连入办公室Windows电脑。 (另外一个快速入门视频 https://www.bilibili.com/video/BV1Et4y1P7bF/)

1.注册

前往https://console.openp2p.cn 注册新用户,暂无需任何认证

下载安装

注册之后,会提供下载地址。

详细使用说明

https://github.com/openp2p-cn/openp2p/blob/master/USAGE-ZH.md

大部分情况通过https://console.openp2p.cn 操作即可。有些情况需要手动运行

⚠️ 本文所有命令, Windows环境使用"openp2p.exe", Linux环境使用"./openp2p"

代码语言:javascript
复制
./openp2p install -node OFFICEPC1 -token TOKEN  
或
./openp2p -d -node OFFICEPC1 -token TOKEN  
# 注意Windows系统把“./openp2p” 换成“openp2p.exe”

  • install: 安装模式【推荐】,会安装成系统服务,这样它就能随系统自动启动
  • -d: daemon模式。发现worker进程意外退出就会自动启动新的worker进程
  • -node: 独一无二的节点名字,唯一标识
  • -token: 在 “我的”里面找到
  • -sharebandwidth: 作为共享节点时提供带宽,默认10mbps. 如果是光纤大带宽,设置越大效果越好. 0表示不共享,该节点只在私有的P2P网络使用。不加入共享的P2P网络,这样也意味着无法使用别人的共享节点
  • -loglevel: 需要查看更多调试日志,设置0;默认是1

连接

代码语言:javascript
复制
./openp2p -d -node HOMEPC123 -token TOKEN -appname OfficeWindowsRemote -peernode OFFICEPC1 -dstip 127.0.0.1 -dstport 3389 -srcport 23389
使用配置文件,建立多个P2PApp
./openp2p -d   

  • -appname: 这个P2P应用名字
  • -peernode: 目标节点名字
  • -dstip: 目标服务地址,默认本机127.0.0.1
  • -dstport: 目标服务端口,常见的如windows远程桌面3389,Linux ssh 22
  • -protocol: 目标服务协议 tcp、udp

配置文件

一般保存在当前目录,安装模式下会保存到 C:\Program Files\OpenP2P\config.json/usr/local/openp2p/config.json 希望修改参数,或者配置多个P2PApp可手动修改配置文件

配置实例

代码语言:javascript
复制
{
  "network": {
    "Node": "hhd1207-222",
    "Token": "TOKEN",
    "ShareBandwidth": 0,
    "ServerHost": "api.openp2p.cn",
    "ServerPort": 27183,
    "UDPPort1": 27182,
    "UDPPort2": 27183
  },
  "apps": [
    {
      "AppName": "OfficeWindowsPC",
      "Protocol": "tcp",
      "SrcPort": 23389,
      "PeerNode": "OFFICEPC1",
      "DstPort": 3389,
      "DstHost": "localhost",
    },
    {
      "AppName": "OfficeServerSSH",
      "Protocol": "tcp",
      "SrcPort": 22,
      "PeerNode": "OFFICEPC1",
      "DstPort": 22,
      "DstHost": "192.168.1.5",
    }
  ]
}

升级客户端

代码语言:javascript
复制
# update local client
./openp2p update  
# update remote client
curl --insecure 'https://api.openp2p.cn:27183/api/v1/device/YOUR-NODE-NAME/update?user=&password='

Windows系统需要设置防火墙放行本程序,程序会自动设置,如果设置失败会影响连接功能。Linux系统(Ubuntu和CentOS7)的防火墙默认配置均不会有影响,如果不行可尝试关闭防火墙

代码语言:javascript
复制
systemctl stop firewalld.service
systemctl start firewalld.service
firewall-cmd --state

卸载

代码语言:javascript
复制
./openp2p uninstall
# 已安装时
# windows
C:\Program Files\OpenP2P\openp2p.exe uninstall
# linux,macos
sudo /usr/local/openp2p/openp2p uninstall
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • OpenP2P是什么
      • 典型应用场景
        • 为什么选择OpenP2P
        • 快速入门
          • 1.注册
            • 下载安装
            • 详细使用说明
            • 连接
            • 配置文件
            • 升级客户端
            • 卸载
            相关产品与服务
            私有网络
            私有网络(Virtual Private Cloud,VPC)是基于腾讯云构建的专属云上网络空间,为您在腾讯云上的资源提供网络服务,不同私有网络间完全逻辑隔离。作为您在云上的专属网络空间,您可以通过软件定义网络的方式管理您的私有网络 VPC,实现 IP 地址、子网、路由表、网络 ACL 、流日志等功能的配置管理。私有网络还支持多种方式连接 Internet,如弹性 IP 、NAT 网关等。同时,您也可以通过 VPN 连接或专线接入连通腾讯云与您本地的数据中心,灵活构建混合云。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档