关于ROLLBILINK®

ROLLBILINK® 是一个用C语言原创实现的公益项目。它专为流行的开源硬件和x86_64电脑设计,可以把树莓派(Raspberry Pi)、香橙派(Orange Pi R1 LTS)、各种PC机、笔记本电脑、服务器甚至VirtualBox和Vmware虚拟机变成支持P2P内网穿透的路由器

最有趣的是,你只要制作一台ROLLBILINK® 路由器,就可以和任何同样拥有ROLLBILINK® 路由器的人共享局域网——如同在互联网之上又搭建了一张安全的网络那样。

ROLLBILINK一词有双重含义:

  • 它取自中文“若比邻”的谐音,隐喻无论身处何地,它都可以让你像在家里一样方便地使用内部网络。
  • 它由三个词元:ROLL | BI | LINK 组成,依次代表产出、商务智能以及链路,意指一种可以为商务行为服务的智能网络链路。

为什么要开发ROLLBILINK® ?

内网穿透方案已经有很多了。我最初是希望做一个类似Zerotier,但是更傻瓜式的,能为全互联网用户服务的免费穿透方案。但在树莓派上做出原型以后,我发现路由级别的方案具有更高的网络性能和更广泛的协议支持能力,于是便将其设计成了路由器固件。并且希望手头有树莓派、香橙派、鲁班猫甚至旧电脑的用户能从中受益。

ROLLBILINK® 能做什么?

ROLLBILINK® 可以提供基于IP协议的基本路由服务和点到多点的内网穿透服务,因此可以被用作家庭网关、SDWAN网关、加密网关、NAS伴侣以及SASE盒子等。

ROLLBILINK® 的工作原理

不同于大多数基于协议识别和端口映射的反向代理方案,ROLLBILINK® 是一台真正的路由器。它向上以PPPoE拨号、DHCP或者静态地址配置的方式接入ISP运营商网络,向下则提供DHCP服务,支持有线和WLAN链路,为客户分配IP地址并且处理基础的L3路由转发业务。 同时,它还拥有一些令人兴奋的新特性。

  • ROLLBILINK® 路由器首先建立到调度服务器的安全链路。经由此服务器,不同的节点能够基于安全策略彼此发现并穿越NAT建立透明的P2P隧道。
  • ROLLBILINK® 网络是星型的。每个虚拟局域网有且只有1个服务节点和多个客户节点。每个客户节点和服务节点之间基于一条透明的P2P隧道互联。同一个虚拟局域网内的节点都可以互通。
  • ROLLBILINK® 基于L3/L4层设计,对应用层透明。即装即用,装完既忘,无需用户了解网络知识。
  • 支持UDP和TCP两种P2P隧道协议。内置的选路算法优先使用UDP,它穿越NAT的能力更强、速度更快,还能最大程度地利用带宽。
  • ROLLBILINK® 路由器正常处理L3转发。因此可以平替家庭路由器或者作为二级路由器使用。
  • ROLLBILINK® 路由器作为二级路由器或者旁路方式部署时不会影响用户已有网络拓扑。

ROLLBILINK® 组网示意图

ROLLBILINK网络拓扑

ROLLBILINK® 支持的硬件

ROLLBILINK® 支持下表列出的开源硬件和x86_64电脑。

Product Processor Core Architecture OS
Raspberry Pi 1 BCM2835 ARM1176 arm6hf Raspbian Lite (32bit)
Raspberry Pi 2 BCM2836 Cortex-A7 armhf Raspbian Lite (32bit)
Raspberry Pi 3 BCM2710 Cortex-A53 arm7hf Raspbian Lite (64bit)
Raspberry Pi 4 BCM2711 Cortex-A72 arm64 Raspbian Lite (64bit)
Raspberry Pi 5 BCM2712 Cortex-A76 arm64 Raspbian Lite (64bit)
Orange Pi R1 Plus LTS RK3328 Cortex-A53 arm64 Ubuntu 64bit server (bionic)
MediaTek MT7620N/A MIPS24Kec mips Linux 2.6.36 SDK
Computer x86 compatible series / x86_64 Ubuntu 64bit server (bionic)
VirtualBox Same as the host Same as the host x86_64 Ubuntu 64bit server (bionic)
QEMU any any any Ubuntu 64bit server (bionic)

