Post

Proxmox V9 - Lenovo ThinkCentre M93p 10AB

Proxmox V9 - Lenovo ThinkCentre M93p 10AB

Proxmox VE est une plate-forme open-source complète pour la virtualisation d’entreprise. Grâce à l’interface Web intégrée, vous pouvez facilement gérer les machines virtuelles, le stockage, la mise en réseau, …

Machine Lenovo ThinkCentre M93p


Lenovo ThinkCentre M93p 10AB (documentation)

  • Processeur Intel Core i7-4765T 2.00 GHz (jusqu’à 3.00 GHz en Turbo Boost/4 Core 8 Threads)
  • Carte vidéo intégrée Intel HD Graphics 4600
  • Mémoire RAM 16 Go DDR3 SO-DIMM 2x8Go
  • Disque SSD 1 To SATA 2,5”
  • Connexions :
    • Avant :
      • 2 x USB 3.0.
      • 1 x casque.
      • 1 microphone.
    • Arrière :
      • 3 x USB 2.0.
      • 1 x VGA (vidéo).
      • 1 x DisplayPort (audio et vidéo).
      • 1 port Ethernet LAN RJ-45 10/100/1000 Mbps
      • 1 alimentation (alimentation externe).
  • Intérieures:
    • 2 emplacements mémoire DDR3 SO-DIMM (disposition de la RAM variable).
    • 1 x SATA (occupé).
  • Dimensions de l’ordinateur : 17,9 x 18,2 x 3,5 cm.
  • Poids de l’ordinateur : 1,3 kg.

Connecter la machine sur le réseau 192.168.0.0/24

Proxmox

Proxmox V9.0: Modernisation générale de la base, avec un passage à Debian 13 (Trixie) et au noyau Linux 6.14.8 - 2 par défaut. Cette base s’accompagne de QEMU 10.0.2, de LXC 6.0.4 et d’OpenZFS 2.3.3.

Liens

Installation via ISO

Installer ISO sur clé usb /dev/sdx

1
sudo dd if=proxmox-ve_9.0-1.iso of=/dev/sdx bs=4M

Démarrer la machine Lenovo sur la clé USB et procéder à l’installation de Proxmox (F12 pour accès menu démarrage)

Interface : eno1
FQDN : pve.home.arpa
IP address: 192.168.0.215/24
Gateway: 192.168.0.254
DNS: 192.168.0.205

Redémarage à la fin de l’installation

Accès Web

Accès lien https://192.168.0.215:8006

Pour accéder à l’interface, connectez-vous en tant que root et fournissez le mot de passe que vous définissez lors de l’installation de Proxmox.

Une boîte de dialogue apparaît en disant qu’il n’y a pas d’abonnement valide pour le serveur. Proxmox offre un service complémentaire optionnel auquel vous pouvez vous abonner. Pour ignorer le message, cliquez sur OK.

En désactivant le dépôt «entreprise»

Créer un nouvel utilisateur

Accédez au shell: Si vous êtes connecté via SSH, vous êtes déjà dans le shell.
Si vous utilisez l’interface Web, accédez à la vue “Centre de données” et cliquez sur “Shell” dans le menu du haut.

Créer l’utilisateur:
Utiliser la commande useradd pour créer un nouvel utilisateur.

1
adduser leno

définir un mot de passe
confirmer le mot de passe

Pour créer un nouvel utilisateur dans Proxmox, procédez comme suit:

  • Connectez-vous à l’interface Web Proxmox.
  • Cliquez sur le nœud “Centre de données” dans la vue arborescence.
  • Sélectionnez l’onglet “Permissions –> Utilisateurs”. * Cliquez sur le bouton “Ajouter” pour créer un nouvel utilisateur. * Entrez les détails de l’utilisateur, y compris le nom d’utilisateur et l’adresse e-mail.
    • –> leno, leno@cinay.eu * “Mot de passe” pour le créer

Gestion des rôles d’utilisateur
Proxmox utilise le contrôle d’accès basé sur les rôles pour gérer les autorisations des utilisateurs. Voici les rôles intégrés dans Proxmox:

  • Administrateur: Accès complet à toutes les ressources et paramètres.
  • VM User: Accès limité pour gérer les machines virtuelles.
  • No Access: Pas d’accès à des ressources.

Vous pouvez également créer des rôles personnalisés avec des autorisations spécifiques adaptées à vos besoins.

  • Cliquez sur l’onglet “Permissions”.
  • Attribuez l’utilisateur aux rôles souhaités ou aux rôles personnalisés.


