Установка Xray на Ubuntu: Пошаговая инструкция для VPN и прокси | AdminWiki

Xray установка на Ubuntu 22.04/24.04: Полное руководство по настройке

17 декабря 2025 6 мин. чтения #ubuntu #ubuntu 24.04 #vpn #xray #xray-core #настройка сервера #обход блокировок #прокси

Представь, что тебе нужно быстро развернуть надежный и современный прокси-сервер на Ubuntu, который устойчив к блокировкам и работает на последних протоколах. Xray — это мощный фреймворк для создания сетевых туннелей, который пришел на смену V2Ray. В этом руководстве мы разберем установку Xray на Ubuntu от начала до конца, как это сделал бы опытный DevOps.

Важно: Xray поддерживает современные протоколы, такие как VLESS, VMess, Trojan, и умеет маскировать трафик под обычный HTTPS, что делает его эффективным инструментом для обхода ограничений.

Подготовка сервера Ubuntu

Давай начнем с подготовки системы. Убедись, что у тебя есть свежий сервер Ubuntu 22.04 LTS или 24.04 LTS с root-доступом.

Обновление системы

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

bash
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget gnupg software-properties-common -y

Установка Xray на Ubuntu

Существует несколько способов установки Xray. Мы рассмотрим самый надежный — через официальный скрипт.

Способ 1: Установка через официальный скрипт

Этот метод автоматически установит последнюю версию Xray и создаст systemd-сервис:

bash
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)
Внимание: Всегда проверяй скрипты перед запуском. Ты можешь сначала посмотреть содержимое по ссылке, чтобы убедиться в его безопасности.

Способ 2: Ручная установка Xray-core

Если предпочитаешь больше контроля, установи вручную:

bash
# Скачиваем последнюю версию Xray
wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip

# Устанавливаем unzip если нет
sudo apt install unzip -y

# Распаковываем архив
unzip Xray-linux-64.zip -d /tmp/xray

# Копируем бинарник и конфиги
sudo cp /tmp/xray/xray /usr/local/bin/
sudo cp /tmp/xray/*.dat /usr/local/share/xray/

# Создаем директорию для конфигов
sudo mkdir -p /etc/xray
sudo mkdir -p /var/log/xray

Создание systemd сервиса

Для автоматического запуска создадим сервис:

bash
sudo nano /etc/systemd/system/xray.service

Добавь следующее содержимое:

config
[Unit]
Description=Xray Service
After=network.target nss-lookup.target

[Service]
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/xray run -config /etc/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000

[Install]
WantedBy=multi-user.target
bash
# Перезагружаем systemd и включаем автозагрузку
sudo systemctl daemon-reload
sudo systemctl enable xray.service

Настройка конфигурации Xray

Теперь создадим базовую конфигурацию. Вот пример настройки Xray с VLESS + WebSocket + TLS:

bash
sudo nano /etc/xray/config.json
json
{
  "log": {
    "loglevel": "warning",
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log"
  },
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "ТВОЙ-UUID-ЗДЕСЬ",
            "flow": "xtls-rprx-vision"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "certificates": [
            {
              "certificateFile": "/etc/ssl/certs/ssl-cert-snakeoil.pem",
              "keyFile": "/etc/ssl/private/ssl-cert-snakeoil.key"
            }
          ]
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    }
  ]
}

Генерация UUID

Для конфигурации нужен уникальный UUID. Сгенерируй его:

bash
xray uuid

Или используй встроенные утилиты:

bash
cat /proc/sys/kernel/random/uuid

Настройка TLS сертификатов

Для работы с TLS тебе понадобятся SSL сертификаты. Можно использовать самоподписанные или Let's Encrypt.

Установка Let's Encrypt (Certbot)

bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot certonly --standalone -d твой-домен.com --email твоя-почта@example.com

В конфиге Xray укажи пути к сертификатам:

json
"tlsSettings": {
  "certificates": [
    {
      "certificateFile": "/etc/letsencrypt/live/твой-домен.com/fullchain.pem",
      "keyFile": "/etc/letsencrypt/live/твой-домен.com/privkey.pem"
    }
  ]
}

Запуск и проверка Xray

bash
# Запускаем сервис
sudo systemctl start xray

# Проверяем статус
sudo systemctl status xray

# Смотрим логи в реальном времени
sudo journalctl -u xray -f

Проверка работы портов

bash
sudo ss -tulpn | grep xray
sudo netstat -tulpn | grep :443

Настройка фаервола (UFW)

Откроем необходимые порты:

bash
sudo ufw allow 22/tcp
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp  # Для Certbot
sudo ufw enable
sudo ufw status verbose

Сравнение методов установки Xray

Метод Сложность Контроль Обновление Рекомендация
Официальный скрипт Низкая Средний Автоматическое Для быстрого старта
Ручная установка Высокая Полный Вручную Для production
Docker Средняя Средний Через образ Для изоляции

Частые проблемы и решения

1. Ошибка "Permission denied"

bash
sudo chown -R nobody:nogroup /var/log/xray
sudo chmod -R 755 /var/log/xray

2. Порт уже используется

bash
sudo lsof -i :443
sudo kill -9 PID_процесса  # Осторожно!

3. Проверка конфигурации

bash
/usr/local/bin/xray test -config /etc/xray/config.json

FAQ: Часто задаваемые вопросы

Как обновить Xray на Ubuntu?

Для обновления через официальный скрипт:

bash
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh) --update

Как настроить несколько пользователей?

Добавь несколько объектов в массив clients:

json
"clients": [
  {
    "id": "uuid-пользователя-1",
    "flow": "xtls-rprx-vision"
  },
  {
    "id": "uuid-пользователя-2",
    "flow": "xtls-rprx-vision"
  }
]

Как добавить WebSocket поддержку?

Измени streamSettings в конфиге:

json
"streamSettings": {
  "network": "ws",
  "wsSettings": {
    "path": "/ray"
  }
}
Производительность: Xray оптимизирован для многопоточности и может обрабатывать тысячи соединений одновременно. Для максимальной производительности убедись, что у тебя достаточно ресурсов CPU и RAM.

Мониторинг и логирование

Для мониторинга работы Xray используй:

  • sudo journalctl -u xray -n 50 — последние 50 строк логов
  • sudo systemctl restart xray — перезапуск сервиса
  • sudo tail -f /var/log/xray/access.log — мониторинг доступа в реальном времени
  • sudo xray api statsquery -s 'inbound>>>traffic>>>downlink' — статистика трафика

Заключение

Мы рассмотрели полный процесс установки Xray на Ubuntu — от подготовки системы до тонкой настройки конфигурации. Xray — это мощный инструмент, который при правильной настройке обеспечивает стабильное и безопасное соединение. Помни о регулярном обновлении системы, мониторинге логов и обновлении сертификатов Let's Encrypt.

Важно: Всегда тестируй конфигурацию на тестовом сервере перед развертыванием в production. Резервное копирование конфигов — твой лучший друг.
Поделиться:
Сохранить гайд? В закладки браузера