推荐玩法

  • 个人玩家用树莓派 + 虚拟机 + fnOS 跨互联网搭建安全的私人NAS。

ROLLBILINK® 的设计初衷是把用户闲置的树莓派和旧电脑利用起来,变废为宝。由于大多数树莓派玩家手头只有一台设备,因此,对于个人玩家,作者推荐您采用“树莓派+虚拟机”的组合。

下图所示场景中,一台旧电脑同时安装飞牛NAS和ROLLBILINK虚拟机,放在家里。一台树莓派做成ROLLBILINK路由器随身携带。从国外上传文件,用飞牛提供的域名只能达到500KB/s左右的速率。但是通过树莓派用内网地址访问则可以稳定在5MB/s左右的速率,足足提升了10倍。

fnos user

  • 企业跨地域,多部门协同办公。

由于ROLLBILINK® 工作在IP层和传输层,因此可以透明地用于复杂的组网场景。

下图所示场景中,企业不但利用ROLLBILINK®路由器将不同地域的办公网络组成了一个虚拟局域网,还在各部门主管之间建立了一条单独的加密热线。

intranet user

    快速问答

    关于安全

    ROLLBILINK® 通过下列措施保护您的资产和网络安全:

    • 基于对应硬件平台的官方固件和操作系统制作。
    • P2P功能运行在用户态,未修改原版固件和操作系统代码。
    • P2P数据链路采用256位AES加密算法,密钥在云端动态生成,一次一密。
    • 管理链路采用TLS和压缩算法双重加密。
    • 支持基于MAC、IP、域名的黑白名单机制,符合国家等保要求,杜绝非法接入。
    • 支持节点创建混合随机密码或指定密码,不同链路之间背靠背工作,互不感知。
    • 核心二进制文件均基于LUKS加密,不可被篡改。

    Security

    关于费用

    • ROLLBILINK® 是注册商标,但是一个公益项目。这代表着它的下载和使用是完全免费的。由于全部采用了P2P通信的方式,因此不会像基于云转发的产品那样收取流量费。
    • 作者提供一个公共的超级管理节点用于处理所有用户节点的P2P请求。如果用户所处的网络环境下无法执行P2P连接,则此超级节点不会执行数据转发动作。
    • ROLLBILINK® 超级节点软件包可以部署在云端或者服务器,为指定的用户节点服务。该软件包仅针对企业级用户实名发放,暂时不提供公开下载链接。

    本项目免费的核心理由:

    • ROLLBILINK® 全部15万行代码是作者一人实现的,因此具有全部话语权。
    • 用户在使用过程中必然会提出需求、BUG、建议等,这些已是激励作者持续开发的宝贵财富。
    • 代码虽然是原创,但知识都来自网络,况且同类产品很多,因此不具有价值稀缺性。

    本项目将来可能收费的场景:

    • 当用户需要自行搭建超级节点时。
    • 当用户需要将ROLLBILINK®方案用于商业行为时。

    由于过高的P2P流量可能会触发某些防火墙策略,因此用户节点被限制为每周最多3GB流量,如果您需要更多,可以联系作者免费领取。

    关于开源

    ROLLBILINK® 是完全免费但非开源的。作者拥有全部软件著作权和商标注册许可。本项目未修改底层操作系统代码,也没有复制或引用任何遵循GPL许可的开源代码。

    本项目包含了下列开源软件的二进制版本,向这些项目的开发者致敬。🙏

    • Ubuntu 20.04 (bonic)
    • Raspberry Pi OS Lite
    • UDT4
    • hostapd
    • wpa_supplicant
    • dnsmasq

    本项目核心代码100%使用C语言原创实现,二级制文件全部使用GCC编译链接生成。核心程序的存放路径是:/var/opt/tungw

    由于基于路由和传输协议的P2P技术的特殊性,不当使用可能会违反用户所属地区的相关法律政策。为确保本项目能长期健康合法地演进,作者暂无开源计划。

    作者承诺:本软件永远纯净,不会植入任何广告。

    关于下载和制作

    欢迎访问项目主页 http://www.rollbilink.com 获取更多信息。

    Logo

    AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

    更多推荐