en root

Ajoutez la recherche d’historique de la ligne de commande au terminal
Se connecter en utilisateur debian
Tapez un début de commande précédent, puis utilisez shift + up (flèche haut) pour rechercher l’historique filtré avec le début de la commande.

1
2
3
# Global, tout utilisateur
echo '"\e[1;2A": history-search-backward' | tee -a /etc/inputrc
echo '"\e[1;2B": history-search-forward' | tee -a /etc/inputrc

OpenSSH avec clé

OpenSSH
OpenSSH

Générer une paire de clé sur l'ordinateur de bureau PC1
Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2) pour une liaison SSH avec le serveur.

1
2
ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/m93p-ed25519
chmod 600 /home/yann/.ssh/m93p-ed25519

Envoyer les clés publiques sur le serveur leno

1
ssh-copy-id -i ~/.ssh/m93p-ed25519.pub leno@192.168.0.215

On se connecte sur le serveur proxmox debian 13

1
ssh leno@192.168.0.215

Installer sudo

1
2
su -
apt install sudo

Supprimer l’accès root

1
nano /etc/ssh/sshd_config
1
PermitRootLogin no

Créer la configuration serveur SSH pour leno

1
nano /etc/ssh/sshd_config.d/leno.conf

Ajouter

1
2
Port = 55215
PasswordAuthentication no

Relancer le serveur

1
systemctl restart sshd

Connexion Proxmox via SSH depuis poste PC1

1
ssh -p 55215 -i ~/.ssh/m93p-ed25519 leno@192.168.0.215

Modifier le mot de passe root si nécessaire

1
2
sudo -s
passwd root

Motd
Effacer et créer motd

1
sudo rm /etc/motd && sudo nano /etc/motd
1
2
3
4
5
6
7
8
9
10
11
12
13
  _                                __  __  ___  ____      
 | |    ___  _ _   ___ __ __ ___  |  \/  |/ _ \|__ / _ __ 
 | |__ / -_)| ' \ / _ \\ V // _ \ | |\/| |\_, / |_ \| '_ \
 |____|\___||_||_|\___/ \_/ \___/ |_|  |_| /_/ |___/| .__/
  ___                                  __   __ ___  |_|   
 | _ \ _ _  ___ __ __ _ __   ___ __ __ \ \ / // _ \       
 |  _/| '_|/ _ \\ \ /| '  \ / _ \\ \ /  \ V / \_, /       
 |_|  |_|  \___//_\_\|_|_|_|\___//_\_\   \_/   /_/        
  _  ___  ___     _   __  ___     __     ___  _  ___      
 / |/ _ \|_  )   / | / / ( _ )   /  \   |_  )/ || __|     
 | |\_, / / /  _ | |/ _ \/ _ \ _| () |_  / / | ||__ \     
 |_| /_/ /___|(_)|_|\___/\___/(_)\__/(_)/___||_||___/     
                                                          

Accès root utilisateur

Autoriser l’accès root à l’utilisateur leno

1
2
su -
echo "leno     ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/leno

pve.home.arpa

Domaine local: pve.home.arpa
DNS: 192.168.0.205 Certificat: homearpaCA.crt

Copier le certificat

1
sudo cp homearpaCA.crt /usr/local/share/ca-certificates/

Mettre à jour le magasin de certificats :

1
sudo update-ca-certificates

Vérifier si le domaine est pris en charge: dig pve.home.arpa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; <<>> DiG 9.20.11-4-Debian <<>> pve.home.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61966
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;pve.home.arpa.			IN	A

;; ANSWER SECTION:
pve.home.arpa.		86400	IN	A	192.168.0.215

;; Query time: 0 msec
;; SERVER: 192.168.0.205#53(192.168.0.205) (UDP)
;; WHEN: Thu Nov 06 17:43:27 CET 2025
;; MSG SIZE  rcvd: 58

NFS Client

Configuration du client NFS sur Proxmox

1
sudo apt install nfs-common

Point de montage et lien

1
2
sudo mkdir -p /srv/sharenfs
sudo ln -s /srv/sharenfs $HOME/sharenfs

Ajouter les points de montage du serveur nfs: sudo nano /etc/fstab

1
192.168.0.205:/sharenfs	/srv/sharenfs nfs4 nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10s,rsize=8192,wsize=8192 0 0

Rechargement et montage

1
sudo systemctl daemon-reload && sudo mount -a

