Proxmox Virtual Environment - это программа управления виртуализацией с открытым исходным кодом. Он предоставляет единую платформу для управления службами и функциями, такими как KVM Hypervisor, Linux Containers (LXC), хранение и создание сетей. Кроме того, он поставляется с простым в использовании веб-интерфейсом управления, который обеспечивает полный контроль.

В этой статье объясняется установка Proxmox Virtual Environment на Debian 12, использующей Nginx в качестве обратного прокси для обслуживания интерфейса управления и обеспечения безопасности интерфейса управления с SSL-сертификатом.

Предпосылки

  • Сервер с Debian 12 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Обновите систему

Свежая установка Debian 12 требует обновления пакетов до последних доступных версий.

1
# apt update -y && apt upgrade -y

Измените имя хоста

  1. Установите имя хоста

Вы должны указать поддомен на свой сервер, используя запись. Один и тот же поддомен будет использоваться на протяжении всей статьи. Например, pve.example.com. Добавить имя хоста в /etc/hostname

1
# nano /etc/hostname

Перезаписывайте существующий контент с помощью поддомена и сохраняйте файл с помощью Ctrl + X, а затем Enter. Добавить имя хоста в /etc/hosts.

1
# nano /etc/hosts

Вставьте следующую строку ниже 127.0.0.1 localhost и сохраните файл с помощью Ctrl + X, а затем Enter.

1
127.0.0.1 pve.example.com

Перезагрузите сервер, чтобы все работало.

1
# reboot

Проверьте, совпадает ли имя хоста системы с вашим поддоменом.

1
# hostname

Убедитесь, что имя хоста системы соответствует 127.0.0.1.

1
# ping pve.example.com
  1. Добавите репозиторий

Добавить GPG ключ к ключу источников apt.

1
# wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

Редактировать /etc/apt/sources.list.

1
 # nano /etc/apt/sources.list

Добавьте следующую строку и сохраните файл с помощью Ctrl + X, а затем Enter.

1
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
  1. Обновите список пакетов.
1
# apt update

Установите Proxmox Virtual Environment

Установите пакет ifupdown2.

1
# apt install -y ifupdown2

Предупреждение: Установка пакета ifupdown2 может привести к прерыванию работы сети. Рекомендуется подключаться через веб-консоль, чтобы не потерять доступ в случае прерывания сети.

Установите Proxmox VE.

1
# apt install -y proxmox-ve open-iscsi

Перезагрузите сервер для загрузки с помощью ядра Proxmox.

1
# reboot

Проверьте установку

Откройте следующую ссылку в вашем веб-браузере, чтобы проверить, была ли установка успешной.

1
https://pve.example.com:8006

Вы можете войти в интерфейс управления, используя те же учетные данные, которые вы используете для SSH.

Установите и настройте Nginx с помощью TLS

Proxmox Backup Server по умолчанию использует самоподписанный SSL-сертификат, вы видите предупреждение о том, что доверенный сертификат не выдает SSL. Вы можете избежать предупреждения, используя Certbot для установки бесплатного SSL-сертификата Let’s Encrypt.

Установите Nginx и Certbot.

1
# apt install nginx certbot python3-certbot-nginx

Откройте порты HTTP, HTTPS в брандмауэре.

1
2
# ufw allow http
# ufw allow https

Создайте новый файл конфигурации Nginx.

1
# nano /etc/nginx/sites-available/pve.conf

Добавьте следующие строки в файл конфигурации.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
server {

    listen 80;
    server_name pve.example.com;

    proxy_redirect off;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade"; 
        proxy_pass https://localhost:8006;
        proxy_buffering off;
        client_max_body_size 0;
        proxy_connect_timeout  3600s;
        proxy_read_timeout  3600s;
        proxy_send_timeout  3600s;
        send_timeout  3600s;
    }
}

Замените pve.example.com своим доменным именем или поддоменным именем, указывающим на IP-адрес вашего сервера. Затем сохраните файл и выйдите из редактора.

Включите конфигурацию.

1
# ln -s /etc/nginx/sites-available/pve.conf /etc/nginx/sites-enabled/pve.conf

Проверка конфигурации и перезагрузите службу Nginx.

1
# nginx -t

Ожидаемый результат.

1
2
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезагрузить Nginx.

1
# systemctl reload nginx.service

Проверить доступность

Вы можете проверить, работает ли обратный прокси правильно или нет, открыв следующую ссылку в вашем веб-браузере.

1
http://pve.example.com

Ограничить прямой доступ. После того, как вы убедились, что ваш обратный прокси работает, вы можете изменить IP-адрес слушателя интерфейса управления, чтобы ограничить прямой доступ. Добавить IP-адрес слушателя в /etc/default/pveproxy.

Добавить IP-адрес слушателя в /etc/default/pveproxy.

1
# nano /etc/default/pveproxy

Вставьте следующую строку и сохраните файл с помощью Ctrl + X, а затем Enter.

1
LISTEN_IP="127.0.0.1"

Перезапуск сервиса pveproxy.

1
# systemctl restart pveproxy.service

Получите сертификат TLS от Let’s Encrypt

Мы будем использовать Let’s Encrypt для получения SSL-сертификата бесплатно. Пожалуйста, убедитесь, что вы указали свой поддомен на IP-адрес сервера. Шаги, приведенные ниже, будут работать только в том случае, если вы обслуживаете интерфейс управления с помощью Nginx.

1
# certbot certonly --nginx -d pve.example.com

Проверьте SSL

Откройте следующую ссылку в вашем веб-браузере для проверки.

1
https://pve.example.com

Следующая команда гарантирует, что Certbot может проверить ваш поддомен с помощью вашей конфигурации.

1
# certbot renew --dry-run

Если пробный запуск прошел без ошибок, все готово. Теперь процесс продления будет автоматизирован.

Завершение

В этой статье вы установили Proxmox Virtual Environment на Debian 12, использовали Nginx в качестве обратного прокси для интерфейса управления PVE и установили SSL-сертификат с использованием Certbot. Если вы новичок в виртуальной среде Proxmox и не знаете, как она работает, посетите официальную документацию Proxmox Virtual Environment.

Если вам понравился этот пост об установке Proxmox Virtual Environment на Debian 12, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.