Перейти к основному контенту

v.2 Создание ноды remnanode с ssl сертификатами (Если много нод)

Ниже описана инструкция по настройке ноды для панели remnawave, для ее использования необходимо заранее купить домен и создать поддомен для vps сервера.

Обновление пакетов и установка всех необходимых пакетов

Обновление и установка пакетов

apt update && apt install curl nginx certbot

Отключаем дефолтный сайт nginx

rm -f /etc/nginx/sites-enabled/default && systemctl stop nginx

Установка docker

curl -fsSL https://get.docker.com | sh

Выпуск сертификатов certbot

Команда для выпуска сертификатов

certbot certonly --standalone -d Y_D.ru

В процессе установке необходимо со всем согласиться, указать домен и email

Установка remnanode

Создание каталога для remnanode

mkdir /opt/remnanode && cd /opt/remnanode && nano docker-compose.yml

Вставьте текст, не забудьте указать SECRET_KEY, NODE_PORT и заменить Y_D.ru

services:
  remnanode:
    container_name: remnanode
    hostname: remnanode
    image: remnawave/node:latest
    network_mode: host
    restart: always
    cap_add:
      - NET_ADMIN
    ulimits:
      nofile:
        soft: 1048576
        hard: 1048576
    environment:
      - NODE_PORT=2272
      - SECRET_KEY=""
    volumes:
      - '/etc/letsencrypt/live/Y_D.ru:/etc/letsencrypt/live:ro'

Поднимаем контейнер, проверяем линк на панели.

docker compose up -d && docker compose logs -f -t

Поднимаем заглушку

Запускаем nginx и добавляем в автозагрузку

systemctl enable --now nginx

Создаем каталог для заглушки

mkdir -p /var/www/masq

Создаем html файл заглушки

tee /var/www/masq/index.html >/dev/null <<'HTML'
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Please wait</title><style>body{background:#080808;height:100vh;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:sans-serif}.dots{display:flex;gap:15px;margin-bottom:30px}.d{width:20px;height:20px;background:#fff;border-radius:50%;animation:b 1.4s infinite ease-in-out both}.d:nth-child(1){animation-delay:-0.32s}.d:nth-child(2){animation-delay:-0.16s}@keyframes b{0%,80%,100%{transform:scale(0);opacity:0.2}40%{transform:scale(1);opacity:1}}.t{color:#555;font-size:14px;letter-spacing:2px;font-weight:600}</style></head><body><div class="dots"><div class="d"></div><div class="d"></div><div class="d"></div></div><div class="t">RETRYING CONNECTION</div></body></html>
HTML

Создаем конфиг nginx

nano /etc/nginx/sites-available/masq

Вставляем конфиг ниже, необходимо заменить Y_D.ru на домен vps

server {
    listen 127.0.0.1:8443 ssl http2;
    server_name Y_D.ru www.Y_D.ru;

    root /var/www/masq;
    index index.html index.htm;

    ssl_certificate     /etc/letsencrypt/live/Y_D.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/Y_D.ru/privkey.pem;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

Создаем симлинк

ln -s /etc/nginx/sites-available/masq /etc/nginx/sites-enabled/masq

После перезагрузки nginx заглушка будет готова

systemctl reload nginx

Сетевые настройки сервера

cat > /etc/sysctl.d/99-vpn-optim.conf << EOF
# VPN оптимизация - буферы 64MB
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864

# TCP буферы (min default max)
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864

# BBR + сетевые улучшения
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
net.core.netdev_max_backlog = 5000
EOF

# Применить
sysctl -p /etc/sysctl.d/99-vpn-optim.conf

# Проверить
sysctl net.core.rmem_max net.ipv4.tcp_congestion_control