Представь, что тебе нужно быстро развернуть надежный и современный прокси-сервер на Ubuntu, который устойчив к блокировкам и работает на последних протоколах. Xray — это мощный фреймворк для создания сетевых туннелей, который пришел на смену V2Ray. В этом руководстве мы разберем установку Xray на Ubuntu от начала до конца, как это сделал бы опытный DevOps.
Подготовка сервера Ubuntu
Давай начнем с подготовки системы. Убедись, что у тебя есть свежий сервер Ubuntu 22.04 LTS или 24.04 LTS с root-доступом.
Обновление системы
Первым делом обновим пакеты и установим необходимые утилиты:
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget gnupg software-properties-common -y
Установка Xray на Ubuntu
Существует несколько способов установки Xray. Мы рассмотрим самый надежный — через официальный скрипт.
Способ 1: Установка через официальный скрипт
Этот метод автоматически установит последнюю версию Xray и создаст systemd-сервис:
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)
Способ 2: Ручная установка Xray-core
Если предпочитаешь больше контроля, установи вручную:
# Скачиваем последнюю версию 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 сервиса
Для автоматического запуска создадим сервис:
sudo nano /etc/systemd/system/xray.service
Добавь следующее содержимое:
[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
# Перезагружаем systemd и включаем автозагрузку
sudo systemctl daemon-reload
sudo systemctl enable xray.service
Настройка конфигурации Xray
Теперь создадим базовую конфигурацию. Вот пример настройки Xray с VLESS + WebSocket + TLS:
sudo nano /etc/xray/config.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. Сгенерируй его:
xray uuid
Или используй встроенные утилиты:
cat /proc/sys/kernel/random/uuid
Настройка TLS сертификатов
Для работы с TLS тебе понадобятся SSL сертификаты. Можно использовать самоподписанные или Let's Encrypt.
Установка Let's Encrypt (Certbot)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot certonly --standalone -d твой-домен.com --email твоя-почта@example.com
В конфиге Xray укажи пути к сертификатам:
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/letsencrypt/live/твой-домен.com/fullchain.pem",
"keyFile": "/etc/letsencrypt/live/твой-домен.com/privkey.pem"
}
]
}
Запуск и проверка Xray
# Запускаем сервис
sudo systemctl start xray
# Проверяем статус
sudo systemctl status xray
# Смотрим логи в реальном времени
sudo journalctl -u xray -f
Проверка работы портов
sudo ss -tulpn | grep xray
sudo netstat -tulpn | grep :443
Настройка фаервола (UFW)
Откроем необходимые порты:
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"
sudo chown -R nobody:nogroup /var/log/xray
sudo chmod -R 755 /var/log/xray
2. Порт уже используется
sudo lsof -i :443
sudo kill -9 PID_процесса # Осторожно!
3. Проверка конфигурации
/usr/local/bin/xray test -config /etc/xray/config.json
FAQ: Часто задаваемые вопросы
Как обновить Xray на Ubuntu?
Для обновления через официальный скрипт:
bash <(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh) --update
Как настроить несколько пользователей?
Добавь несколько объектов в массив clients:
"clients": [
{
"id": "uuid-пользователя-1",
"flow": "xtls-rprx-vision"
},
{
"id": "uuid-пользователя-2",
"flow": "xtls-rprx-vision"
}
]
Как добавить WebSocket поддержку?
Измени streamSettings в конфиге:
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/ray"
}
}
Мониторинг и логирование
Для мониторинга работы 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.