====== 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:
* 512Mo - swap
* 20Go - monté sur /
* 933Go - monté sur /data
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".:
* cliquer sur "Enregistrement de compte" et préciser une adresse courriel d'enregistrement
* cliquer ensuite sur "Ajouter" pour ajouter le site HTTP "nouveau_proxmox.sleto.net"
* cliquer alors sur "commander un certificat" pour raffraichir les demandes.
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".://
* cliquer sur "Ajouter" et "Répertoire"
* définir un ID (ex: stockage) et le répertoire "/data", le contenu doit être au moins à "image disque"
==== 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:
* vmbr0 et vmbr1 seront les réseaux "linux bridge" utilisés par les VM // //
* vmbr0 permettra à la VM d'avoir une IP public (à prendre en plus chez Dedibox)// //
* vmbr1 permettra à la VM d'avoir qu'un IP interne au serveur Proxmox. idéal pour rediriger l'IP d'une VM vers une autre VM ayant une IP public.// //
* Notons que les post-up/post-down défini sur vmbr1, permet à se réseau d'avoir un point d'accès vers l'extérieur, via vmbr0 qui est lié à l'IP public du serveur Proxmox // //
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:
* Adresse IP du la VM: 10.10.8.x (avec x compris entre 2 et 254, unique entre toutes les VMs)\\
* Adresse passerelle (gateway) : 10.10.8.1 (l'adresse interne serveur Proxmox)\\
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