% Installation de proxmox
Install Proxmox VE on Debian 12 Bookworm - Proxmox VE
Proxmox requiert une configuration réseau avec IP statique
On récupère les informations données par le DHCP avec les commandes ip a (équivalente à ip addr show) et ip r (équivalente à ip route show)
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 4c:72:b9:20:ac:9e brd ff:ff:ff:ff:ff:ff
altname eno1
altname enp0s25
inet 188.165.235.71/24 brd 188.165.235.255 scope global dynamic eth0
valid_lft 63054sec preferred_lft 63054sec
inet6 fe80::4e72:b9ff:fe20:ac9e/64 scope link
valid_lft forever preferred_lft forever
La sortie précédente nous indique:
188.165.235.71eth0altname): eno1 et enp0s25188.165.235.255/24$ ip r
default via 188.165.235.254 dev eth0
188.165.235.0/24 dev eth0 proto kernel scope link src 188.165.235.71
La sortie précédente nous indique:
188.165.235.254188.165.235.0Le DNS est donné par cat /etc/resolv.conf:
nameserver 213.186.33.99
/etc/network/interfacessudo cp /etc/network/interfaces /etc/network/interfaces.restore
/etc/network/interfacesiface eth0 inet static
address 188.165.235.71
alias eno1 enp0s25
gateway 188.165.235.254
network 188.165.235.0
netmask 255.255.255.0
broadcast 188.165.235.255
dns-nameservers 213.186.33.99 208.67.222.123
/etc/network/interfacessudo ifup --no-act eth0
En cas de problème avec le fichier /etc/network/interfaces, on perdra la connexion réseau. Une possibilité est de redémarrer le serveur en mode Rescue, mais avec un temps d'attente qui peut être assez long.
Pour éviter tout problème, on va plutôt installer un script dans le crontab de root. Ce script redémarrera la machine au bout de 5 minutes en cas de problème réseau, avec les anciens paramètres.
$ sudo su -
root@server:~# mkdir bin
root@server:~# nano bin/restore_network
Y placer le code suivant:
#!/bin/bash
# Vérifier si la machine peut accéder à Internet
check_network() {
ping -c 1 8.8.8.8 >/dev/null 2>&1
return $?
}
# Chemins des fichiers
INTERFACES_FILE="/etc/network/interfaces"
RESTORE_FILE="/etc/network/interfaces.restore"
# Fonction principale
main() {
if check_network; then
echo "Le réseau est fonctionnel. Aucune action nécessaire."
else
echo "Le réseau n'est pas fonctionnel. Restauration du fichier interfaces..."
if [ -f "$RESTORE_FILE" ]; then
cp "$RESTORE_FILE" "$INTERFACES_FILE"
echo "Fichier restauré avec succès."
echo "Redémarrage des interfaces réseau..."
ifdown -a && ifup -a
echo "Les interfaces réseau ont été redémarrées."
else
echo "Le fichier $RESTORE_FILE n'existe pas. Impossible de restaurer."
exit 1
fi
fi
}
# Appel de la fonction principale
main
chmod +x bin/restore_network
sudo ifdown eth0 ; sudo ifup eth0
Il faut ajouter une ligne au fichier /etc/hosts et qui correspond au nom de la machine.
188.165.235.71 ecaz.aezi.fr ecaz
On vérifie qu'au moins une adresse (hors boucle locale) est affichée par la commande suivante:
hostname --ip-address
Exemple:
127.0.1.1 188.165.235.71
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-install-repo.list
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
Vérification
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg > downloaded.txt ; echo "7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg" > expected.txt ; diff downloaded.txt expected.txt && echo OK || echo KO ; rm downloaded.txt expected.txt
Devrait afficher OK
sudo apt update && sudo apt full-upgrade
proxmoxsudo apt install proxmox-default-kernel
Redémarrer
sudo shutdown -r now
Installation des paquets complémentaires:
sudo apt install proxmox-ve postfix open-iscsi chrony
postfixInternet siteecaz.aezi.frproxmoxSuppression du noyau Debian:
sudo apt remove linux-image-amd64 'linux-image-6.1*'
sudo update-grub
Suppression du paquet os-prober:
sudo apt remove os-prober
Pour permettre le tunnelling, on édite le fichier /etc/ssh/sshd_config et on positionne à yes les options suivantes:
GatewayPorts yes
PermitTunnel yes
Redémarrer le service ssh:
sudo systemctl restart ssh
La commande la plus simple pour créer un tunnel redirigeant le port local 8006 vers le port distant du serveur proxmox n°8006 est:
ssh -L 8206:localhost:8006 ecaz
Cependant, ceci ouvre une session Shell.
Pour ouvrir le tunnel sans ouvrir une session dans le terminal on va plutôt utiliser:
ssh -f -N -T -L 8206:localhost:8006 ecaz
Après avoir ouver le tunnel, se connecter avec son navigateur à l'adresse suivante: https://localhost:8206
Accepter les risques de sécurité (tout passe par le tunnel SSH, donc les communications sont chiffrées entre votre poste de travail et le serveur)
:::warning
Si vous êtes sur un ordinateur public, n'acceptez pas les risques et utilisez un ordinateur personnel.
:::
Se connecter avec l'utilisateur root (GNU/Linux) du serveur. S'il n'a pas de mot de passe, il faut lui en créer un.
sudo echo "Ensure sudo password is entered"
sudo su - <<EOF
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.original
sed -Ezi.bak "s/(function\(orig_cmd\) \{)/\1\n\torig_cmd\(\);\n\treturn;/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
EOF
Source: Remove Proxmox Subscription Notice (Tested to 8.2) | McLaren Data Systems