Glorytun — небольшой, простой и безопасный многопутевой UDP-туннель.
Пожалуйста, используйте стабильную ветку. Посетите вики, чтобы найти практические руководства, учебные пособия и т. д.
Ключевые особенности Глоритуна происходят непосредственно из грязи.
Быстро и очень безопасно
Когда доступен AES-NI, используется новая и чрезвычайно быстрая конструкция AEAD AEGIS-256. В противном случае на обоих узлах выполняется автоматический переход на ChaCha20-Poly1305. Все сообщения шифруются, аутентифицируются и имеют временные метки для предотвращения большого количества атак. Это подразумевает, что клиент и сервер должны быть синхронизированы, по умолчанию принимается смещение 10 минут. Совершенная прямая секретность также реализована с помощью ECDH через Curve25519. Ключи меняются каждый час.
Многопутевое и аварийное переключение
Возможность подключения сейчас имеет решающее значение, особенно в мире SD-WAN. Эта функция позволяет TCP-соединению (и всем другим протоколам) исследовать и использовать все доступные каналы без отключения. Агрегация должна работать на всех обычных ссылках. На данный момент не рекомендуются только ссылки с очень высокой задержкой (+500 мс). Пути резервного копирования также поддерживаются, они будут использоваться только в случае крайней необходимости, это полезно, когда агрегация не является вашим приоритетом.
Формирование трафика
Шейпинг очень важен в сети, он позволяет поддерживать низкую задержку без ущерба для пропускной способности. Это также помогает планировщику многопутевого трафика принимать более обоснованные решения. На данный момент его необходимо настроить вручную, но скоро Glorytun сделает это за вас.
Обнаружение MTU пути без ICMP
Неверная конфигурация MTU — очень распространенная проблема в мире VPN. Поскольку это очень важно, Glorytun попытается настроить его правильно, угадав его значение. Он не полагается на MTU Next-hop, чтобы избежать черных дыр ICMP. В асимметричных ситуациях выбирается минимальный MTU.
Glorytun зависит только от версии libsodium >= 1.0.4. Который может быть установлен в самых разных системах.
Предпочтительной платформой является Linux, но код стандартен, поэтому его можно легко переносить на другие системы posix. Он был успешно протестирован на OpenBSD, FreeBSD и MacOS.
Поддерживаются IPv4 и IPv6. В Linux вы можете использовать оба одновременно, привязав ::
.
Для запросов на добавление функций и отчетов об ошибках создайте проблему.