Certificats SSL

Local - pve.home.arpa

Autorité de certification home.arpa

Domaine home.arpa

Certificat domaine local home.arpa

1
2
sudo cp /mnt/pve/pve-share/homearpaCA.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

pve –> Certificats, Téléverser un certificat personnalisé
A partir d’un fichier clé:
A partir d’un fichier certificat:

On peut maintenant se connecter à la’adresse https://pve.home.arpa:8006 avec un certificat valide

Let’s Encrypt - pve.rnmkcy.eu (OPTIONNEL)

Objectif avoir un certificat valide lorsque l’on ce connecte à son proxmox

Installer let’s encrypt sur son serveur PROXMOX pour avoir un certificat valide, même si le serveur n’est pas sur internet en front.

Prérequis

  • Un nom domaine OVH : rnmkcy.eu qui pointe vers votre ip public
  • Un serveur PROXMOX, avec vos machines virtuelle accessible sur son lan via : https://192.168.0.215:8006

1 - Création d’un compte pour la génération des certificats

Centre de données –>ACME –> Comptes –> Ajouter

Créer un compte pour gérer les certificats sur notre serveur PROXMOX

2 - Création des clés OVH

Création d’une clé et d’un code secret pour une application : How to use OVH domain api

3 - Greffons de défi (plugin)

Ajouter les clés OVH dans PROXMOX : Dans le menu suivant : Centre de données –>ACME –> Greffons de défi –> Ajouter  

Identifiant du greffon : OVHAPI Délai de validation : on laisse par defaut API DNS : sélectionner OVH OVH_AK = coller l’ APPLICATION  KEY du site OVH réalisé ci-dessus OVH_AS = coller l’ APPLICATION  Secret du site OVH réalisé ci-dessus OVH_CK =  coller le  CONSSUMER KEY du site OVH réalisé ci-dessus OVH_END_POINT = laisser ovh-eu

4 - Activation du plugin ACME

Activation du plugin ACME qui vas utiliser les api OVH pour allé écrire dans les DNS OVH

pve –> Certificats –> ACME – > Ajouter

Type de défi : DNS
Greffon : Choisir le plugin précédemment créer
Domaine : positionner votre domaine ovh.

Générer le certificat maintenant

Attendre la fin de l’opération

On peut maintenant se connecter à la’adresse https://pve.rnmkcy.eu:8006 avec un certificat valide

ATTENTION: Le domaine pve.rnmkcy.eu pointe sur une adresse IPV6 UNIQUEMENT et si un VPN est actif sur le poste ou le navigateur, PAS DE CONNEXION POSSIBLE car les VPN sont IPV4

Trucs et astuces

Intégration du Stockage Distant dans Proxmox

  • Ajout d’un nouvel espace de stockage :
    • Dans l’interface Proxmox, rendez-vous dans « Centre de données » puis « Stockage ».
    • Cliquez sur le bouton « Ajouter » et choisissez le type « NFS ».
  • Paramétrage :
    • Donnez un nom à ce stockage (proxmox_sav).
    • Indiquez l’adresse IP de votre NAS et précisez le chemin d’exportation (soit automatiquement détecté, soit saisissez le chemin manuellement).
    • Sélectionnez les types de contenu à sauvegarder (fichiers de sauvegarde VZDump, images disque, conteneurs).
  • Validation : Une fois configuré, le stockage distant apparaîtra dans la liste de vos ressources, prêt à recevoir vos backups.

Firefox - Consoles NOVNC Proxmox

corriger le layout clavier azerty

Quand on utilise Firefox (ou ses forks), avec l’activation d’options renforçant la sécurité, quand on lance un bureau dans le navigateur web, on se retrouve avec un clavier en qwerty bien que le système hôte et le système invité sont bien en disposition azerty.

Problème constaté avec Proxmox et les consoles NoVNC
Le problème est lié au paramétrage de protection contre le Fingerprinting.

Deux solutions possibles :

  1. Désactiver le paramétrage ResistFingerprinting
    • Ajouter des exceptions dans le ResistFingerprinting

Firefox, option non disponible dans l’interface graphique

1
about:config

Il est possible (mais c’est un peu brutal) de désactiver ResistFingerprinting en passant la clé privacy.resistFingerprinting à false :

Le mieux, c’est de laisser la clé privacy.resistFingerprinting à true et d’ajouter les sites problématiques dans la clé privacy.resistFingerprinting.exemptedDomains

