Введение
В этой статье разберём полную настройку VPS на Ubuntu: от базовой безопасности до рабочего VPN-сервера с веб-панелью 3x-ui и SSL-сертификатом.
1. Подготовка сервера
Подключение и обновление
# Подключаемся к серверу
ssh root@{your_ip}
# Обновляем систему
apt update && apt upgrade -y
Создание пользователя
Никогда не работайте под root:
# Создаём пользователя alex
adduser alex
usermod -aG sudo alex
Настройка SSH-ключей
На вашем локальном компьютере:
# Генерируем ключ (если нет)
ssh-keygen -t ed25519 -C "alex@laptop"
# Копируем на сервер
ssh-copy-id alex@{your_ip}
Безопасность SSH
Отредактируйте /etc/ssh/sshd_config:
Port 2222 # Меняем стандартный порт
PermitRootLogin no # Отключаем вход root
PasswordAuthentication no # Только ключи
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
Применяем:
systemctl restart sshd
Теперь подключаемся:
ssh -p 2222 alex@{your_ip}
2. Базовые утилиты и безопасность
Установка необходимых пакетов
sudo apt install -y curl wget htop nano git unzip zip fail2ban
Настройка Fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
SWAP (если мало RAM)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Часовой пояс
sudo timedatectl set-timezone Europe/Moscow
3. Установка 3x-ui
Из-за блокировки GitHub API на некоторых серверах, используем ручную установку.
На локальном компьютере
Скачиваем архив (требуется VPN или прямое подключение):
wget https://github.com/mhsanaei/3x-ui/releases/latest/download/x-ui-linux-amd64.tar.gz
Загружаем на сервер:
scp -P 2222 x-ui-linux-amd64.tar.gz alex@{your_ip}:/tmp/
На сервере
# Переходим в root
sudo su
# Распаковываем
cd /tmp
tar -xzf x-ui-linux-amd64.tar.gz
chmod +x x-ui/x-ui
mv x-ui/x-ui /usr/local/bin/
mkdir -p /usr/local/x-ui
cp -r x-ui/* /usr/local/x-ui/
# Создаём systemd сервис
cat > /etc/systemd/system/x-ui.service << 'EOF'
[Unit]
Description=x-ui Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/x-ui
WorkingDirectory=/usr/local/x-ui
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF
# Или используй другой способ:
#
# echo '[Unit]
# Description=x-ui Service
# After=network.target
#
# [Service]
# Type=simple
# ExecStart=/usr/local/bin/x-ui
# WorkingDirectory=/usr/local/x-ui
# Restart=always
# RestartSec=3
#
# [Install]
# WantedBy=multi-user.target' > /etc/systemd/system/x-ui.service
# Запускаем
systemctl daemon-reload
systemctl enable x-ui
systemctl start x-ui
systemctl status x-ui
Проверяем работу:
- Панель:
http://IP:2053 - Логин/пароль:
admin/admin
Важно: сразу смените пароль в настройках!
4. SSL-сертификат Let’s Encrypt
Установка Certbot
sudo apt install -y certbot
Получение сертификата
sudo certbot certonly --standalone -d domain.ru --agree-tos --email admin@domain.ru
Пути к файлам:
- Сертификат:
/etc/letsencrypt/live/domain.ru/fullchain.pem - Ключ:
/etc/letsencrypt/live/domain.ru/privkey.pem
Автообновление сертификата
Создаём задачу в cron:
sudo crontab -e
Добавляем строку:
0 3 * * * certbot renew --quiet --post-hook "systemctl restart x-ui"
Или одной командой:
echo "0 3 * * * certbot renew --quiet --post-hook 'systemctl restart x-ui'" | sudo crontab -
Проверяем:
sudo crontab -l
Настройка HTTPS в 3x-ui
- Открываем
http://IP:2053 - Panel Settings → Security
- Включаем HTTPS
- Указываем пути:
- Certificate:
/etc/letsencrypt/live/domain.ru/fullchain.pem - Key:
/etc/letsencrypt/live/domain.ru/privkey.pem
- Certificate:
- Сохраняем
Теперь панель доступна по https://domain.ru:2053
5. Проверка работы
# Проверяем статус сервиса
sudo systemctl status x-ui
# Проверяем порты
sudo ss -tlnp | grep -E '2053|2096'
# Проверяем автообновление SSL
sudo certbot renew --dry-run
Итог
Мы настроили:
- ✅ Безопасный SSH (порт 2222, только ключи)
- ✅ Пользователя без root
- ✅ Fail2ban для защиты от брутфорса
- ✅ SWAP для стабильности
- ✅ VPN-панель 3x-ui
- ✅ SSL-сертификат с автообновлением
Важные замечания:
- Настройте UFW (если нужен) для открытия портов 2053, 443, и портов VPN
- Регулярно обновляйте систему:
sudo apt update && sudo apt upgrade - Делайте бэкапы конфигурации 3x-ui
Статья подготовлена на основе реального опыта настройки сервера на Ubuntu 24.04
domain.ru — замените на свой домен
{your_ip} — на ip вашего сервера