NordVPN відкрив код Linux-клієнта та бібліотек з реалізацією MeshNet

VPN-провайдер NordVPN оголосив про відкриття вихідних текстів клієнта для платформи Linux, мережевої бібліотеки Libtelio та бібліотеки для організації обміну файлами Libdrop. Код відкрито під ліцензією GPLv3. При розробці використані мови програмування Go, Rust, C та Python.

Linux-клієнт надає інтерфейс командного рядка для керування підключенням до серверів NordVPN, дозволяє вибрати сервер зі списку з урахуванням бажаного розташування, змінити налаштування протоколу та включити режим Kill Switch, який блокує мережевий доступ у разі обриву з'єднання з VPN-сервером. Клієнт підтримує роботу з використанням протоколів NordLynx (на базі WireGuard) та OpenVPN. Для зміни налаштувань міжмережевого екрану використовується iptables, для маршрутизації iproute, для тунелювання з'єднань tuntap, а визначення імен в DNS — systemd-resolved. Підтримується робота в дистрибутивах Ubuntu, Fedora, Manjaro, Debian, Arch, Kali, CentOS та Rasbian.

Бібліотека Libtelio включає типові мережеві функції та надає реалізацію віртуальної мережі MeshNet, що утворюється із систем користувача та застосовується для їх зв'язку між собою. MeshNet дозволяє встановити шифровані тунелі між пристроями та створити на їх основі подібність окремої локальної мережі. На відміну від VPN, з'єднання MeshNet встановлюються не між пристроєм і VPN-сервером, а між кінцевими пристроями, які також беруть участь як вузли для маршрутизації трафіку.

Для всієї мережі MeshNet можна визначити спільний сервер для взаємодії із зовнішнім світом (наприклад, якщо вихідний вузол розміщений у користувача вдома, то в яких поїздках і місцях користувач не виходив би в мережу з підключених до MeshNet пристроїв, для зовнішніх сервісів мережева активність виглядатиме так , ніби користувач підключався з домашньої IP-адреси).

Для шифрування трафіку MeshNet можуть використовуватися різні реалізації Wireguard. Як вихідні вузли можуть використовуватися як сервери VPN, так і вузли користувача всередині MeshNet. Для обмеження трафіку всередині мережі надається пакетний фільтр, а для визначення хостів — сервіс на основі DNS. Опублікована бібліотека дозволяє організувати роботу власних мереж MeshNet у додатках.

Бібліотека Libdrop надає функції організації захищеного обміну файлами між пристроями користувача. Підтримується пряме відправлення та прийом файлів поверх MeshNet або глобальної мережі без залучення сторонніх серверів.

Джерело: opennet.ru

Додати коментар або відгук