Les domaines ajoutés, séparés par une virgule: *.home.arpa, *.rnmkcy.eu

Le clavier est en azerty (pas besoin de redémarrer Firefox)

Importer un fichier ISO dans Proxmox

Afin de pouvoir installer les systèmes d’exploitation sur nos différentes machines virtuelles, nous devons au préalable télécharger les images système (ISO) et les importer dans Proxmox.

Les fichiers ISO sont stockés dans le dossier /var/lib/vz/template/iso/

Pour cela, Proxmox dispose d’un élément assez sympa je trouve, une sorte de banque où seront stockés toutes vos images. Procédez comme ceci :

Sélectionnez votre nœud puis le stockage (local, dans notre cas).

Cliquez sur “ISO Images”, puis sur le bouton “Upload” et recherchez l’image à importer sur votre disque local.


Répéter l’opération autant de fois que nécessaire selon la quantité d’images ISO à importer, la seule limite c’est votre espace de stockage.
Les fichiers ISO sont stockés dans le dossier /var/lib/vz/template/iso/

Bridge vmbr1

Branchement d’un adaptateur USB/Ethernet sur un port USB3 de la machine Lenovo M93p

Lien ethernet: enx00e04c053bb8
L’activer: ip link set enx00e04c053bb8 up Visualiser: ip link show enx00e04c053bb8

1
2
29: enx00e04c053bb8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:4c:05:3b:b8 brd ff:ff:ff:ff:ff:ff

Ajout du contenu suivant à la configuration réseau /etc/network/interfaces

1
2
3
4
5
6
7
8
9
iface enx00e04c053bb8 inet manual

auto vmbr1
iface vmbr1 inet static
	address 192.168.10.165/24
	gateway 192.168.10.1
	bridge-ports enx00e04c053bb8
	bridge-stp off
	bridge-fd 0

Redémarrer le service réseau: systemctl restart networking
Vérifier: ``

1
2
3
4
5
6
31: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:e0:4c:05:3b:b8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.165/24 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:4cff:fe05:3bb8/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

Annexe

Réseau IPV6

FreeBox
Se connecter sur la freebox, paramètres avancés -> Configuration IPV6
Relever Adresse IPv6 lien local: fe80::8e97:eaff:fe39:66d6
Le préfixe principal ipv6: 2a01:e0a:9c8:2080::/64

Ip V6 statique

Route de lien local. Avec le protocole IPv6, la notion de trafic de diffusion (broadcast) disparaît. C’est le trafic anycast associé au Neighbor Discovery Protocol qui permet de contacter les hôtes du voisinage réseau. Pour que les messages ICMPv6 du protocole NDP puissent être échangés, il est nécessaire de disposer d’une route vers le réseau auquel une interface active est raccordé. Cette route utilise toujours le préfixe fe80::/64.

Relever la route de lien local IPV6: ip address show vmbr0 |grep "inet6 fe80"
inet6 fe80::223:24ff:fe6b:52ff/64 scope link proto kernel_ll

On en déduit l’adresse IPV6 statique:
Le préfixe principal ipv6 + la route de lien local IPV6 2a01:e0a:9c8:2080: + 223:24ff:fe6b:52ff

Installer proxmox avec ipv6

pve –> Réseau –> vmbr0 –> Editer

IPv6/CIDR: 2a01:e0a:9c8:2080:223:24ff:fe6b:52ff/64
Passerelle Ipv6: fe80::8e97:eaff:fe39:66d6

Puis cliquer sur “Appliquer la configuration”

https://[2a01:e0a:9c8:2080:223:24ff:fe6b:52ff]:8006

Authentification

Authentification 2FA TOTP

Se connecter à l’interface Web Proxmox avec utilisateur “leno”

Ajout authentification à 2 facteurs
“Centre de données,Permissions et Double Facteur, Ajouter” Code TOTP

  1. choix utilisateur: leno@pam
  2. Description: Authentification 2FA TOTP
  3. scanner le code avec application mobile AEGIS ou copier le secret dans l’application keepssxc
  4. Sair le code TOTP et le mot de passe


Authentification TOTP ajouter à l’utilisateur leno

Authentification WebAuthn

vous devrez avoir une instance Proxmox qui a un certificat SSL attaché.

Configuration des paramètres WebAuthn
Mettre à jour les paramètres WebAuthn. Accés: “Centre de données > Options” pve-webauthn01.png


