NordVPN 开源 Linux 客户端和库,具有 MeshNet 实现

VPN 提供商 NordVPN 宣布开源 Linux 平台客户端、Libtelio 网络库和 Libdrop 文件共享库。 该代码在 GPLv3 许可证下开放。 开发中使用了Go、Rust、C和Python等编程语言。

Linux 客户端提供了一个命令行界面,用于管理与 NordVPN 服务器的连接,允许您根据所需位置从列表中选择服务器、更改协议设置并启用 Kill Switch 模式,该模式会在与 VPN 服务器的连接中断时阻止网络访问丢失了。 客户端支持使用 NordLynx(基于 WireGuard)和 OpenVPN 协议进行工作。 要更改防火墙设置,可以使用 iptables、iproute 用于路由、tuntap 用于隧道连接、systemd-resolved 用于解析 DNS 中的名称。 支持 Ubuntu、Fedora、Manjaro、Debian、Arch、Kali、CentOS 和 Rasbian 等发行版。

Libtelio 库包含典型的网络功能,并提供由用户系统组成并用于相互通信的 MeshNet 虚拟网络的实现。 MeshNet 允许您在设备之间建立加密隧道,并在其基础上创建类似单独本地网络的东西。 与 VPN 不同,MeshNet 中的连接不是在设备和 VPN 服务器之间建立,而是在也作为节点参与路由流量的终端设备之间建立。

对于整个MeshNet网络,可以定义一个公共的服务器用于与外界交互(例如,如果出口节点位于用户家中,那么无论用户在什么行程、什么地点,都可以从MeshNet连接的设备访问网络) ,对于外部服务,网络活动将如下所示,就好像用户是从家庭 IP 地址进行连接一样)。

各种 Wireguard 实现可用于加密 MeshNet 上的流量。 MeshNet 内部的 VPN 服务器和用户节点都可以用作出口节点。 提供自定义数据包过滤器来限制网络内的流量,并提供基于 DNS 的服务来确定主机。 已发布的库允许您在应用程序中组织自己的 MeshNet 网络的操作。

Libdrop 库提供了组织用户设备之间安全文件交换的功能。 支持通过MeshNet或全球网络直接发送和接收文件,无需第三方服务器的参与。

来源: opennet.ru

添加评论