Octelium — современная альтернатива Teleport, ngrok и VPN
Octelium — самохостинговая FOSS‑альтернатива Teleport, ngrok и VPN. Узнайте, как быстро настроить безопасный удалённый доступ к домашним серверам.
Введение в Octelium
Octelium v0.24 — это современная, самохостинговая, свободная и открытая система, объединяющая функции нескольких популярных инструментов для удаленного доступа.
# Просто вывод информации о Octelium
echo 'Octelium v0.24 - современная система для удаленного доступа'Проверка предварительных требований
Перед установкой убедитесь, что ваша система соответствует минимальным требованиям: Linux (Ubuntu 20.04+ или CentOS 8+), процессор x86_64 или ARM64, минимум 512 МБ оперативной памяти, 1 ГБ дискового пространства, доступ к порту 443 и доменному имени или публичному IP.
# Проверка операционной системы
lsb_release -a
# или
cat /etc/os-release
# Проверка архитектуры
uname -m
# Проверка доступной памяти
free -hУстановка через Docker
Установка через Docker является рекомендуемым способом.
# Установка Docker, если он не установлен
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Добавление пользователя в группу docker
sudo usermod -aG docker $USER
# Скачивание Docker Compose файла
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/docker-compose.yml -o docker-compose.yml
# Создание директорий
mkdir -p ~/octelium/config
mkdir -p ~/octelium/logs
# Запуск Octelium
docker-compose up -dПервоначальная настройка
После установки выполните первичную конфигурацию Octelium.
# Редактирование конфигурационного файла
docker exec -it octelium octelium config edit
# или для бинарной установки
sudo nano /opt/octelium/config/config.yaml
# Основные параметры конфигурации:
server:
host: 0.0.0.0
port: 8443
ssl:
enabled: true
cert_file: /path/to/cert.pem
key_file: /path/to/key.pemНастройка SSL/TLS
Для production рекомендуется использовать сертификаты от доверенного CA.
# Установка Certbot
sudo apt install certbot
# Получение сертификата
sudo certbot certonly --standalone -d your-domain.com
# Настройка Octelium для использования Let's Encrypt
sudo sed -i 's|cert_file: .*|cert_file: /etc/letsencrypt/live/your-domain.com/fullchain.pem|' /etc/octelium/config.yaml
sudo sed -i 's|key_file: .*|key_file: /etc/letsencrypt/live/your-domain.com/privkey.pem|' /etc/octelium/config.yamlУстановка агента
Для предоставления доступа к удаленным ресурсам установите Octelium Agent на целевых машинах.
# Определение архитектуры
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" = "aarch64" ]; then
ARCH="arm64"
fi
# Скачивание агента
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-agent-linux-$ARCH -o /tmp/octelium-agent
chmod +x /tmp/octelium-agent
# Создание пользователя и директорий
sudo useradd -r -s /bin/false -d /opt/octelium-agent octelium-agent
sudo mkdir -p /opt/octelium-agent/bin /opt/octelium-agent/config /opt/octelium-agent/logs
sudo mv /tmp/octelium-agent /opt/octelium-agent/bin/
sudo chown -R octelium-agent:octelium-agent /opt/octelium-agentГенерация токена и настройка агента
Сгенерируйте токен для регистрации агента и настройте его.
# Генерация токена через CLI
octelium auth token create --user admin --scope "agent:*" --expires 24h
# Конфигурация агента
sudo tee /opt/octelium-agent/config/config.yaml > /dev/null <<EOF
server:
address: https://your-octelium-server:8443
token: YOUR_AGENT_TOKEN
logging:
level: info
file: /opt/octelium-agent/logs/agent.log
resources:
- name: "web-server"
type: tcp
host: 192.168.1.100
port: 80
EOFУстановка клиента и подключение
Установите Octelium Client на машине пользователя и подключитесь к ресурсам.
# Установка клиента для Linux
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-client-linux-amd64 -o /usr/local/bin/octelium
chmod +x /usr/local/bin/octelium
# Аутентификация
octelium auth login --username admin --password your_password
# Подключение к ресурсу
octelium tcp connect web-serverOctelium v0.24 - Современный, самохостинговый, FOSS единый альтернативный вариант Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel и удаленного VPN-доступа
Введение в Octelium
Octelium v0.24 — это современная, самохостинговая, свободная и открытая система, объединяющая функции нескольких популярных инструментов для удаленного доступа. Она позиционируется как единое решение для безопасного удаленного доступа к ресурсам, заменяя такие инструменты, как Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel и традиционные VPN.
Разработанный с акцентом на безопасность, простоту использования и гибкость, Octelium позволяет администраторам предоставлять безопасный доступ к внутренним ресурсам без необходимости использовать коммерческие облачные сервисы или сложные конфигурации.
Проблема, которую решает Octelium
Современные ИТ-инфраструктуры сталкиваются с несколькими ключевыми проблемами при организации удаленного доступа:
-
Фрагментация инструментов: Администраторам часто приходится использовать несколько разных решений для разных задач (VPN для доступа к сети, ngrok для проброса портов, Tailscale для P2P-соединений и т.д.), что увеличивает сложность и поверхность атаки.
-
Зависимость от облачных провайдеров: Многие популярные решения (например, Tailscale, Cloudflare Tunnel) требуют облачной инфраструктуры, что создает зависимости и потенциальные точки отказа.
-
Сложность настройки: Настройка безопасного удаленного доступа часто требует глубоких знаний сетевой безопасности и может занимать значительное время.
-
Управление доступом: Предоставление тонкого контроля доступа к различным ресурсам в распределенных командах может быть сложной задачей.
Octelium решает эти проблемы, предлагая единую платформу, которая объединяет лучшие аспекты нескольких инструментов при обеспечении полного контроля над инфраструктурой.
Архитектура Octelium
Архитектура Octelium построена вокруг нескольких ключевых компонентов:
-
Octelium Server: Основной компонент, который выступает в качестве точки входа для всех подключений. Он отвечает за аутентификацию, авторизацию и маршрутизацию трафика.
-
Octelium Agent: Легковесный агент, который устанавливается на целевых машинах для предоставления доступа к их ресурсам.
-
Octelium Client: Утилита командной строки для пользователей, которая обеспечивает безопасное подключение к ресурсам через Octelium Server.
-
Web-интерфейс: Веб-панель для управления доступом, мониторинга и конфигурации.
Все компоненты используют шифрование с помощью современных протоколов (TLS 1.3) и аутентификацию на основе JWT-токенов, что обеспечивает безопасность соединений на всех уровнях.
Архитектура поддерживает несколько режимов работы:
- Режим прокси (аналог ngrok)
- Режим VPN (как Tailscale)
- Режим шлюза (как Teleport)
- гибридные режимы, комбинирующие несколько подходов
Руководство по установке
Предварительные требования
- Операционная система: Linux (рекомендуется Ubuntu 20.04+ или CentOS 8+)
- Процессор: x86_64, ARM64
- Оперативная память: минимум 512 МБ (рекомендуется 1 ГБ для production)
- Дисковое пространство: минимум 1 ГБ
- Сетевой доступ: порты 443 (для HTTPS) и 80 (для HTTP, опционально)
- Доступ к корневым привилегиям для установки (или права sudo)
- Доступ к доменному имени или публичному IP-адресу (для production)
Подготовка системы
Обновите систему перед установкой:
# Для Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# Для CentOS/RHEL
sudo yum update -y
Установите необходимые зависимости:
# Для Ubuntu/Debian
sudo apt install -y curl wget git unzip
# Для CentOS/RHEL
sudo yum install -y curl wget git unzip
Установка с использованием Docker
Установка через Docker — самый простой и рекомендуемый способ:
# Установите Docker, если он не установлен
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Добавьте вашего пользователя в группу docker
sudo usermod -aG docker $USER
# Перезайдите в систему или выполните
newgrp docker
# Скачиваем Docker Compose файл
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/docker-compose.yml -o docker-compose.yml
# Создаем директорию для конфигурации
mkdir -p ~/octelium/config
mkdir -p ~/octelium/logs
# Запускаем Octelium
docker-compose up -d
После запуска Octelium будет доступен по адресу https://localhost:8443 (или вашему домену, если настроена маршрутизация).
Установка из бинарных файлов
Для систем, где Docker недоступен, можно установить Octelium из бинарных файлов:
# Определяем архитектуру системы
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" = "aarch64" ]; then
ARCH="arm64"
fi
# Скачиваем бинарный файл сервера
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-server-linux-$ARCH -o /tmp/octelium-server
chmod +x /tmp/octelium-server
# Создаем пользователя и директории
sudo useradd -r -s /bin/false -d /opt/octelium octelium
sudo mkdir -p /opt/octelium/bin /opt/octelium/config /opt/octelium/logs
sudo mv /tmp/octelium-server /opt/octelium/bin/
sudo chown -R octelium:octelium /opt/octelium
# Создаем systemd сервис
sudo tee /etc/systemd/system/octelium.service > /dev/null <<EOF
[Unit]
Description=Octelium Server
After=network.target docker.service
Requires=docker.service
[Service]
Type=simple
User=octelium
Group=octelium
WorkingDirectory=/opt/octelium
ExecStart=/opt/octelium/bin/octelium server --config /opt/octelium/config/config.yaml
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
# Создаем конфигурационный файл
sudo tee /opt/octelium/config/config.yaml > /dev/null <<EOF
server:
host: 0.0.0.0
port: 8443
ssl:
enabled: true
cert_file: /opt/octelium/config/cert.pem
key_file: /opt/octelium/config/key.pem
auth:
method: local
users:
- username: admin
password: $(openssl rand -base64 12)
role: admin
logging:
level: info
file: /opt/octelium/logs/octelium.log
EOF
# Генерируем самоподписанный сертификат
sudo openssl req -x509 -newkey rsa:4096 -keyout /opt/octelium/config/key.pem -out /opt/octelium/config/cert.pem -days 365 -nodes -subj "/CN=localhost"
# Запускаем Octelium
sudo systemctl daemon-reload
sudo systemctl enable octelium
sudo systemctl start octelium
Установка через пакетный менеджер
Для Ubuntu/Debian
Создайте репозиторий Octelium:
# Добавляем GPG ключ
curl -fsSL https://packages.octelium.io/octelium.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/octelium.gpg
# Добавляем репозиторий
echo "deb [signed-by=/etc/apt/trusted.gpg.d/octelium.gpg] https://packages.octelium.io/apt stable main" | sudo tee /etc/apt/sources.list.d/octelium.list
# Устанавливаем Octelium
sudo apt update
sudo apt install octelium
Для CentOS/RHEL
Создайте репозиторий Octelium:
# Установим EPEL репозиторий
sudo yum install -y epel-release
# Добавляем репозиторий Octelium
sudo tee /etc/yum.repos.d/octelium.repo > /dev/null <<EOF
[octelium]
name=Octelium Repository
baseurl=https://packages.octelium.io/yum/\$basearch/
enabled=1
gpgcheck=1
gpgkey=https://packages.octelium.io/octelium.gpg
EOF
# Устанавливаем Octelium
sudo yum install -y octelium
Первичная конфигурация
После установки Octelium сгенерирует начальный конфигурационный файл. Для его редактирования:
# Для Docker установки
docker exec -it octelium octelium config edit
# Для бинарной установки
sudo nano /opt/octelium/config/config.yaml
# Для пакетной установки
sudo nano /etc/octelium/config.yaml
Основные параметры конфигурации:
server:
host: 0.0.0.0
port: 8443
ssl:
enabled: true
cert_file: /path/to/cert.pem
key_file: /path/to/key.pem
min_version: TLSv1.2
cipher_suites:
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
auth:
method: local # или saml, oidc, ldap
session_lifetime: 24h # время жизни сессии
users:
- username: admin
password: secure_password
role: admin
mfa:
enabled: true
type: totp
secret: "YOUR_MFA_SECRET"
logging:
level: info
format: json # или text
outputs:
- type: file
path: /var/log/octelium.log
max_size: 100 # МБ
max_age: 7 # дней
max_backups: 3
- type: syslog
facility: daemon
vpn:
enabled: true
subnet: 10.10.0.0/24
dns:
- 8.8.8.8
- 1.1.1.1
mtu: 1500
keepalive: 25
persistent_keepalive: 25
Настройка SSL/TLS
Для production рекомендуется использовать сертификаты от доверенного CA:
# Использование Let's Encrypt
sudo apt install certbot # для Debian/Ubuntu
sudo yum install certbot # для CentOS/RHEL
# Получаем сертификат
sudo certbot certonly --standalone -d your-domain.com
# Настройка Octelium для использования Let's Encrypt сертификатов
sudo sed -i 's|cert_file: .*|cert_file: /etc/letsencrypt/live/your-domain.com/fullchain.pem|' /etc/octelium/config.yaml
sudo sed -i 's|key_file: .*|key_file: /etc/letsencrypt/live/your-domain.com/privkey.pem|' /etc/octelium/config.yaml
# Перезапускаем Octelium
sudo systemctl restart octelium
Настройка внешней аутентификации
Настройка LDAP/AD
auth:
method: ldap
ldap:
host: ldap://your-ldap-server:389
bind_dn: "cn=admin,dc=example,dc=com"
bind_password: "password"
user_search:
base_dn: "ou=users,dc=example,dc=com"
filter: "(objectClass=posixAccount)"
username_attribute: uid
group_search:
base_dn: "ou=groups,dc=example,dc=com"
filter: "(objectClass=posixGroup)"
group_name_attribute: cn
user_attribute: uid
admin_groups:
- "admin"
- "it-staff"
Настройка SAML
auth:
method: saml
saml:
sp:
entity_id: "https://your-octelium-server"
acs_url: "https://your-octelium-server/auth/saml/acs"
slo_url: "https://your-octelium-server/auth/saml/slo"
cert_file: "/path/to/sp-cert.pem"
key_file: "/path/to/sp-key.pem"
idp:
entity_id: "https://your-idp-entity-id"
single_sign_on_service:
url: "https://your-idp/sso"
binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
single_logout_service:
url: "https://your-idp/slo"
binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
cert_file: "/path/to/idp-cert.pem"
Настройка OIDC
auth:
method: oidc
oidc:
provider: "https://your-oidc-provider"
client_id: "your-client-id"
client_secret: "your-client-secret"
redirect_uri: "https://your-octelium-server:8443/auth/callback"
scopes:
- "openid"
- "profile"
- "email"
claim_mappings:
username: "preferred_username"
email: "email"
name: "name"
admin_claim: "is_admin"
admin_value: true
Проверка установки
После завершения настройки проверьте работу Octelium:
# Проверка статуса сервиса
systemctl status octelium # для бинарной и пакетной установки
docker logs octelium # для Docker установки
# Проверка подключения к веб-интерфейсу
curl -k https://localhost:8443
# Проверка API
curl -k https://localhost:8443/api/v1/health
Если все в порядке, вы должны увидеть ответ API с состоянием здоровья системы.
Настройка удаленного доступа
Установка агента на целевых машинах
Для предоставления доступа к удаленным ресурсам установите Octelium Agent на целевых машинах:
# Определяем архитектуру
ARCH=$(uname -m)
if [ "$ARCH" = "x86_64" ]; then
ARCH="amd64"
elif [ "$ARCH" = "aarch64" ]; then
ARCH="arm64"
fi
# Скачиваем агент
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-agent-linux-$ARCH -o /tmp/octelium-agent
chmod +x /tmp/octelium-agent
# Создаем пользователя и директории
sudo useradd -r -s /bin/false -d /opt/octelium-agent octelium-agent
sudo mkdir -p /opt/octelium-agent/bin /opt/octelium-agent/config /opt/octelium-agent/logs
sudo mv /tmp/octelium-agent /opt/octelium-agent/bin/
sudo chown -R octelium-agent:octelium-agent /opt/octelium-agent
# Создаем systemd сервис
sudo tee /etc/systemd/system/octelium-agent.service > /dev/null <<EOF
[Unit]
Description=Octelium Agent
After=network.target
[Service]
Type=simple
User=octelium-agent
Group=octelium-agent
WorkingDirectory=/opt/octelium-agent
ExecStart=/opt/octelium-agent/bin/octelium-agent --config /opt/octelium-agent/config/config.yaml
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
Генерация токена для агента
Сгенерируйте токен для регистрации агента:
# Через CLI
octelium auth token create --user admin --scope "agent:*" --expires 24h
# Или через веб-интерфейс
# 1. Войдите в веб-интерфейс
# 2. Перейдите в раздел "Tokens"
# 3. Нажмите "Create Token"
# 4. Укажите область действия "agent:*"
# 5. Установите срок действия
# 6. Скопируйте сгенерированный токен
Конфигурация агента
Создайте конфигурационный файл агента:
# Создаем конфигурационный файл
sudo tee /opt/octelium-agent/config/config.yaml > /dev/null <<EOF
server:
address: https://your-octelium-server:8443
token: YOUR_AGENT_TOKEN
logging:
level: info
file: /opt/octelium-agent/logs/agent.log
resources:
- name: "web-server"
type: tcp
host: 192.168.1.100
port: 80
- name: "database"
type: tcp
host: 192.168.1.200
port: 5432
vpn:
enabled: true
subnet: 10.10.1.0/24
EOF
# Запускаем агент
sudo systemctl daemon-reload
sudo systemctl enable octelium-agent
sudo systemctl start octelium-agent
Настройка доступа через веб-интерфейс
- Войдите в веб-интерфейс Octelium
- Перейдите в раздел "Resources"
- Нажмите "Add Resource"
- Заполните форму:
- Name: имя ресурса (например, "web-server")
- Type: тип (tcp, http, ssh, database)
- Host: IP-адрес или имя хоста
- Port: порт
- Description: описание (опционально)
- Нажмите "Save"
Настройка политик доступа
- Перейдите в раздел "Policies"
- Нажмите "Create Policy"
- Заполните форму:
- Name: имя политики
- Resources: выберите ресурсы, к которым применяется политика
- Users: выберите пользователей, которым предоставляется доступ
- Groups: выберите группы пользователей (если настроена интеграция с LDAP/AD)
- Actions: выберите разрешенные действия (read, write, admin)
- Нажмите "Save"
Подключение к ресурсам
Установите Octelium Client на машине пользователя:
# Для Linux
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-client-linux-amd64 -o /usr/local/bin/octelium
chmod +x /usr/local/bin/octelium
# Для macOS
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-client-darwin-amd64 -o /usr/local/bin/octelium
chmod +x /usr/local/bin/octelium
# Для Windows
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-client-windows-amd64.zip -o octelium-client.zip
unzip octelium-client.zip -d C:\Octelium
Подключитесь к ресурсу:
# Аутентификация
octelium auth login --username admin --password your_password
# Подключение к ресурсу
octelium tcp connect web-server
# Или напрямую через SSH
octelium ssh connect web-server --username user
Расширенные возможности
Многофакторная аутентификация
Настройте MFA для повышения безопасности:
# Включение MFA для пользователя
octelium auth mfa enable --username admin
# Настройка TOTP
octelium auth mfa totp setup --username admin
# Настройка U2F/YubiKey
octelium auth mfa u2f setup --username admin
Настройка VPN
Для настройки VPN-режима:
# На сервере
vpn:
enabled: true
subnet: 10.10.0.0/24
dns:
- 8.8.8.8
- 1.1.1.1
mtu: 1500
keepalive: 25
persistent_keepalive: 25
# На агенте
vpn:
enabled: true
subnet: 10.10.0.0/24
auto_connect: true
Настройка проброса портов
Для проброса портов как в ngrok:
# На агенте
octelium agent --server https://your-octelium-server:8443 --token YOUR_TOKEN --expose 3000:localhost:3000
# На клиенте
octelium http connect dev-machine:3000
Настройка прокси для SSH
Для безопасного доступа к SSH-серверам:
# На сервере Octelium
resources:
- name: "ssh-server"
type: ssh
host: 192.168.1.100
port: 22
ssh_host_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."
# На клиенте
octelium ssh connect ssh-server
Устранение неполадок
Общие проблемы
Octelium не запускается
# Проверка логов
journalctl -u octelium -f
# Проверка конфигурации
octelium config validate
# Проверка доступных портов
netstat -tlnp | grep 8443
Агент не подключается к серверу
# Проверка логов агента
journalctl -u octelium-agent -f
# Проверка подключения к серверу
curl -k https://your-octelium-server:8443/api/v1/health
# Проверка токена
octelium auth token verify --token YOUR_TOKEN
Проблемы с SSL/TLS
# Проверка сертификата
openssl s_client -connect your-octelium-server:8443
# Проверка конфигурации SSL
openssl x509 -in /path/to/cert.pem -text -noout
Производительность
Низкая производительность
Оптимизируйте конфигурацию:
server:
worker_threads: 8 # Количество потоков, обычно = количеству ядер CPU
max_connections: 1000
read_timeout: 30s
write_timeout: 30s
agent:
buffer_size: 65536 # 64KB
flush_interval: 100ms
compression: true
Высокое использование памяти
cache:
enabled: true
size: 256 # Уменьшите размер кэша
ttl: 1800 # Уменьшите время жизни кэша
Безопасность
Обновление Octelium
Для обновления Octelium:
# Для Docker
docker-compose pull
docker-compose up -d
# Для бинарной установки
sudo systemctl stop octelium
curl -sSL https://github.com/octelium/octelium/releases/download/v0.24/octelium-server-linux-amd64 -o /tmp/octelium-server
sudo mv /tmp/octelium-server /opt/octelium/bin/
sudo systemctl start octelium
# Для пакетной установки
sudo apt update && sudo apt upgrade octelium
Ограничения доступа
Настройте брандмауэр:
# Разрешение доступа только из доверенных сетей
sudo ufw allow from 192.168.1.0/24 to any port 8443 proto tcp
# Ограничение доступа к API
sudo ufw deny to any port 8443 from 10.0.0.0/8
Практические примеры использования
Доступ к внутренним веб-приложениям
# На сервере Octelium
octelium resource add --name "internal-app" --type http --host 10.0.0.10 --port 8080 --description "Internal company application"
# На клиентской машине
octelium http connect internal-app
Проброс порта для разработки
# На разработческой машине с агентом
octelium agent --server https://octelium.example.com:8443 --token dev-token --expose 3000:localhost:3000 --name "dev-machine"
# На клиентской машине
octelium http connect dev-machine:3000
Создание защищенного VPN для удаленной команды
# На сервере Octelium
octelium vpn create --name "team-vpn" --subnet 10.10.0.0/24 --description "VPN for development team"
# Добавление участников
octelium vpn add-user --vpn "team-vpn" --user developer1
octelium vpn add-user --vpn "team-vpn" --user developer2
# На машинах участников
octelium vpn connect team-vpn
Обеспечение доступа к базе данных
# На сервере с базой данных
octelium agent --server https://octelium.example.com:8443 --token db-token --database postgres://user:pass@localhost:5432/dbname
# На клиентской машине
octelium database connect db-connection
Доступ к Kubernetes кластеру
# На сервере Octelium
octelium resource add --name "k8s-cluster" --type kubernetes --kubeconfig /path/to/kubeconfig --description "Production Kubernetes cluster"
# На клиентской машине
octelium kubectl connect k8s-cluster
Производительность и оптимизация
Оптимизация производительности сервера
-
Настройка SSL/TLS:
ssl: cipher_suites: - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 min_version: TLSv1.3 -
Кэширование:
cache: enabled: true size: 512 # МБ ttl: 3600 # секунд -
Параллелизм:
server: max_connections: 1000 worker_threads: 4
Оптимизация агента
-
Настройка буфера:
agent: buffer_size: 65536 # 64KB flush_interval: 100 # мс -
Сжатие трафика:
agent: compression: true compression_level: 6
Мониторинг производительности
Используйте встроенные метрики для мониторинга:
# Просмотр метрик
octelium metrics
# Экспорт в Prometheus
octelium metrics --exporter prometheus --listen :9090
# Настройка Grafana дашборда
# 1. Импорт дашборда Octelium из Grafana Laboratory
# 2. Настройте источник данных Prometheus
# 3. Настройте опрос метрик каждые 15 секунд
Сравнение Octelium с альтернативами
Octelium vs Teleport
| Параметр | Octelium | Teleport |
|---|---|---|
| Лицензия | FOSS (Apache 2.0) | FOSS (Apache 2.0) |
| Модель развертывания | Самохостинг | Самохостинг / Облачный |
| Прокси-туннелирование | Да | Да |
| VPN-доступ | Да | Частично |
| Интеграция с Kubernetes | Да | Да, с акцентом |
| Поддержка MFA | Да | Да |
| Цена | Бесплатно | Бесплатная社区版 / Платная корпоративная |
Octelium предлагает более гибкие настройки VPN и более простую модель лицензирования для корпоративного использования.
Octelium vs ngrok
| Параметр | Octelium | ngrok |
|---|---|---|
| Лицензия | FOSS (Apache 2.0) | Freemium / Платная |
| Модель развертывания | Самохостинг | Облачная |
| Проксирование портов | Да | Да |
| Аутентификация | JWT, SAML, OIDC | HTTP Basic, Auth Header |
| Мониторинг | Встроенный | Платный |
| Поддержка TCP/HTTP/HTTPS | Да | Да |
| Ограничения трафика | Нет (свой сервер) | Есть (в бесплатной версии) |
Octelium предоставляет полный контроль над трафиком и не имеет ограничений, характерных для бесплатной версии ngrok.
Octelium vs Tailscale
| Параметр | Octelium | Tailscale |
|---|---|---|
| Лицензия | FOSS (Apache 2.0) | Freemium / Платная |
| Модель развертывания | Самохостинг | Облачная |
| P2P-соединения | Да | Да |
| Поддержка IPv4/IPv6 | Да | Да |
| Сетевой диапазон | Настраиваемый | Автоматический |
| Интеграция с Kubernetes | Да | Да |
| Мониторинг | Встроенный | Платный |
| Цена | Бесплатно | Бесплатная社区版 / Платная |
Octelium дает полный контроль над сетевой конфигурацией без зависимости от облачной инфраструктуры.
Octelium vs Cloudflare Zero Trust/Access/Tunnel
| Параметр | Octelium | Cloudflare |
|---|---|---|
| Лицензия | FOSS (Apache 2.0) | Freemium / Платная |
| Модель развертывания | Самохостинг | Облачная |
| Проксирование туннелей | Да | Да |
| WAF (Web Application Firewall) | Нет | Да |
| DDoS защита | Нет | Да |
| Мониторинг | Базовый | Расширенный |
| Интеграция с другими сервисами | Ограниченная | Широкая |
| Цена | Бесплатно | Бесплатная社区版 / Платная |
Octelium подходит для организаций, которые хотят сохранить полный контроль над инфраструктурой и не зависеть от облачных провайдеров.
Сообщество и разработка
Вклад в разработку
Octelium — проект с открытым исходным кодом, и сообщество активно участвует в его развитии:
-
Каналы связи:
- GitHub Issues: https://github.com/octelium/octelium/issues
- Discord: https://discord.gg/octelium
- Telegram: https://t.me/octelium
-
Развитие проекта:
- Еженедельные релизы
- Дорожная карта доступна на GitHub
- Публичные встречи разработчиков каждые 2 недели
Совместимость и поддержка
- Поддерживаемые платформы: Linux, macOS, Windows
- Поддерживаемые архитектуры: x86_64, ARM64
- Минимальные версии: Go 1.19+
Ограничения продукта
Несмотря на широкие возможности, Octelium имеет некоторые ограничения:
-
Отсутствие встроенного WAF: В отличие от Cloudflare, Octelium не включает встроенного веб-приложенного файрвола.
-
Ограниченная интеграция с облачными сервисами: Octelium фокусируется на самохостинге и имеет ограниченную интеграцию с облачными провайдерами.
-
Отсутствие DDoS защиты: Octelium не обеспечивает встроенной защиты от DDoS-атак.
-
Масштабируемость: Для очень крупных部署 (тысячи одновременных подключений) может потребоваться кластеризация, что добавляет сложности.
-
Кривая обучения: Несмотря на простоту базовой настройки, расширенные функции требуют изучения документации.
Заключение
Octelium v0.24 представляет собой мощное и гибкое решение для организации безопасного удаленного доступа к ресурсам. Объединяя функции нескольких популярных инструментов, он позволяет упростить инфраструктуру и снизить общую стоимость владения.
Основные преимущества Octelium:
- Полный контроль над инфраструктурой
- Единая платформа для разных сценариев использования
- Высокая безопасность с современными протоколами шифрования
- Простота развертывания и управления
- Активное сообщество и регулярные обновления
Для организаций, ищущих альтернативу коммерческим решениям или желающих упростить свою инфраструктуру удаленного доступа, Octelium представляет собой интересный вариант, достойный внимания.