Octelium: современная самостоятельная альтернатива Teleport, ngrok, Tailscale и VPN
Полный обзор Octelium - современной, самохостинговой FOSS-альтернативы популярным решениям для удаленного доступа. Узнайте, как настроить Octelium для безопасного доступа к вашим домашним серверам.
Введение в 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-server