Si vous accédez correctement à Proxmox via un domaine, vous pouvez appuyer sur “Remplissage automatique” pour remplir vos coordonnées sinon saisir le lien dans “Origine” avant.
Ensuite, appuyez sur OK.

“Centre de données,Permissions et Double Facteur, Ajouter” WebAuthn

Sur Keepassxc

Cliquer sur Enregistrer

Résultat

Authelia OpenID (INOPERANT)

Authelia base LLDAP

  • Ajouter un groupe proxmox
  • Créer utilisateur leno et l’ajouter un groupe proxmox

Se connecter sur le serveur cwwk qui héberge authelia

Créer le secret

1
authelia crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986

Résultat commande ci-dessus

1
2
Random Password: bSrrtuz..........dzRcL
Digest: $pbkdf2-sha512$31..............o51CBQ

Configuration authelia
Authelia OpenID Proxmox

Editer la configuration authelia /etc/authelia/configuration.yml
Se rendre dans la rubrique oidc clients

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
identity_providers:
  oidc:

    clients:

# ajouter ce qui suit

      - client_id: 'proxmox'
        client_name: 'Proxmox'
        client_secret: '$pbkdf2-sha512$310...yp4UgmIN1/fBbmXGJuA'  # The digest of 'insecure_secret
        public: false
        authorization_policy: 'two_factor'
        require_pkce: true
        pkce_challenge_method: 'S256'
        redirect_uris:
          - 'https://pve.home.arpa:8006'
        scopes:
          - 'openid'
          - 'profile'
          - 'email'
          - 'groups'
        response_types:
          - 'code'
        grant_types:
          - 'authorization_code'
        access_token_signed_response_alg: 'none'
        userinfo_signed_response_alg: 'none'
        token_endpoint_auth_method: 'client_secret_basic'

Redémarrer authelia: sudo systemctl restart authelia

Web GUI

Configurer Proxmox Virtual Environment pour utiliser Authelia en tant que fournisseur OpenID Connect

  1. Centre de données
  2. Permissions
  3. Royaumes
  4. Ajouter un “serveur OpenID Connect”
  5. Configurez les options suivantes:
    • URL de l’émetteur: https://auth.example.com
    • Royaume: authelia
    • ID du client: proxmox
    • Clé du client: insecure_secret
    • Demande de nom d’utilisateur: Default (subject)
    • Champs d’application: openid email profile groups
    • Autocréer des utilisateurs: Activez si vous souhaitez que les utilisateurs soient automatiquement créés dans [Proxmox].
    • Autocréer des groupes: Activez si vous voulez que les groupes soient automatiquement créés dans [Proxmox].
    • Revendication de groupes: Réglé sur groupspour ajouter des utilisateurs à des groupes proxmox existants.

Sauvegarde Proxmox

En mode su

Ajouter un partage NFS au serveru proxmox

1
2
mkdir /srv/proxmox
chown 1000:1000 /srv/proxmox

Ajouter la ligne suivante au fichier /etc/fstab

1
192.168.0.205:/srv/proxmox	/srv/proxmox nfs4 nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10s,rsize=8192,wsize=8192 0 0

Recharger et monter

1
2
systemctl daemon-reload
mount -a

Configurer l’espace de stockage distant sous Proxmox
Passons à présent sous l’interface d’administration de Proxmox, dans Centre de données, puis Stockage. Dans ce menu, créez un nouvel espace de stockage via le bouton Ajouter et sélectionnez Répertoire.

Configurer la sauvegarde distante des machines virtuelles Proxmox
Centre de données –> Sauvegarde

  • noeud: pve
  • stockage: bkp_proxmox

Rétention
Appliquez à votre job de sauvegardes une stratégie de rétention, pour ma part j’applique la même stratégie que pour les sauvegardes locales.

Maintenance

Intel NIC e1000e hardware unit hang

Plantage du réseau , il est inaccessible

1
Nov 25 09:17:44 pve kernel: e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:

Intel e1000e NIC Déchargement Fix
Ce script automatise le processus de désactivation des fonctionnalités de déchargement de la carte d’interface réseau (NIC) spécifiquement pour les interfaces réseau Intel e1000e sur les systèmes Linux.

Pour utiliser le script Intel e1000e NIC Offloading Fix, exécutez la commande ci-dessous only dans le Proxmox VE Shell. Ce script est destiné à gérer ou améliorer directement le système hôte.

1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/nic-offloading-fix.sh)"
Cet article est sous licence CC BY 4.0 par l'auteur.