Table des matières

Serveur Proxmox

Présentation d'installation d'un serveur Proxmox VE sur Debian 12.
Le but de cette présentation est de faire un retour d'expérience sur l'installation d'un serveur Proxmox sur un hébergement Dedibox.
La machine hote est un “Intel® Xeon E5 1410v2” avec 64 Go de RAM et 2x1To en SSD (RAID0).

Installation de Debian

Dedibox ne propose pas d'installation ISO de Proxmox.
C'est pour cela que je suis partie d'une base d'un Debian 12.
A l'installation de la Debian, j'ai créé 3 partition:

20Go sont suffisant pour l'installation de Debian et de Proxmox.
La partition monté sur “/data” servira à stocker les images des VM

Je modifie alors mon DNS pour faire pointer cette nouvelle machine sur un domaine de type: nouveau_proxmox.sleto.net

Installation de Proxmox

Explication réalisé d'après https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm

Je commence par ajouter le repository de “Proxmox VE”:

echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg 

Puis raffraichir les packages:

apt update && apt full-upgrade

Ensuite on commmence par installer la partie noyau de Proxmox:

apt install proxmox-default-kernel

Et on reboot le serveur.

Une fois redémmarré, on peux installer Proxmox VE

apt install proxmox-ve postfix open-iscsi chrony

Et pour terminer l'installation, on supprime l'ancien kernel inutile, on raffraichi le grub et même on supprime os-prober qui peux être perturbé par les VM:

apt remove linux-image-amd64 'linux-image-6.1*'
update-grub
apt remove os-prober

Et je reboot mon serveur pour finaliser mon installation.

Configuration de Proxmox

Partie réalisée en s'inspirant de https://wiki.picasoft.net/doku.php?id=technique:infrastructure:install_proxmox et des articles suivants.

SSL

Arrivé à ce stade, on doit pouvoir se connecter à l'interface web d'administration Proxmox sur https://nouveau_proxmox.sleto.net:8006 en utilisant le compte “root” Cette accès s'est fait via une connection https auto-signé. On va donc commencé par récupérer un certificat SSL auprès de Let's Encrytion. Pour cela, aller dans le menu “Système > certificat” de “Centre de données > nouveau_proxmox”.:

En raffraichissant le navigateur, on verifie alors que la connexion https est sécurisée.

stockage

Un autre point important à configurer: la zone de stockage des images VM Pour cela, aller dans le menu “Stockage” de “Centre de données”.:

Réseau dans Proxmox

Procedure réalisée avec l'aide de Fabrice, alias 12b (https://distrilab.fr), merci à lui.

Il est nécessaire de faire l'état des lieux du réseau actuel et de l'adapter à notre besoin. Par défaut, Dedibox propose 2 cartes réseaux (eno1 et eno2). La première est lié à l'IP public (dans notre exemple xxx.yyy.zzz.123 et MAC adresse AA:BB:CC:DD:EE:FF) et d'une IP interne au réseau Dedibox (utilisé si on a plus serveur chez eux).

On va donc modifié la configuration “/etc/network/interfaces” ainsi:

auto lo
iface lo inet loopback

iface eno1 inet manual

auto eno2
iface eno2 inet dhcp

auto vmbr0
iface vmbr0 inet static
  address xxx.yyy.zzz.123
  hwaddress AA:BB:CC:DD:EE:FF
  netmask 255.255.255.255
  gateway xxx.yyy.zzz.1
  pointopoint xxx.yyy.zzz.1
  bridge_hw eno1
  bridge-ports  eno1
  bridge-stp off
  bridge-fd 0
  bridge_hello 2
  bridge_maxage 12


auto vmbr1
iface vmbr1 inet static
  address  10.10.8.1/24
  bridge-ports none
  bridge-stp off
  bridge-fd 0
  
  post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
  post-up   iptables -t nat -A POSTROUTING -s '10.10.8.0/24' -o vmbr0 -j MASQUERADE
  post-down iptables -t nat -D POSTROUTING -s '10.10.8.0/24' -o vmbr0 -j MASQUERADE

Explication:

On finalise cette configuration via la commande:

service networking restart

Enfin, on rajoute les réseaux “linux bridge” dans la configuration Proxmox via le menu “Système > Réseau” de “Centre de données > nouveau_proxmox”.

Créer une VM sans IP Public

Il faut commencer par créer classiquement une VM
Picasoft l'explique très bien sur leur article https://wiki.picasoft.net/doku.php?id=technique:infrastructure:vm (merci à eux).

La particularité de notre cas et la configuration réseau.
Déjà, au moment du choix de la configuration “network”, sélectionnez le bridge “vmbr1” qui correspond au réseau interne à Proxmox.
Puis, lancer l'installation de son Linux. Dans l'installation, une demande de configuration réseau apparait, choisir “manuel” et indiquer directement la configuration:

Une fois l'installation terminé, il est possible de modifié la configuration réseau en éditant /etc/network/interface avec :

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens18
iface ens18 inet static
	address 10.10.8.X/24 # remplacer le X pour votre adresse IP
	gateway 10.10.8.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 51.159.69.156 51.159.69.162 # DNS habituel pour Dedibox
	dns-search sleto.net

Créer une VM avec IP Public

Pour une VM avec IP Public, il faut procéder pratiquement comme avant.
La particularité est de devoir ajouter un nouveau “linux bridge” à “vmbr0” cette VM dans la partie matériel.

Et bien sûr, vu que l'on veux une IP Public, il faut en acheté une auprès de Dedibox, puis l'associer à votre serveur et enfin lui attribuer une adresse MAC.
Cette adresse MAC devra être reportée dans la configuration réseau de la VM, sur le bridge vmbr0.

Une fois la VM installée, modifier configuration réseau de /etc/network/interface :

# The loopback network interface
auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
        address YYY.YYY.YYY.YYY/24 # IP public donnée par Dedibox
        gateway 62.210.0.1 # passerelle par défaut de Dedibox
        dns-nameservers 51.159.69.156 51.159.69.162 # DNS habituel pour Dedibox
        dns-search sleto.net

# The primary network interface
allow-hotplug ens19
iface ens19 inet static
	address 10.10.8.X/24 # remplacer le X pour votre adresse IP
	gateway 10.10.8.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 51.159.69.156 51.159.69.162 # DNS habituel pour Dedibox
	dns-search sleto.net

et relancer la configuration réseau:

service network restart