PROXMOX - Quelques infos
Table des matières
Proxmox Virtual Environment (PVE) est une solution de virtualisation libre basée sur l'hyperviseur Linux KVM, et offre aussi une solution de containers avec LXC.
C'est une solution de virtualisation de type "bare metal". La base du système est une distribution Debian. C'est un équivalent à la solution ESX de VMware.
Par défaut, quand on est en mode communautaire, à chaque connexion, cette pop-up s'affiche :
Cette pop-up est générée par du Javascript mais est réglé dans un fichier PERL : /usr/share/perl5/PVE/API2/Subscription.pm
Il suffit d'éditer ce fichier :
Chercher la ligne contenant ceci (environ à la ligne 117 sur Proxmox 7.3) :
Et de placer la variable status à Active :
Déconnectez-vous, et relancez pve-proxy :
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
Astuce : Voici la commande onliner à lancer dans un shell si vous voulez (car à chaque mise à jour du paquet de proxmox, le fichier PERL sera réinitialisé) :
Si vous êtes dans un contexte entreprise et que Proxmox est utilisé comme environnement de développement, vous pouvez vouloir ne pas user autant d'IP que vous avez de machines. L'IP de Proxmox est 10.21.27.97 dans mon cas (dans le réseau 10.21.27.0/24). 10.21.27.97 est l'IP du pont vmbr0 créé à l'installation.
Créez un deuxième pont réseau (vmbr1) sur une deuxième carte réseau de votre serveur. Mettez l'IP et le masque de votre choix. Ne saisissez pas de passerelle (Proxmox fera routeur)
Ici, je créé le pont vmbr1 depuis l'interface de Proxmox sur la carte eno3 de mon serveur HP, ce qui me génère ce fichier de config :
On ajoute au fichier de config 2 instructions post-up pour activer le routage et le NAT :
Éventuellement, une règle pour supprimer le NAT :
Ensuite redémarrez le réseau (ou le serveur).
Il reste 2 choix à votre disposition pour que vos machines communiquent avec Internet et que vous puissiez vous y connecter depuis votre LAN :
1 - Ajouter une route dans votre routeur vers votre réseau Proxmox, avec comme passerelle Proxmox lui même.
Ici : 172.21.27.0/24 contacter 10.21.27.97
L'avantage c'est que vous joignez vos machines comme si elles étaient sur votre LAN. Vous n'avez pas aussi à créer un VLAN supplémentaire.
L'inconvénient c'est qu'il faut avoir la main sur le routeur, sauf si vous administrez votre routeur aussi.
2 - Faire que des redirections de ports sur Proxmox : http://proxmox:8080 redirige sur 172.21.27.100 port 80 par exemple :
Pour supprimer les règles :
L'avantage est que vous n'avez pas besoin de solliciter l'administrateur réseau, ni faire quoi que ce soit sur le routeur.
L'inconvénient est que si vous avez plusieurs serveurs web, vous devez jouer avec les ports, et que vous devez faire 1 règle par service à rediriger.
Dans mon cas, j'ai pris la solution numéro 1 car je n'ai pas envie de jouer avec les ports et je suis également l'administrateur du réseau de la société en plus d'y être l'administrateur système.
Quand vous créez une VM, utilisez le pont vmbr1 si vous voulez votre VM dans votre réseau privé Proxmox. vmbr0 crééra une VM sur le LAN.
Il reste évidemment à mettre un serveur DHCP sur Proxmox ou créer un conteneur avec un serveur DHCP si vous ne voulez pas utiliser que des IP Fixes.
Un tutoriel a été rédigé ici : https://www.linuxtricks.fr/wiki/proxmox-activer-les-mises-a-jour-sans-licence-no-subscription
Il est possible d'ajouter des templates de conteneurs en plus sur Proxmox.
Les templates par défaut sont assez réduits.
Les templates supplémentaires au bon format se trouvent ici : http://download.proxmox.com/images/system/
Si l'affichage indique Guest has not initialized the display alors que la machine est en UEFI, modifier dans Hardware la valeur de Machine sur q35.
Introduction
Proxmox Virtual Environment (PVE) est une solution de virtualisation libre basée sur l'hyperviseur Linux KVM, et offre aussi une solution de containers avec LXC.
C'est une solution de virtualisation de type "bare metal". La base du système est une distribution Debian. C'est un équivalent à la solution ESX de VMware.
Désactiver le message You do not have valid subscription
Par défaut, quand on est en mode communautaire, à chaque connexion, cette pop-up s'affiche :
Cette pop-up est générée par du Javascript mais est réglé dans un fichier PERL : /usr/share/perl5/PVE/API2/Subscription.pm
Il suffit d'éditer ce fichier :
Chercher la ligne contenant ceci (environ à la ligne 117 sur Proxmox 7.3) :
Code PERL :
status => "notfound",
Et de placer la variable status à Active :
Code PERL :
status => "active",
Déconnectez-vous, et relancez pve-proxy :
Code BASH :
systemctl restart pveproxy.service
Rafraîchissez la page via Ctrl+F5 pour ignorer le cache du navigateur.
Reconnectez-vous et constatez que le message a disparu.
Astuce : Voici la commande onliner à lancer dans un shell si vous voulez (car à chaque mise à jour du paquet de proxmox, le fichier PERL sera réinitialisé) :
Code BASH :
sed -i.bak 's/notfound/active/g' /usr/share/perl5/PVE/API2/Subscription.pm && systemctl restart pveproxy.service
Mettre vos machines proxmox en NAT
Si vous êtes dans un contexte entreprise et que Proxmox est utilisé comme environnement de développement, vous pouvez vouloir ne pas user autant d'IP que vous avez de machines. L'IP de Proxmox est 10.21.27.97 dans mon cas (dans le réseau 10.21.27.0/24). 10.21.27.97 est l'IP du pont vmbr0 créé à l'installation.
Créez un deuxième pont réseau (vmbr1) sur une deuxième carte réseau de votre serveur. Mettez l'IP et le masque de votre choix. Ne saisissez pas de passerelle (Proxmox fera routeur)
Ici, je créé le pont vmbr1 depuis l'interface de Proxmox sur la carte eno3 de mon serveur HP, ce qui me génère ce fichier de config :
Code BASH :
auto vmbr1
iface vmbr1 inet static
address 172.21.27.254
netmask 255.255.255.0
bridge-ports eno3
bridge-stp off
bridge-fd 0
On ajoute au fichier de config 2 instructions post-up pour activer le routage et le NAT :
Code BASH :
post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '172.21.27.0/24' -o vmbr0 -j MASQUERADE
Éventuellement, une règle pour supprimer le NAT :
Code BASH :
post-down iptables -t nat -D POSTROUTING -s '172.21.27.0/24' -o vmbr0 -j MASQUERADE
Ensuite redémarrez le réseau (ou le serveur).
Il reste 2 choix à votre disposition pour que vos machines communiquent avec Internet et que vous puissiez vous y connecter depuis votre LAN :
1 - Ajouter une route dans votre routeur vers votre réseau Proxmox, avec comme passerelle Proxmox lui même.
Ici : 172.21.27.0/24 contacter 10.21.27.97
L'avantage c'est que vous joignez vos machines comme si elles étaient sur votre LAN. Vous n'avez pas aussi à créer un VLAN supplémentaire.
L'inconvénient c'est qu'il faut avoir la main sur le routeur, sauf si vous administrez votre routeur aussi.
2 - Faire que des redirections de ports sur Proxmox : http://proxmox:8080 redirige sur 172.21.27.100 port 80 par exemple :
Code BASH :
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 172.21.27.100:80
Pour supprimer les règles :
Code BASH :
iptables -t nat -D PREROUTING -p tcp --dport 22100 -j DNAT --to-destination 172.21.27.100:22
L'avantage est que vous n'avez pas besoin de solliciter l'administrateur réseau, ni faire quoi que ce soit sur le routeur.
L'inconvénient est que si vous avez plusieurs serveurs web, vous devez jouer avec les ports, et que vous devez faire 1 règle par service à rediriger.
Dans mon cas, j'ai pris la solution numéro 1 car je n'ai pas envie de jouer avec les ports et je suis également l'administrateur du réseau de la société en plus d'y être l'administrateur système.
Quand vous créez une VM, utilisez le pont vmbr1 si vous voulez votre VM dans votre réseau privé Proxmox. vmbr0 crééra une VM sur le LAN.
Il reste évidemment à mettre un serveur DHCP sur Proxmox ou créer un conteneur avec un serveur DHCP si vous ne voulez pas utiliser que des IP Fixes.
Permettre les mises à jour de Proxmox
Un tutoriel a été rédigé ici : https://www.linuxtricks.fr/wiki/proxmox-activer-les-mises-a-jour-sans-licence-no-subscription
Ajouter des templates conteneurs
Il est possible d'ajouter des templates de conteneurs en plus sur Proxmox.
Les templates par défaut sont assez réduits.
Les templates supplémentaires au bon format se trouvent ici : http://download.proxmox.com/images/system/
Guest has not initialized the display en UEFI
Si l'affichage indique Guest has not initialized the display alors que la machine est en UEFI, modifier dans Hardware la valeur de Machine sur q35.