Outils pour utilisateurs

Outils du site


nethserver_201_cahier_06_proxmox



Description générale

Introduction

Ce document présente l'installation de l'environnement de virtualisation Proxmox VE.

L'environnement de virtualisation Proxmox VE, basé sur la distribution Debian, est livré sur un CD-ROM d'installation qui comprend un système Debian complet, un noyau Linux spécialement modifié et tous les paquets PVE nécessaires.

L'installateur vous pose seulement quelques questions, partitionne le(s) disques locaux, installe tous les paquetages requis et configure le système comprenant une configuration réseau de base. Vous pouvez obtenir un système entièrement fonctionnel en quelques minutes.

Alternativement, PVE peut être installé sur un système Debian existant. Cette option n'est seulement recommandée qu'aux utilisateurs avancés, car des connaissances détaillées sont nécessaires.

VirtualBox

Habituellement, l'installation de PVE s'effectue sur une machine qui lui est complètement dédiée. Vu que nous voulons seulement nous familiariser avec le comportement de cet environnement, nous allons commencer par l'installer sur une machine virtuelle sous VirtualBox. Une fois maîtrisées, nous allons répéter les mêmes procédures sur une machine physique dédiée à PVE.
Vous pourrez vérifier les modifications à l'environnement PVE sur la machine virtuelle avant de les implémenter sur la machine physique.

Mise en garde

L'installation de machines virtuelles dans PVE roulant sous VirtualBox est excessivement lente, car il existe deux niveaux de virtualisation: un pour VirtualBox et un autre pour PVE. Une installation NethServer sur un serveur virtuel PVE roulant sous VirtualBox prend plus d'une heure tandis que sur un serveur PVE physique, elle ne prend qu'environ vingt minutes.

Nous recommandons cet environnement uniquement pour la vérification des changements de configuration de PVE.

Proxmox Virtual Environment

Virtualisation LIBRE (licence GNU Affero General Public License, version 3) basée sur l'hyperviseur Linux KVM offrant aussi une solution de Conteneurs avec LXC.

PVE fourni par Proxmox Server Solutions GmbH est une solution de virtualisation de type “bare metal”.

L'installateur (basé sur Debian) configure:

  1. le système d'exploitation (Debian Stretch 64 bits),
  2. le partitionnement de disques durs avec LVM2,
  3. le support de LXC (conteneurs) et le module KVM (virtualisation complète),
  4. les outils de sauvegarde et de restauration,
  5. l'interface Web d'administration et de supervision, etc…

Les fonctions de grappe permettent la migration à chaud des machines virtuelles, d'un serveur physique à un autre serveur. (À condition d'utiliser un stockage partagé SAN ou Ceph sinon, la migration entraîne une courte interruption lors du redémarrage sur un autre nœud de la grappe).

L'installation du système depuis le CD formate le disque dur et entraîne la suppression complète des données qui pourraient y être présentes. Cependant, étant donné que PVE repose sur une distribution Debian, il est tout à fait possible de l'installer à partir de paquetages sur une machine existante, sans pour autant perdre ses données.

Caractéristiques

PVE propose deux types de virtualisation.

  1. Virtualisation matérielle (ou complète) - KVM: permettant la virtualisation de tout système d'exploitation sur des processeurs d'architectures x86_64 disposant des technologies Intel VT ou AMD-V.
  2. Virtualisation par conteneurs - LXC: permettant la création d'instances isolées de système d'exploitation (Linux uniquement) appelées Serveurs Privés Virtuels (VPS), Environnements Virtuels (VE) ou Conteneurs. Cette solution est plus performante (consomme moins de ressources) qu'une virtualisation matérielle du fait du peu de temps système requis.

Système requis

Pour des services en mode production, il est fortement recommandé d'utiliser des serveurs modernes.
Comme toute technologie de virtualisation, un problème touchant une machine physique affectera toutes les machines virtuelles installées sur celle-ci. Ce risque est cependant atténué par l'utilisation de la haute disponibilité (HA) offerte depuis la version 2.0. En effet, PVE supporte les grappes et signifie que des installations multiples de PVE peuvent être centralisées et contrôlées par l'intermédiaire de la fonction Cluster, incluse dans l'interface d'administration du logiciel.

PVE peut utiliser le stockage local (DAS), SAN, NAS et également le stockage distribué (Ceph RBD), voir le chapitre 8, Proxmox VE Storage du guide https://pve.proxmox.com/pve-docs/pve-admin-guide.pdf.

Depuis la version 1.5, il est désormais possible d'utiliser des disques iSCSI pour stocker les machines virtuelles permettant ainsi d'assouplir le fonctionnement en grappe. D'autres types de stockage sont utilisables tel NFS.

Système minimum requis

  1. CPU 64 bits (Intel EM64T ou AMD64).
  2. Carte-mère et BIOS compatible Intel VT/AMD-V (pour le support de la virtualisation par KVM).
  3. 1 GO de RAM.
  4. Disque dur.
  5. Une carte réseau.

Système recommandé

  1. CPU 64 bits (Intel EM64T ou AMD64), multi-cœur recommandé.
  2. Carte-mère et BIOS compatible Intel VT/AMD-V (pour le support de la virtualisation par KVM).
  3. Mémoire: 2 Go minimum pour les services OS et PVE et le plus de mémoire possible pour les invités. Pour Ceph ou ZFS, de la mémoire supplémentaire est requise, soit environ 1 Go de mémoire pour chaque To utilisé.
  4. RAID matériel avec cache d'écriture protégé par batterie (“BBU”) ou protection par flash ou non-RAID pour ZFS. Ni ZFS ni Ceph ne sont compatibles avec un contrôleur RAID matériel. Partagé et distribué, le stockage est également possible.
  5. Disques durs rapides; de meilleurs résultats sont obtenus avec des disques à 15 000 RPM en RAID 10.
  6. Au moins 2 cartes réseau en fonction de la technologie de stockage utilisée, vous pourriez en avoir besoin de plus.
  7. Système d'alimentation sans coupure.

Documentation

PDF & HTML

Anglais seulement: https://pve.proxmox.com/pve-docs/.

Vidéo

Aide en ligne

PVE lui-même est entièrement LIBRE donc, il encourage toujours ses utilisateurs à discuter et à partager leurs connaissances en utilisant le Forum communautaire Proxmox VE à l'adresse https://forum.proxmox.com/. Le forum est entièrement “pondéré” par l'équipe de support Proxmox et possède une vaste base d'utilisateurs tout autour du globe. Inutile de dire qu'un tel forum est un bon endroit pour obtenir des informations.

La principale source de la documentation se trouve à l'adresse https://www.proxmox.com/en/downloads. Cette source combine documentation et téléchargements.

Cours NethServer-101

Le Cours NethServer-101, se voulant une base solide pour la création d'un site de Commerce en ligne, comprend plusieurs cahiers:

  1. Cahier-01: → Les bases de Linux.
  2. Cahier-02: → Installation et configuration des logiciels prérequis sur le poste de travail.
  3. Cahier-03: → Création d'un Serveur NethServer virtuel.
  4. Cahier-04: → Serveur NethServer LOCAL & Let's Encrypt.
  5. Cahier-05: → FAI, modem VDSL, domaine FQDN1) et Serveur NethServer physique.
  6. Cahier-06: → Installation de WordPress.
  7. Cahier-07: → Installation de l'extension de sécurité Wordfence.
  8. Cahier-08: → WooCommerce, comptes chez Stripe et PayPal pour les paiements en ligne.
  9. Cahier-09: → Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator.
  10. Cahier-10: → Serveur mandataire inversé.
  11. Cahier-11: → Sauvegarde/restauration avec BackupPC.

Cours NethServer-201

Le Cours NethServer-201 décrit l'installation et la configuration d'applications sur un serveur NethServer.

  1. Cahier-201-01: → Dolibarr.
  2. Cahier-201-02: → Odoo-12.
  3. Cahier-201-03: → MediaWiki.
  4. Cahier-201-04: → DokuWiki.
  5. Cahier-201-05: → Moodle.
  6. Cahier-201-06: → Proxmox.
  7. Cahier-201-07: → Flectra.

Logiciels

Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.

But final

Après avoir suivi le Cours NethServer-101, vous posséderez un site de Commerce en ligne fiable et hautement sécuritaire. De plus, vous pourrez utiliser un clone de votre site, sur un Serveur NethServer virtuel roulant sur votre poste de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de votre site en ligne.

Particularités de ce document

Notes au lecteur

* Les captures d'écrans ne sont que des références.
** Les informations écrites ont préséance sur celles retrouvées dans les captures d'écrans. Veillez vous référer aux différents tableaux lorsque ceux-ci sont présents.
*** Une capture d'écran avec une accentuation en magenta indique qu'il faut remplacer cette distinction par vos propres paramètres ou implique un choix laissé à votre appréciation.

Conventions

Manipulation, truc ou ruse pour se tirer d'embarras.
Une recommandation ou astuce.
Une note.
Une étape, note ou procédure à surveiller.
Paragraphe non complété ou non vérifié.
Danger pour la sécurité du système.

Toutes les commandes à la console ou à travers PuTTY sont précédées d'une invite qui est toujours présente.

[root@dorgee ~]# ping 10.10.10.75 -c1

PING 10.10.10.75 (10.10.10.75) 56(84) bytes of data.
64 bytes from 10.10.10.75: icmp_seq=1 ttl=64 time=1.63 ms

--- 10.10.10.75 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.639/1.639/1.639/0.000 ms
[root@dorgee ~]#
Commande à exécuter si ce n'est déjà fait.
Commande indiquée à titre d'information seulement.


Téléchargement de l'ISO

Page de téléchargement

On se rend à la page de téléchargement de la version Proxmox VE 6.0: https://www.proxmox.com/en/downloads/item/proxmox-ve-6-0-iso-installer. La page affiche aussi la somme de contrôle du fichier qui nous servira à vérifier l'intégrité de l'ISO téléchargé.

Téléchargement

Nous allons télécharger la version Proxmox VE 6.0 ISO Installer (version 6.0-1.iso) et sauvegarder l'ISO sur notre poste de travail.

Download.

Enregistrer le fichier → OK.

Vérification de la somme de contrôle

Il est toujours préférable de vérifier la somme de contrôle d'un fichier avant de l’utiliser.

Calcul de la somme de contrôle

Nous utilisons le calculateur de 7-Zip pour la somme de contrôle SHA-256.

Clac (clic droit) sur le fichier iso → CRC SHA → SHA-256. (Peut prendre quelques secondes.)


La somme de contrôle SHA-256 calculée est affichée.

Ci-contre, la somme de contrôle SHA-256 affichée sur la page de téléchargement.

Les sommes de contrôle coïncident, le fichier peut être utilisé en toute sécurité.

On brûle l'ISO sur un CD/DVD qu'on insérera dans le lecteur de notre machine physique dédiée avant son amorçage.

Création d'une machine virtuelle sous VirtualBox

Description

Avec une installation VirtualBox, vous pourrez vérifier les modifications à l'environnement PVE sur la machine virtuelle avant de les implémenter sur la machine physique.

Marche à suivre

  1. Vérification du BIOS.
  2. Création et configuration de la machine virtuelle qui roulera PVE.

BIOS

Depuis 2006, les processeurs Intel et AMD supportent ce qui est appelé la “virtualisation matérielle”. La virtualisation matérielle signifie que ces processeurs peuvent aider VirtualBox à intercepter des opérations potentiellement dangereuses que pourrait essayer d'exécuter l'invité et facilite la présentation du matériel à une machine virtuelle.

Ces fonctionnalités diffèrent entre les CPU d'Intel et ceux d'AMD. Intel a appelé sa techno VT-x; AMD a nommé la leur AMD-V. Le support d’Intel et d’AMD est très différent dans le détail, mais pas si différent dans le principe.

Les processeurs modernes incluent des fonctionnalités de virtualisation matérielle qui aident à accélérer la virtualisation. Intel VT-x n'est pas toujours activé par défaut. Si tel est le cas, un message est affiché: “L'accélération matérielle VT-x/AMD-V n'est pas disponible sur votre système” ou “Cet hôte prend en charge Intel VT-x mais Intel, VT-x est désactivé”.

Le matériel Intel VT-x peut être désactivé via le BIOS ou le micrologiciel UEFI. Il est régulièrement désactivé sur les nouveaux ordinateurs.

AMD-V est toujours activé si vous utilisez un processeur AMD qui le prend en charge, il n'y a donc aucun BIOS ou UEFI que vous devez modifier.

Activation

Paramètres de la machine virtuelle PVE

Pour l'installation de VirtualBox, voir: Cahier-02: Installations & configurations des logiciels prérequis du “Cours NethServer-101”.

Dans VirtualBox, nous allons créer une machine virtuelle ProxmoxVE_16Go.

  1. Mémoire: 4096 Mo. Si nous avons seulement 4 Go de mémoire totale pour la station de travail et que nous allouons plus de 1998 Mo, VirtualBox affichera un Avertissement.
  2. Disque: 16 Go.



Création de la machine virtuelle PVE

Machine → Nouvelle …

Nom: ProxmoxVE_16Go.
Type: Linux.
Version: Debian (64-bit).
Taille de la mémoire: 4096.
Créer un disque virtuel maintenant.
Créer.

Taille du fichier: 16,00 Go.
type de fichier de disque dur:
⦿ VDI (Image Disque VirtualBox).
Stockage sur disque physique:
⦿ Dynamiquement alloué.
Créer.

• On est retourné à l’écran principal de VirtualBox et on voit notre nouvelle machine virtuelle.

• On sélectionne la machine virtuelle et on clique Configuration.


Configuration

Général → onglet Avancé → Presse-papier partagé: Bidirectionnel → Glisser-Déposer: Bidirectionnel (non obligatoire).

Onglet Description → on entre une description assez détaillée et surtout le mot de passe, car une fois qu’on aura plusieurs MV, il sera facile d’oublier…

- Système → onglet Processeur → on peut choisir le nombre de processeurs à allouer à cette machine virtuelle.
- Cocher toutes les Fonctions avancées.

- Affichage → onglet Écran → Mémoire Vidéo: on ajuste à 32 MB ou jusqu'au max 128 MB.
- Contrôleur graphique: VboxVGA.


Stockage → Vide → cliquer l’icône du CD/DVD → Choisissez un fichier de disque optique virtuel…


On se rend au répertoire où on a téléchargé l’ISO de Proxmox, on sélectionne le fichier ISO → Ouvrir.

- Le fichier ISO de PVE est maintenant attaché au CD/DVD de la machine virtuelle. Lorsque la MV amorcera, elle lancera l’installation de PVE.

- Son → on décoche Activer le son. Un serveur n’a pas besoin de carte de son.

Carte 1 (eth0)

- Réseau → onglet Carte 1.

- Mode d’accès réseau: → Accès par pont.

Cliquer Avancé pour afficher plus de choix.

- Type d'interface: choisir la carte reliée au connecteur RJ-45.

- Mode Promiscuité:2) → Autoriser les VMs.

Carte 2 (eth1)

- Réseau → onglet Carte 2.

- On coche Activer la carte réseau.

- Mode d’accès réseau: → Accès par pont.

Cliquer Avancé pour afficher plus de choix.

- Type d'interface: choisir la carte reliée au connecteur RJ-45.

- Mode Promiscuité: → Autoriser les VMs.

Interface utilisateur

Afficher en plein écran/mode intégré.

Afficher en haut de l'écran.

On coche ☑ la case en bas à gauche afin d'afficher les icônes au bas de l'écran VirtualBox.

On déroule tous les menus et on coche toutes les options offertes → OK.

La machine ProxmoxVE_16Go sous VirtualBox est prête à recevoir l'installation de PVE.


Installation & configuration

La machine virtuelle est configurée, elle possède deux cartes réseau et le CD/DVD est attaché au lecteur optique. On peut amorcer cette MV pour lancer l'installation de PVE.

Installation

- On amorce la machine virtuelle Proxmox VE.
- Install Proxmox VE → [Entrée].


Si vous recevez l'erreur ci-dessous, voir Virtualisation matérielle KVM.


Si on accepte les termes de la licence, on clique I agree.



Next.

On entre le pays on choisit un fuseau horaire (Montréal n'est pas là, mais dans l'écran de gestion, il apparaîtra dans les choix) → Next.

- On entre un mot de passe pour root (au moins 7 caractères) et on le confirme.
- On entre l'adresse courriel qui recevra les messages de PVE.
- Next.



- Les différents paramètres sont affichés, on peut les modifier.
- Next.

On vérifie les paramètres affichés, puis pour lancer l'installation, on clique Install.


Le système PVE débute son installation.

L'installation rend le système amorçable.

Victoire! L'installation est terminée.

Menu VirtualBox → Périphérique → Lecteurs optiques → Éjecter le disque du lecteur virtuel.



On force l'éjection → Éjection forcée.


On réamorce le système en cliquant Reboot.


Adresse du gestionnaire PVE

Après le réamorçage, l'écran de connexion s'affiche.

On voit l'adresse pour accéder au gestionnaire PVE.


Instantané VirtualBox

Ici, on arrête la machine virtuelle et on prend un Instantané VirtualBox afin d'avoir une sauvegarde de l'installation originale: Proxmox-6.0.1_Sauvegarde_originale_AAAA-MM-JJ_nnhnn. On redémarre la machine virtuelle.


Connexion à la console de la MV

Pour vérifier le bon fonctionnement de la MV, on se logue à la console du serveur PVE.

Nom d'usager: root.

Mot de passe: le mot de passe entré lors de l'installation.


Connexion PuTTY

On lance PuTTY et on crée une nouvelle session pour se connecter en SSH au système PVE.

On entre les informations demandées, port 22 → Save → Open.

Oui pour accepter la clé RSA2.

On utilise l'usager root et on entre le mot de passe donné lors de l'installation.

login as: root
root@192.168.1.44's password: mot-de-passe-de-root
Linux pve 5.0.15-1-pve #1 SMP PVE 5.0.15-1 (Wed, 03 Jul 2019 11:01:11 +0200) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@pve:~#

Groupe de volumes

Le programme d'installation crée un Groupe de Volumes (VG) appelé pve et des Volumes Logiques (LV) supplémentaires appelés: data, root et swap.

root@pve:~# vgs

  VG  #PV #LV #SN Attr   VSize   VFree
  pve   1   3   0 wz--n- <15.50g <1.88g
root@pve:~#

Volume physique

root@pve:~# pvs

  PV         VG  Fmt  Attr PSize   PFree
  /dev/sda3  pve lvm2 a--  <15.50g <1.88g
root@pve:~#

Volumes logiques

root@pve:~# lvs

  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data pve twi-a-tz-- <6.00g             0.00   1.57
  root pve -wi-ao----  3.75g
  swap pve -wi-ao---- <1.88g
root@pve:~#

Volume data

Ce volume logique utilise LVM-thin, et est utilisé pour stocker les images des machines virtuelles. LVM-thin est préférable pour cette tâche, car il offre un support efficace pour les Instantanés des MV PVE.

LVM-thin

Certains systèmes de fichiers dont Qemu qcow2 (Quick emulator - Quick Copy On Write) supportent LVM-thin. Avec LVM-thin activé, seuls les blocs que le système invité utilisera réellement seront écrits sur le disque de stockage.

Volume root

Le volume logique root est formaté en ext4, et contient le système d'exploitation.

root@pve:~# cat /etc/fstab

# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0
root@pve:~#

Vérification de la connexion Internet

root@pve:~# ping -c3 google.com

PING google.com (172.217.1.14) 56(84) bytes of data.
64 bytes from yyz10s14-in-f14.1e100.net (172.217.1.14): icmp_seq=1 ttl=57 time=12.9 ms
64 bytes from yyz10s14-in-f14.1e100.net (172.217.1.14): icmp_seq=2 ttl=57 time=12.5 ms
64 bytes from yyz10s14-in-f14.1e100.net (172.217.1.14): icmp_seq=3 ttl=57 time=11.8 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 11.821/12.402/12.905/0.464 ms
root@pve:~#

Performance de l'hôte

root@pve:~# pveperf

CPU BOGOMIPS:      13973.88
REGEX/SECOND:      1487730
HD SIZE:           3.63 GB (/dev/mapper/pve-root)
BUFFERED READS:    88.55 MB/sec
AVERAGE SEEK TIME: 8.69 ms
FSYNCS/SECOND:     240.33
DNS EXT:           40.20 ms
DNS INT:           2.03 ms (micronator.org)
root@pve:~#

Souscription

root@pve:~# pvesubscription get

message: There is no subscription key
serverid: 3D7751FEBFC5CB91DA22881F61A887C5
status: NotFound
url: https://www.proxmox.com/proxmox-ve/pricing
root@pve:~#


Configuration

Pour connaître l'adresse du gestionnaire PVE, voir le paragraphe Connexion à la console de la MV.
Il faut absolument autoriser les témoins et JavaScript dans le navigateur sinon, l'écran de connexion ne sera pas présenté.

Adresse du gestionnaire PVE

Par la console du serveur, on peut toujours retrouver l'adresse IP du gestionnaire PVE en affichant le fichier /etc/network/interfaces.

root@pve:~# cat /etc/network/interfaces

auto lo
iface lo inet loopback

iface enp0s3 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.44
        netmask 255.255.255.0
        gateway 192.168.1.1
        bridge_ports enp0s3
        bridge_stp off
        bridge_fd 0

root@pve:~#

- On pointe un navigateur vers: https://192.168.1.44:8006/
- Avancé.


C'est une nouvelle installation, il faut Ajouter une exception…

Si vous ne pouvez accéder à l'adresse du gestionnaire, voir le paragraphe Adresse IP.




Confirmer l'exception de sécurité.

- Language: → French (l'écran va se rafraîchir).
- Utilisateur: root.
- Mot de passe: celui donné lors de l'installation.
- Login.

On nous suggère de visiter le site www.proxmox.com pour plus d'informations sur les options de contrat de service.

- https://www.proxmox.com/en/proxmox-ve/pricing
- Sur le site de Proxmox, les différents plans de souscription sont affichés.



- On retourne à l'écran du gestionnaire.
- OK.


Fuseau horaire

Maintenant, nous pouvons ajuster le fuseau horaire à America/Montreal.

Vue Stockage → Datacenter → pve → Système → Temps → Éditer.


Choisir America/Montreal → OK.

Au retour, on voit que la Zone de temps est bien America/Montreal.


Mise à jour

Cette mise à jour s'appliquera au système complet.

Vue Stockage → Datacenter → pve → Mise à jour → Rafraîchir.


OK.

Après la recherche de mises à jour dans les référentiels, on ferme la fenêtre.

Certains fichiers n'ont pu être téléchargés.
L'erreur de téléchargement vient du fait que nous n'avons aucun plan de souscription à Proxmox.

Le chargement du cache s'effectue.

Appliquer les mises à jour.


Pour continuer, entrer Y → [Entrée].

- On peut ignorer les suggestions.
- Pour quitter, on entre “q” sans guillemets.

On prend le choix par défaut UTF-8 → OK.

On prend le choix par défaut English (US) → OK.

La mise à jour est terminée. On peut fermer cette fenêtre.

À l'écran du gestionnaire → Rafraîchir.

OK.

On peut fermer l'écran surgissant.

- Un rechargement du cache s'effectue.

- Il n'y a plus de mises à jour disponibles


Souscription

Référence: https://it.izero.fr/proxmox-quelques-infos-en-vrac/.

Pour supprimer l'écran surgissant No valid subscription.

À la console du serveur.

root@pve:~# sed -i.bak 's/NotFound/Active/g'                         \
                       /usr/share/perl5/PVE/API2/Subscription.pm &&  \
                       systemctl restart pveproxy.service

root@pve:~#

Fichier /usr/share/perl5/PVE/API2/Subscription.pm original.

...
    my $info = PVE::INotify::read_file('subscription');
    if (!$info) {
        return {
        status => "NotFound",
        message => "There is no subscription key",
        serverid => $server_id,
        url => $url,
        }
    }
...

Fichier /usr/share/perl5/PVE/API2/Subscription.pm modifié. La valeur NotFound a été remplacé par Active.

...
    my $info = PVE::INotify::read_file('subscription');
    if (!$info) {
        return {
        status => "Active",
        message => "There is no subscription key",
        serverid => $server_id,
        url => $url,
        }
    }
...

On vérifie.

root@pve:~# cat /usr/share/perl5/PVE/API2/Subscription.pm | grep -C 1 "Active"

    return $info if $info->{status} ne 'Active';

--
            my $no_subscription_info = {
                status => "Active",
                message => "There is no subscription key",
--

        if (!$param->{force} && $info->{status} eq 'Active') {
            my $age = time() -  $info->{checktime};
root@pve:~#

On redémarre les services.

root@pve:~# service pvestatd restart

root@pve:~#
root@pve:~# service pvedaemon restart

root@pve:~#

Instantané VirtualBox

À ce stade-ci, on peut prendre un Instantané de la machine virtuelle afin de pouvoir y revenir en cas d'une future erreur de manipulation.

Configuration du poste de travail

Fichier hosts

Le FQDN de notre Serveur PVE est pve.micronator-dev.org. Vu que nous n'avons pas de serveur DNS sur notre réseau, il nous faut une façon quelconque pour pouvoir spécifier le nom de notre domaine afin que le navigateur puisse identifier son adresse IP sans devoir interroger un serveur DNS. C'est ici que le fichier hosts du poste de travail entre en jeu.

La communication dans l'Internet se fait toujours par adresses IP et non pas avec les noms de domaines qui sont utilisés par les humains qui ont plus de facilité à retenir un nom qu'un numéro.

Lorsque vous voulez vous rendre chez google.com, le navigateur ne connaît pas l'adresse IP de google.com. Il commence par regarder dans le fichier hosts du poste de travail si ce fichier contient une référence à google.com.

Si oui, il utilise l'adresse IP contenu dans le fichier hosts.

Si le fichier hosts du poste de travail n'a pas de référence pour le nom du domaine recherché, le navigateur va demander à son serveur DNS s'il connaît google.com. Si son serveur DNS ne connaît pas le domaine en question, il demande à son tour à son serveur DNS supérieur s'il connaît le domaine. Si le DNS supérieur n'a pas de référence pour le domaine, à son tour, il demande à son serveur DNS supérieur et ainsi de suite jusqu'au DNS tout en haut de l'échelle hiérarchique .com qui lui, avec ses confrères .org, .net, etc…, connaissent tous les noms de tous les domaines de l'Internet.

Une fois l'adresse IP trouvée, elle redescend l'échelle hiérarchique jusqu'à votre navigateur qui utilisera alors l'adresse IP reçue pour communiquer avec google.com.

Le point à remarquer est que le navigateur cherche en premier lieu dans le fichier host du poste de travail. Pour tromper le navigateur, il suffit alors d'y entrer une référence pour notre domaine pve.micronator-dev.org.

Pour un système Windows, le chemin du fichier hosts est: C:\Windows\System32\drivers\etc\hosts. Pour un système Linux, le chemin est: /etc/hosts.

Pour un système Windows, le fichier hosts est en Lecture seule.

En ayant les droits d'administrateur Windows, on enlève le droit de Lecture seule sur le fichier hosts du poste de travail et on l'édite avec Notepad++.

Dans l'explorateur de fichiers, on claque sur le fichier hosts → Propriétés.


Décocher Lecture seule → OK.


Continuer.


Clac sur hosts → Éditer avec Notepad++.

- On entre notre domaine avec ses CNAME et son adresse IP.
- On sauvegarde le fichier.

Oui.

Oui.

On est alors retourné à l'écran d'édition et on sauvegarde encore une fois, car la première sauvegarde n'a pas eu lieu, elle a été transformée en demande de changement de mode.

On ferme Notepad++ et, pour la sécurité du poste de travail, on remet le fichier hosts en Lecture seule.

À l'avenir, lorsqu'on demandera à notre navigateur de se rendre à https://www.pve.micronator-dev.org:8006, il cherchera dans le fichier hosts une correspondance avec www.pve.micronator-dev.org// et trouvera www.pve.micronator-dev.org, il prendra alors l'adresse 192.168.1.44 qui y est associée et se connectera à la page de l'interface Web de notre serveur PVE. ==== Cartes réseau ==== === Particularités de la carte RJ-45 === L'adresse MAC de cette carte est différente de l'adresse MAC de la Carte-1, Carte-2, eth0 ou eth1.
La carte réseau
RJ-45 doit être activée et reliée à un dispositif quelconque pour que le poste de travail puisse l'i­dentifier. Pour nous, cette carte est branchée à un port de l'aguilleur. Si le connecteur RJ-45 n'est pas branché à un dispositif quelconque et qu'on examine cette carte dans l'utilitaire Centre Réseau et partage de Windows, on verra qu'il indique Câble réseau non connecté même si elle est pourtant reliée, à travers la Carte-1, au réseau LOCAL et à travers la Carte-2, au réseau Externe du serveur invité Proxmox. De plus, si VirtualBox ne trouve pas cette carte, le serveur invité pourrait refuser de démarrer.

Nous activerons la deuxième carte réseau au paragraphe Deuxième carte réseau.

Plus haut, nous avons débuté une arnaque en faisant croire au navigateur Web du poste de travail que c'est son serveur DNS qui lui donnera l'adresse l'IP de notre Serveur Proxmox LOCAL alors qu'en réalité c'est le fichier C:\Windows\System32\drivers\etc\hosts du poste de travail qui répondra à sa requête.
Le but principal de notre configuration “non standard” de la carte réseau du poste de travail est de continuer l'arnaque précédente en lui faisant croire qu'il possède deux cartes réseau
RJ-45. === Première adresse IP === 1) Nous commençons par donner l'adresse 192.168.1.81 à la carte RJ-45 du poste de travail.

Clac (clic droit) sur l'icône réseau dans la zone de notification → Ouvrir le Centre Réseau et partage.


Modifier les paramètres de la carte.


Clac sur la carte Éthernet → Propriétés.

Onglet Gestion de réseau → Protocole Internet version 4 (TCP/IPv4) → Propriétés.

2) Utiliser l'adresse IP suivante:

On entre les informations telles que ci contre.

Utiliser une passerelle par défaut sur un autre segment IP que l'adresse principale n'est pas tout à fait standard.

3) Serveur DNS

Pour le serveur DNS préféré, nous utiliserons l'adresse IP 10.10.10.75 du serveur invité Proxmox sur son réseau LOCAL afin de pouvoir utiliser le nom FQDN du Serveur Proxmox virtuel même si celui-ci ne possède pas de véritable nom de domaine.

En effet, plus tard, lorsque le navigateur Web lancera une requête DNS pour l'adresse IP de l'URL https://www.proxmox.micronator-dev.org:

Windows cherchera d'abord dans son fichier hosts s'il existe une correspondance pour cette URL. Il trouvera l'adresse IP du Serveur Proxmox entrée précédemment et il la transmettra au navigateur Web.

Si l'URL en question n'existe pas dans le fichier hosts du poste de travail, la requête sera transmise au serveur DNS préféré - 10.10.10.75 - le Serveur Proxmox virtuel. Si notre serveur virtuel ne connaît pas cette URL, il transmet la requête à son propre serveur DNS qui lui, la transmet à son propre serveur DNS, etc… jusqu'à ce que l'adresse IP soit enfin trouvée et retournée au navigateur Web. Lorsque le serveur invité sera éteint, la carte RJ-45 ne trouvant pas le serveur DNS préféré, demandera alors au serveur DNS auxiliaire (192.168.1.1) de remplir les requêtes DNS. Cliquer Avancé…

=== Deuxième adresse IP === 4) Nous donnons une deuxième adresse - 10.10.10.81 à la carte
RJ-45 du poste de travail.

- Onglet Paramètres IP.
- Adresses IP → Ajouter…

- On entre l'adresse et le masque.
- Ajouter.

La nouvelle adresse a été ajoutée à la carte RJ-45 du poste de travail.


=== Deuxième passerelle par défaut ===


Passerelles par défaut: → Ajouter…

- Passerelle: → 192.168.1.1
- Ajouter.

- La deuxième passerelle à été ajoutée.
- OK.

OK.

OK.

Détails…

Nos deux adresses IP et nos deux passerelles son présentes.

- Fermer toutes les fenêtre.


====== Certificat TLS/SSL Let's Encrypt ====== ===== Référence ===== Voir le chapitre Certificat TLS/SSL Let's Encrypt dans le Cahier-04:
NethServer LOCAL & Certificat Let's Encrypt du “Cours NehServer-101”. ==== Ajout des nouveaux CNAME chez Cloudflare.com ====

pve


www.pve


- On vérifie.

- On se déconnecte de Cloudflare.


===== Installation du script acme.sh ===== ==== Utilitaire curl ==== Installation de curl pour le téléchargement du fichier du script. <file> root@pve:~# apt-get install -y curl Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: libcurl4 The following NEW packages will be installed: curl libcurl4 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 596 kB of archives. After this operation, 1,123 kB of additional disk space will be used. Get:1 http://ftp.ca.debian.org/debian buster/main amd64 libcurl4 amd64 7.64.0-4 [332 kB] Get:2 http://ftp.ca.debian.org/debian buster/main amd64 curl amd64 7.64.0-4 [264 kB] Fetched 596 kB in 1s (1,150 kB/s) Selecting previously unselected package libcurl4:amd64. (Reading database … 43994 files and directories currently installed.) Preparing to unpack …/libcurl4_7.64.0-4_amd64.deb … Unpacking libcurl4:amd64 (7.64.0-4) … Selecting previously unselected package curl. Preparing to unpack …/curl_7.64.0-4_amd64.deb … Unpacking curl (7.64.0-4) … Setting up libcurl4:amd64 (7.64.0-4) … Setting up curl (7.64.0-4) … Processing triggers for man-db (2.8.5-2) … Processing triggers for libc-bin (2.28-10) … root@pve:~# </file> ==== Téléchargement du fichier du script ==== <file> root@pve:~# curl https://get.acme.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 705 0 705 0 0 2974 0 –:–:– –:–:– –:–:– 2974 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 186k 100 186k 0 0 578k 0 –:–:– –:–:– –:–:– 576k [Mon 09 Sep 2019 07:02:49 PM EDT] Installing from online archive. [Mon 09 Sep 2019 07:02:49 PM EDT] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz [Mon 09 Sep 2019 07:02:49 PM EDT] Extracting master.tar.gz [Mon 09 Sep 2019 07:02:49 PM EDT] Installing to /root/.acme.sh [Mon 09 Sep 2019 07:02:49 PM EDT] Installed to /root/.acme.sh/acme.sh [Mon 09 Sep 2019 07:02:49 PM EDT] Installing alias to '/root/.bashrc' [Mon 09 Sep 2019 07:02:49 PM EDT] OK, Close and reopen your terminal to start using acme.sh [Mon 09 Sep 2019 07:02:49 PM EDT] Installing cron job 41 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null [Mon 09 Sep 2019 07:02:49 PM EDT] Good, bash is found, so change the shebang to use bash as preferred. [Mon 09 Sep 2019 07:02:50 PM EDT] OK [Mon 09 Sep 2019 07:02:50 PM EDT] Install success! root@pve:~# </file> On vérifie. <file> root@pve:~# ls -als total 36 4 drwx—— 5 root root 4096 Sep 10 09:15 . 4 drwxr-xr-x 18 root root 4096 Sep 9 12:53 .. 4 drwx—— 7 root root 4096 Sep 7 07:02 .acme.sh 4 -rw-r–r– 1 root root 601 Sep 10 09:15 .bashrc 4 -rw-r–r– 1 root root 25 Sep 9 12:53 .forward 4 drwx—— 3 root root 4096 Sep 10 09:14 .gnupg 4 -rw-r–r– 1 root root 148 Aug 17 2015 .profile 4 -rw——- 1 root root 1024 Sep 9 13:11 .rnd 4 drwxr-xr-x 2 root root 4096 Sep 9 13:11 .ssh root@pve:~# </file> ===== Variables d'environnement ===== On doit définir certaines variables d’environnement correspondant à nos informations d’identification et à notre validateur
DNS c.-à-d. Cloudflare.
C’est ici que vous devrez effectuer des ajustements nécessaires si vous utilisez un autre serveur de noms que
Cloudflare - pour plus de détails, voir ce lien pour la documentation du script acme.sh: https://github.com/Neilpang/acme.sh/wiki/dnsapi.
L'exemple ci-dessous est celui d'une installation utilisant le serveur de noms
Cloudflare. On exporte, dans l'environnement présentement en mémoire, notre clé API Globale de Cloudflare. <file> [root@tchana ~]# export CF_Key=“VotreCléGlobaleDeCloudflare” [root@tchana ~]# </file> On exporte notre adresse courriel utilisée pour notre enregistrement chez Cloudflare. <file> [root@tchana ~]# export CF_Email=“VotreAdresseCourrielDEnregistrementChezCloudflare” [root@tchana ~]# </file> On vérifie les exportations. <file> [root@tchana ~]# env | grep -i CF_ CF_Email= VotreAdresseCourrielDEnregistrementChezCloudflare CF_Key= VotreCléGlobaleDeCloudflare [root@tchana ~]# </file> Si vous réamorcez le Serveur PVE avant la demande d'un certificat, vous perdez ces exportations. Il vous faudra alors les refaire. ===== Demande d'un certificat de test ===== <file> [root@tchana ~]# /root/.acme.sh/acme.sh \ –issue \ –dns dns_cf \ -d pve.micronator-dev.org \ -d www.pve.micronator-dev.org \ –accountemail “michelandre@micronator.org” \ –keypath /etc/pve/local/pveproxy-ssl.key \ –fullchainpath /etc/pve/local/pveproxy-ssl.pem \ –reloadcmd “systemctl restart pveproxy” \ –log /root/.acme.sh/acme.sh.log \ –test \ –force [Tue 10 Sep 2019 09:16:49 AM AST] Using stage ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory [Tue 10 Sep 2019 09:16:50 AM AST] Create account key ok. [Tue 10 Sep 2019 09:16:50 AM AST] Registering account [Tue 10 Sep 2019 09:16:51 AM AST] Registered … [Tue 10 Sep 2019 09:16:51 AM AST] The domain key is here: /root/.acme.sh/pve.micronator-dev.org/pve.micronator-dev.org.key [Tue 10 Sep 2019 09:16:51 AM AST] Multi domain='DNS:pve.micronator-dev.org,DNS:www.pve.micronator-dev.org' … [Tue 10 Sep 2019 09:17:17 AM AST] Domain pve.micronator-dev.org '_acme-challenge.pve.micronator-dev.org' success. [Tue 10 Sep 2019 09:17:17 AM AST] Checking www.pve.micronator-dev.org for _acme-challenge.www.pve.micronator-dev.org [Tue 10 Sep 2019 09:17:17 AM AST] Domain www.pve.micronator-dev.org '_acme-challenge.www.pve.micronator-dev.org' success. [Tue 10 Sep 2019 09:17:17 AM AST] All success, let's return … [Tue 10 Sep 2019 09:17:17 AM AST] Verifying: pve.micronator-dev.org [Tue 10 Sep 2019 09:17:19 AM AST] Success [Tue 10 Sep 2019 09:17:20 AM AST] Verifying: www.pve.micronator-dev.org [Tue 10 Sep 2019 09:17:22 AM AST] Success … —–BEGIN CERTIFICATE—– MIIFYDCCBEigAwIBAgITAPqGqLkQqAECZQhj5EuyG3VRATANBgkqhkiG9w0BAQsF … TBVT2PIBfGL9VvjcRbffwwq52ZFtVG9n/KJ3471tNFW9+jrf —–END CERTIFICATE—– [Tue 10 Sep 2019 09:17:29 AM AST] Your cert is in /root/.acme.sh/pve.micronator-dev.org/pve.micronator-dev.org.cer [Tue 10 Sep 2019 09:17:29 AM AST] Your cert key is in /root/.acme.sh/pve.micronator-dev.org/pve.micronator-dev.org.key [Tue 10 Sep 2019 09:17:29 AM AST] The intermediate CA cert is in /root/.acme.sh/pve.micronator-dev.org/ca.cer [Tue 10 Sep 2019 09:17:29 AM AST] And the full chain certs is there: /root/.acme.sh/pve.micronator-dev.org/fullchain.cer [Tue 10 Sep 2019 09:17:29 AM AST] Installing key to:/etc/pve/local/pveproxy-ssl.key chmod: changing permissions of '/etc/pve/local/pveproxy-ssl.key': Operation not permitted [Tue 10 Sep 2019 09:17:29 AM AST] Installing full chain to:/etc/pve/local/pveproxy-ssl.pem [Tue 10 Sep 2019 09:17:29 AM AST] Run reload cmd: systemctl restart pveproxy [Tue 10 Sep 2019 09:17:32 AM AST] Reload success root@pve:~# </file> ===== Demande d'un certificat officiel ===== <file> [root@tchana ~]# /root/.acme.sh/acme.sh \ –issue \ –dns dns_cf \ -d pve.micronator-dev.org \ -d www.pve.micronator-dev.org \ –accountemail “michelandre@micronator.org” \ –keypath /etc/pve/local/pveproxy-ssl.key \ –fullchainpath /etc/pve/local/pveproxy-ssl.pem \ –reloadcmd “systemctl restart pveproxy” \ –log /root/.acme.sh/acme.sh.log \ –force … [Mon 09 Sep 2019 06:32:59 PM EDT] Let's check each dns records now. Sleep 20 seconds first. [Mon 09 Sep 2019 06:33:20 PM EDT] Checking www.pve.micronator-dev.org for _acme-challenge.www.pve.micronator-dev.org [Mon 09 Sep 2019 06:33:21 PM EDT] Domain www.pve.micronator-dev.org '_acme-challenge.www.pve.micronator-dev.org' success. [Mon 09 Sep 2019 06:33:21 PM EDT] All success, let's return [Mon 09 Sep 2019 06:33:21 PM EDT] pve.micronator-dev.org is already verified, skip dns-01. [Mon 09 Sep 2019 06:33:21 PM EDT] Verifying: www.pve.micronator-dev.org [Mon 09 Sep 2019 06:33:23 PM EDT] Success … [Mon 09 Sep 2019 06:33:27 PM EDT] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/04709b7539b16d5d777430b314c755ce9601 [Mon 09 Sep 2019 06:33:27 PM EDT] Cert success. —–BEGIN CERTIFICATE—– MIIFgTCCBGmgAwIBAgISBHCbdTmxbV13dDCzFMdVzpYBMA0GCSqGSIb3DQEBCwUA … cfbX5u8+i4U5T+uEZJZyrCLyD1vU —–END CERTIFICATE—– [Mon 09 Sep 2019 06:33:27 PM EDT] Your cert is in /root/.acme.sh/pve.micronator-dev.org/pve.micronator-dev.org.cer [Mon 09 Sep 2019 06:33:27 PM EDT] Your cert key is in /root/.acme.sh/pve.micronator-dev.org/pve.micronator-dev.org.key [Mon 09 Sep 2019 06:33:27 PM EDT] The intermediate CA cert is in /root/.acme.sh/pve.micronator-dev.org/ca.cer [Mon 09 Sep 2019 06:33:27 PM EDT] And the full chain certs is there: /root/.acme.sh/pve.micronator-dev.org/fullchain.cer [Mon 09 Sep 2019 06:33:27 PM EDT] Installing key to:/etc/pve/local/pveproxy-ssl.key [Mon 09 Sep 2019 06:33:27 PM EDT] Installing full chain to:/etc/pve/local/pveproxy-ssl.pem [Mon 09 Sep 2019 06:33:27 PM EDT] Run reload cmd: systemctl restart pveproxy [Mon 09 Sep 2019 06:33:31 PM EDT] Reload success root@pve:~# </file> ===== Vérification =====

On se rend à https://www.pve.micronator-dev.org.

Il n'est pas nécessaire d'ajouter une exception pour le certificat, car il a été émis par une autorité de certification reconnue. Le cadenas est vert.

On clique le cadenas pour afficher les informations de la connexion, puis on clique l'icône >.

Plus d'informations.

Onglet Sécurité → Afficher le certificat.


- Le certificat a été émis par Let's Encrypt Authority X3.
- On clique l'onglet Détails.

- On clique Nom alternatif du sujet du certificat.
- Tous les CNAME sont présents.
- Fermer toutes les fenêtres.


===== Renouvellement ===== À chaque jour, une tâche cron vérifie le nombre de jours restant pour la validité. <file> [root@tchana ~]# crontab -l 41 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null [root@tchana ~]# </file> Le renouvellement se fera automatiquement lorsqu'il ne restera que 30 jours de validité. ===== Journal ===== Nous avons spécifié de créer un journal en utilisant le paramètre –log /root/.acme.sh/acme.sh.log. On examine les dernières lignes du journal. <file> root@pve:~# tail /root/.acme.sh/acme.sh.log [Tue 10 Sep 2019 00:40:00 PM EDT] ACME_REVOKE_CERT='https://acme-v02.api.letsencrypt.org/acme/revoke-cert' [Tue 10 Sep 2019 00:40:00 PM EDT] ACME_AGREEMENT='https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf' [Tue 10 Sep 2019 00:40:00 PM EDT] ACME_NEW_NONCE='https://acme-v02.api.letsencrypt.org/acme/new-nonce' [Tue 10 Sep 2019 00:40:00 PM EDT] ACME_VERSION='2' [Tue 10 Sep 2019 00:40:00 PM EDT] Le_NextRenewTime='1573166007' [Tue 10 Sep 2019 00:40:00 PM EDT] _saved_domain='pve.micronator-dev.org' [Tue 10 Sep 2019 00:40:00 PM EDT] _saved_alt='www.pve.micronator-dev.org' [Tue 10 Sep 2019 00:40:00 PM EDT] Domains not changed. [Tue 10 Sep 2019 00:40:00 PM EDT] Skip, Next renewal time is: Fri 08 Nov 2019 10:33:27 PM UTC [Tue 10 Sep 2019 00:40:00 PM EDT] Add '–force' to force to renew. root@pve:~# </file> ===== Instantané VirtualBox ===== À ce stade-ci, on peut prendre un
Instantané de la machine virtuelle afin de pouvoir y revenir en cas d'une future erreur de manipulation.

====== Serveur physique dédié ====== ===== Installation ===== On insère le CD/DVD de
Proxmox-6 dans le lecteur du serveur physique et on l'amorce.

Install Proxmox VE → [Entrée].

Si on accepte les termes de la licence, on clique I agree.



Next.

On entre le pays on choisit un fuseau horaire (Montréal n'est pas là, mais dans l'écran de gestion, il apparaîtra dans les choix) → Next.

- On entre un mot de passe robuste pour root (au moins 7 caractères) et on le confirme.
- On entre l'adresse courriel qui recevra les messages de PVE.
- Next.


- Les différents paramètres sont affichés, on peut les modifier.
- Next.
- Le système Proxmox VE s'installe.

On vérifie les paramètres affichés, puis pour lancer l'installation, on clique Install.


Le système PVE débute son installation.


L'installation rend le système amorçable.

- L'installation est terminée.
- On réamorce le système en cliquant Reboot.


===== Adresse du gestionnaire PVE =====

Après le réamorçage, l'écran de connexion s'affiche.

On voit l'adresse pour accéder au gestionnaire PVE.


===== Connexion PuTTY =====

- On ajoute une nouvelle entrée, port 22 → Save.
- On sélectionne la nouvelle entrée ProxmoxVE → Open.


Oui pour accepter la clé RSA2.

On se logue à la console.
Nom d'usager: root.
Mot de passe: le mot de passe entré lors de l'installation. <file> login as: root root@192.168.1.52's password: mot-de-passe-de-root Linux proxmox 5.0.15-1-pve #1 SMP PVE 5.0.15-1 (Wed, 03 Jul 2019 10:51:57 +0200) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Sep 10 16:29:30 2019 root@proxmox:~# </file> Affichage des cartes réseau <file> root@proxmox:~# lspci | grep Ethernet 02:00.0 Ethernet controller: Broadcom Limited NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 21) 04:00.0 Ethernet controller: Broadcom Limited NetXtreme BCM5722 Gigabit Ethernet PCI Express root@proxmox:~# </file>
===== Inspection de la machine PVE ===== ==== Stockage ==== Le programme d'installation crée un
Groupe de Volumes (VG) appelé pve et des Volumes Logiques (LV) supplémentaires appelés: data, root et swap.

Basic Concepts of Proxmox Virtual Environment


=== Groupe de volumes === <file> root@proxmox:~# vgs VG #PV #LV #SN Attr VSize VFree pve 1 3 0 wz–n- <74.03g 9.25g root@proxmox:~# </file> === Volume physique === <file> root@proxmox:~# pvs PV VG Fmt Attr PSize PFree /dev/sda3 pve lvm2 a– <74.03g 9.25g root@proxmox:~# </file> === Volumes logiques === <file> root@proxmox:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data pve twi-a-tz– <37.28g 0.00 1.59 root pve -wi-ao—- 18.50g swap pve -wi-ao—- 7.00g root@proxmox:~# </file> == Volume data == Ce volume logique utilise
LVM-thin, et est utilisé pour stocker les images des machines virtuelles. LVM-thin est préférable pour cette tâche, car il offre un support efficace pour les Instantanés. == LVM-thin == Certains systèmes de fichiers dont Qemu qcow2 (Quick emulator - Quick Copy On Write)3) supportent LVM-thin. Avec LVM-thin activé, seuls les blocs que le système invité utilisera réellement seront écrits sur le disque de stockage. Par exemple, vous créez une machine virtuelle avec un disque dur de 32 Go et, après l'installation du système d'exploitation invité, le système de fichiers de la machine virtuelle contient seulement 3 Go de données. Dans ce cas, seulement 3 Go sont écrits sur le disque, même si la MV voit un disque dur de 32 Go. De cette façon, LVM-thin vous permet de créer des disques qui sont plus grands que les blocs de stockage actuellement disponibles. Vous pouvez créer de grands disques pour vos machines virtuelles et quand le besoin se présente, ajouter plus de disques à votre stockage sans redimensionner les systèmes de fichiers des machines virtuelles. Tous les types de stockage qui possèdent la fonctionnalité “Instantané” supportent également LVM-thin. === Volume root === Le volume logique root est formaté en ext4 et contient le système d'exploitation. <file> root@proxmox:~# cat /etc/fstab # <file system> <mount point> <type> <options> <dump> <pass> /dev/pve/root / ext4 errors=remount-ro 0 1 /dev/pve/swap none swap sw 0 0 proc /proc proc defaults 0 0 root@proxmox:~# </file>
===== Communication ===== ==== Dispositifs réseau ==== <file> root@proxmox:~# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 00:10:18:27:7d:c9 brd ff:ff:ff:ff:ff:ff 3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP mode DEFAULT group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff root@proxmox:~# </file>
Référence: https://pve.proxmox.com/wiki/Network_Configuration. === Noms des interfaces réseau Systemd === Systemd utilise le préfixe de deux caractères en pour les périphériques réseau Ethernet. Les caractères suivants dépendent du pilote de périphérique et à quel modèle il correspond. - o<index>[n<phys_port_name>|d<dev_port>] — devices on board.
- s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — device by hotplug id.
- [P<domain>]p<bus>s<slot>[f<function>][n<phys_port_name>|d<dev_port>] — devices by bus id.
- x<MAC> — device by MAC address. Les modèles les plus courants sont: enp2s0 — est la carte réseau sur pcibus 2 slot 0.
eno1 — est la première carte réseau embarquée. Affichage des cartes réseau de notre serveur. <file> root@proxmox:~# lspci | grep Ethernet 02:00.0 Ethernet controller: Broadcom Limited NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 21) 04:00.0 Ethernet controller: Broadcom Limited NetXtreme BCM5722 Gigabit Ethernet PCI Express root@proxmox:~# </file> <file> root@proxmox:~# cat /proc/net/dev Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 vmbr0: 58716 889 0 0 0 0 0 0 34589 195 0 0 0 0 0 0 eno1: 74708 890 0 2 0 0 0 671 35831 194 0 0 0 0 0 0 enp2s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 root@proxmox:~# </file> ==== Adresses ==== <file> root@proxmox:~# ip address show 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 valid_lft forever preferred_lft forever 2: enp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:10:18:27:7d:c9 brd ff:ff:ff:ff:ff:ff 3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff inet 192.168.1.52/24 brd 192.168.1.255 scope global vmbr0 valid_lft forever preferred_lft forever inet6 fe80::226:b9ff:fe7a:8edc/64 scope link valid_lft forever preferred_lft forever root@proxmox:~# </file> Le dispositif vmbr0 prend l'adresse
MAC du dispositif eno1.
==== Vérification de la connexion Internet ==== <file> root@proxmox:~# ping -c3 google.com PING google.com (172.217.1.14) 56(84) bytes of data. 64 bytes from iad23s25-in-f14.1e100.net (172.217.1.14): icmp_seq=1 ttl=57 time=12.0 ms 64 bytes from iad23s25-in-f14.1e100.net (172.217.1.14): icmp_seq=2 ttl=57 time=12.0 ms 64 bytes from iad23s25-in-f14.1e100.net (172.217.1.14): icmp_seq=3 ttl=57 time=11.8 ms — google.com ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 11.755/11.921/12.005/0.117 ms root@proxmox:~# </file> ===== Performance de l'hôte ===== <file> root@proxmox:~# pveperf CPU BOGOMIPS: 40431.68 REGEX/SECOND: 1315068 HD SIZE: 18.08 GB (/dev/mapper/pve-root) BUFFERED READS: 49.15 MB/sec AVERAGE SEEK TIME: 17.58 ms FSYNCS/SECOND: 12.95 DNS EXT: 37.70 ms DNS INT: 20.38 ms (micronator-dev.org) root@proxmox:~# </file> ==== Souscription ==== <file> root@proxmox:~# pvesubscription get message: There is no subscription key serverid: 95581739A670F04DEA88D32431E185B4 status: NotFound url: http://www.proxmox.com/products/proxmox-ve/subscription-service-plans root@proxmox:~# </file>
===== Affichage de l'adresse du gestionnaire PVE ===== Par la console du serveur, on peut toujours retrouver l'adresse
IP du gestionnaire PVE en affichant le fichier /etc/network/interfaces. <file> root@proxmox:~# cat /etc/network/interfaces auto lo iface lo inet loopback iface eno1 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.1.52 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports eno1 bridge_stp off bridge_fd 0 root@proxmox:~# </file>
====== Interface Web ====== ===== Adresse et navigateur ===== Pour savoir l'adresse du gestionnaire
PVE, voir le paragraphe Affichage de l'adresse du gestionnaire PVE ou utiliser la commande du paragraphe: Adresse du gestionnaire PVE. Il faut absolument autoriser les témoins et JavaScript dans le navigateur, sinon l'écran de connexion ne sera pas présenté. ===== Connexion ===== Si vous ne pouvez accéder à l'adresse du gestionnaire, voir la section Gestionnaire PVE.

- On pointe un navigateur vers: https://192.168.1.52:8006/
- Avancé…


C'est une nouvelle installation, il faut Ajouter une exception…

- Language: → French (l'écran va se rafraîchir).

- Utilisateur: root.
- Mot de passe: celui donné lors de l'installation.
- Login.

On nous suggère de visiter le site www.proxmox.com pour plus d'informations sur les options de contrat de service.

- https://www.proxmox.com/en/proxmox-ve/pricing
- Sur le site de Proxmox, les différents plans de souscription sont affichés.



De retour au gestionnaire PVE → OK pour accéder à l'écran de gestion.


==== Fuseau horaire ==== Maintenant, nous pouvons ajuster le fuseau horaire à
America/Montreal.

Vue Serveur → Datacenter → proxmox → Système → Temps → Éditer.


Choisir America/Montreal → OK.

Au retour, on voit que la Zone de temps est bien America/Montreal.


===== Mise à jour ===== Cette mise à jour s'appliquera au système complet.

Vue Serveur → Datacenter → proxmox → Système → Mise à jour.


Rafraîchir.


OK.

Certains fichiers n'ont pu être téléchargés.

L'erreur de téléchargement vient du fait que nous n'avons aucun plan de souscription à Proxmox.

Après la recherche de mises à jour dans les référentiels, on ferme la fenêtre.

Le chargement du cache s'effectue.

Appliquer les mises à jour.


Pour continuer, entrer Y → [Entrée].

- On peut ignorer les suggestions.
- Pour quitter, on entre “q” sans guillemets.

On prend le choix par défaut UTF-8 → OK.

On prend le choix par défaut English (US) → OK.

La mise à jour est terminée. On peut fermer cette fenêtre.

À l'écran du gestionnaire → Rafraîchir.

OK.

On peut fermer l'écran surgissant.

- Un rechargement du cache s'effectue.

- Il n'y a plus de mises à jour disponibles.


===== Cartes réseau =====

- On peut examiner les cartes réseau:
Vue Stockage → Datacenter → proxmox → Système → Réseau.

- Les cartes réseau ont été correctement détectées.


===== Souscription =====

Nous allons désactiver l'affichage de l'écran surgissant No valid subscription,

On active la variable $no_subscription_info dans le fichier Subscription.pm et en redémarrant pveproxy.service. <file> root@pve:~# sed -i.bak 's/NotFound/Active/g' /usr/share/perl5/PVE/API2/Subscription.pm && systemctl restart pveproxy.service root@pve:~# </file> On vérifie que le statut de la variable est à la valeur Active. <file> root@pve:~# cat /usr/share/perl5/PVE/API2/Subscription.pm | grep -C 1 “Active” return $info if $info→{status} ne 'Active'; – my $no_subscription_info = { status ⇒ “Active”, message ⇒ “There is no subscription key”, – if (!$param→{force} && $info→{status} eq 'Active') { my $age = time() - $info→{checktime}; root@pve:~# </file> On redémarre les services. <file> root@pve:~# service pvestatd restart root@pve:~# </file> <file> root@pve:~# service pvedaemon restart root@pve:~# </file>

Tout fonctionne correctement et notre serveur physique est à jour.


====== Certificat Let's Encrypt ====== Voir le chapitre Certificat TLS/SSL Let's Encrypt dans le Cahier-04:
NethServer LOCAL & Certificat Let's Encrypt du “Cours NehServer-101”. ===== Ajout des nouveaux CNAME chez Cloudflare.com =====

proxmox


www.proxmox


- On vérifie.

- On se déconnecte de Cloudflare.


===== Installation du script acme.sh ===== ==== Utilitaire curl ==== Installation de curl pour le téléchargement du fichier du script acme.sh. <file> root@pve:~# apt-get install -y curl Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: libcurl4 The following NEW packages will be installed: curl libcurl4 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 596 kB of archives. After this operation, 1,123 kB of additional disk space will be used. Get:1 http://ftp.ca.debian.org/debian buster/main amd64 libcurl4 amd64 7.64.0-4 [332 kB] Get:2 http://ftp.ca.debian.org/debian buster/main amd64 curl amd64 7.64.0-4 [264 kB] Fetched 596 kB in 0s (1,247 kB/s) Selecting previously unselected package libcurl4:amd64. (Reading database … 43351 files and directories currently installed.) Preparing to unpack …/libcurl4_7.64.0-4_amd64.deb … Unpacking libcurl4:amd64 (7.64.0-4) … Selecting previously unselected package curl. Preparing to unpack …/curl_7.64.0-4_amd64.deb … Unpacking curl (7.64.0-4) … Setting up libcurl4:amd64 (7.64.0-4) … Setting up curl (7.64.0-4) … Processing triggers for man-db (2.8.5-2) … Processing triggers for libc-bin (2.28-10) … root@pve:~# </file> === Téléchargement du fichier du script === <file> root@pve:~# curl https://get.acme.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 705 0 705 0 0 3248 0 –:–:– –:–:– –:–:– 3248 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 186k 100 186k 0 0 707k 0 –:–:– –:–:– –:–:– 707k [Tue 10 Sep 2019 06:36:41 PM EDT] Installing from online archive. [Tue 10 Sep 2019 06:36:41 PM EDT] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz [Tue 10 Sep 2019 06:36:41 PM EDT] Extracting master.tar.gz [Tue 10 Sep 2019 06:36:41 PM EDT] Installing to /root/.acme.sh [Tue 10 Sep 2019 06:36:41 PM EDT] Installed to /root/.acme.sh/acme.sh [Tue 10 Sep 2019 06:36:41 PM EDT] Installing alias to '/root/.bashrc' [Tue 10 Sep 2019 06:36:41 PM EDT] OK, Close and reopen your terminal to start using acme.sh [Tue 10 Sep 2019 06:36:41 PM EDT] Installing cron job no crontab for root no crontab for root [Tue 10 Sep 2019 06:36:41 PM EDT] Good, bash is found, so change the shebang to use bash as preferred. [Tue 10 Sep 2019 06:36:42 PM EDT] OK [Tue 10 Sep 2019 06:36:42 PM EDT] Install success! root@pve:~# </file> On vérifie. <file> root@pve:~# ls -als total 40 4 drwx—— 5 root root 4096 Sep 10 18:36 . 4 drwxr-xr-x 18 root root 4096 Sep 10 17:02 .. 4 drwx—— 5 root root 4096 Sep 10 18:36 .acme.sh 4 -rw——- 1 root root 16 Sep 10 16:29 .bash_history 4 -rw-r–r– 1 root root 601 Sep 10 18:36 .bashrc 4 -rw-r–r– 1 root root 25 Sep 10 16:28 .forward 4 drwx—— 3 root root 4096 Sep 10 16:29 .gnupg 4 -rw-r–r– 1 root root 148 Aug 17 2015 .profile 4 -rw——- 1 root root 1024 Sep 10 16:31 .rnd root@pve:~# </file> ===== Variables d'environnement ===== On doit définir certaines variables d’environnement correspondant à nos informations d’identification et à notre validateur
DNS c.-à-d. Cloudflare.
C’est ici que vous devrez effectuer des ajustements nécessaires si vous utilisez un autre serveur de noms que
Cloudflare - pour plus de détails, voir ce lien pour la documentation du script acme.sh: https://github.com/Neilpang/acme.sh/wiki/dnsapi.
L'exemple ci-dessous est celui d'une installation utilisant le serveur de noms
Cloudflare. On exporte, dans l'environnement présentement en mémoire, notre clé API Globale de Cloudflare. <file> [root@tchana ~]# export CF_Key=“VotreCléGlobaleDeCloudflare” [root@tchana ~]# </file> On exporte notre adresse courriel utilisée pour notre enregistrement chez Cloudflare. <file> [root@tchana ~]# export CF_Email=“VotreAdresseCourrielDEnregistrementChezCloudflare” [root@tchana ~]# </file> On vérifie les exportations. <file> [root@tchana ~]# env | grep -i CF_ CF_Email= VotreAdresseCourrielDEnregistrementChezCloudflare CF_Key= VotreCléGlobaleDeCloudflare [root@tchana ~]# </file> Si vous réamorcez le Serveur PVE avant la demande d'un certificat, vous perdez ces exportations. Il vous faudra alors les refaire. ===== Demande d'un certificat de test ===== <file> [root@tchana ~]# /root/.acme.sh/acme.sh \ –issue \ –dns dns_cf \ -d proxmox.micronator-dev.org \ -d www.proxmox.micronator-dev.org \ –accountemail “michelandre@micronator.org” \ –keypath /etc/pve/local/pveproxy-ssl.key \ –fullchainpath /etc/pve/local/pveproxy-ssl.pem \ –reloadcmd “systemctl restart pveproxy” \ –log /root/.acme.sh/acme.sh.log \ –test \ –force [Tue 10 Sep 2019 06:39:16 PM EDT] Using stage ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory [Tue 10 Sep 2019 06:39:17 PM EDT] Create account key ok. [Tue 10 Sep 2019 06:39:17 PM EDT] Registering account [Tue 10 Sep 2019 06:39:18 PM EDT] Registered [Tue 10 Sep 2019 06:39:18 PM EDT] ACCOUNT_THUMBPRINT='DhfgmCkjdV_zUAumSuOREjUR1lNr-QYIAqA5s1b6plI' [Tue 10 Sep 2019 06:39:18 PM EDT] Creating domain key [Tue 10 Sep 2019 06:39:18 PM EDT] The domain key is here: /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.key [Tue 10 Sep 2019 06:39:18 PM EDT] Multi domain='DNS:proxmox.micronator-dev.org,DNS:www.proxmox.micronator-dev.org' [Tue 10 Sep 2019 06:39:18 PM EDT] Getting domain auth token for each domain … [Tue 10 Sep 2019 06:39:19 PM EDT] Getting webroot for domain='proxmox.micronator-dev.org' [Tue 10 Sep 2019 06:39:19 PM EDT] Getting webroot for domain='www.proxmox.micronator-dev.org' … [Tue 10 Sep 2019 06:39:48 PM EDT] Verifying: proxmox.micronator-dev.org [Tue 10 Sep 2019 06:39:50 PM EDT] Success [Tue 10 Sep 2019 06:39:50 PM EDT] Verifying: www.proxmox.micronator-dev.org [Tue 10 Sep 2019 06:39:53 PM EDT] Success … [Tue 10 Sep 2019 06:39:57 PM EDT] Download cert, Le_LinkCert: https://acme-staging-v02.api.letsencrypt.org/acme/cert/fac5e54195ddd18b976e9b2715f5a1f9be76 [Tue 10 Sep 2019 06:39:58 PM EDT] Cert success. —–BEGIN CERTIFICATE—– MIIFbjCCBFagAwIBAgITAPrF5UGV3dGLl26bJxX1ofm+djANBgkqhkiG9w0BAQsF 5bQthGGYwsd5EHlMVFXCEYP4wuUe2eicxUr/NCE6JqbqI3sTlTjvtQchkuLSZ2rF qME= —–END CERTIFICATE—– [Tue 10 Sep 2019 06:39:58 PM EDT] Your cert is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.cer [Tue 10 Sep 2019 06:39:58 PM EDT] Your cert key is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.key [Tue 10 Sep 2019 06:39:58 PM EDT] The intermediate CA cert is in /root/.acme.sh/proxmox.micronator-dev.org/ca.cer [Tue 10 Sep 2019 06:39:58 PM EDT] And the full chain certs is there: /root/.acme.sh/proxmox.micronator-dev.org/fullchain.cer [Tue 10 Sep 2019 06:39:58 PM EDT] Installing key to:/etc/pve/local/pveproxy-ssl.key chmod: changing permissions of '/etc/pve/local/pveproxy-ssl.key': Operation not permitted [Tue 10 Sep 2019 06:39:58 PM EDT] Installing full chain to:/etc/pve/local/pveproxy-ssl.pem [Tue 10 Sep 2019 06:39:58 PM EDT] Run reload cmd: systemctl restart pveproxy [Tue 10 Sep 2019 06:40:04 PM EDT] Reload success root@pve:~# </file> ===== Demande d'un certificat officiel ===== On force notre première demande de certificat officiel Let's Encrypt. <file> [root@tchana ~]# /root/.acme.sh/acme.sh \ –issue \ –dns dns_cf \ -d proxmox.micronator-dev.org \ -d www.proxmox.micronator-dev.org \ –accountemail “michelandre@micronator.org” \ –keypath /etc/pve/local/pveproxy-ssl.key \ –fullchainpath /etc/pve/local/pveproxy-ssl.pem \ –reloadcmd “systemctl restart pveproxy” \ –log /root/.acme.sh/acme.sh.log \ –force [Tue 10 Sep 2019 06:44:54 PM EDT] Create account key ok. [Tue 10 Sep 2019 06:44:54 PM EDT] Registering account [Tue 10 Sep 2019 06:44:55 PM EDT] Registered [Tue 10 Sep 2019 06:44:55 PM EDT] ACCOUNT_THUMBPRINT='hZTl7u8PJriLTr_yJTA9p6nGgXTYDls5i3QWO0TGpWs' [Tue 10 Sep 2019 06:44:55 PM EDT] Multi domain='DNS:proxmox.micronator-dev.org,DNS:www.proxmox.micronator-dev.org' [Tue 10 Sep 2019 06:44:55 PM EDT] Getting domain auth token for each domain [Tue 10 Sep 2019 06:44:56 PM EDT] Getting webroot for domain='proxmox.micronator-dev.org' [Tue 10 Sep 2019 06:44:56 PM EDT] Getting webroot for domain='www.proxmox.micronator-dev.org' … [Tue 10 Sep 2019 06:45:21 PM EDT] Checking proxmox.micronator-dev.org for _acme-challenge.proxmox.micronator-dev.org [Tue 10 Sep 2019 06:45:22 PM EDT] Domain proxmox.micronator-dev.org '_acme-challenge.proxmox.micronator-dev.org' success. [Tue 10 Sep 2019 06:45:22 PM EDT] Checking www.proxmox.micronator-dev.org for _acme-challenge.www.proxmox.micronator-dev.org [Tue 10 Sep 2019 06:45:22 PM EDT] Domain www.proxmox.micronator-dev.org '_acme-challenge.www.proxmox.micronator-dev.org' success. [Tue 10 Sep 2019 06:45:22 PM EDT] All success, let's return [Tue 10 Sep 2019 06:45:22 PM EDT] Verifying: proxmox.micronator-dev.org [Tue 10 Sep 2019 06:45:24 PM EDT] Success [Tue 10 Sep 2019 06:45:24 PM EDT] Verifying: www.proxmox.micronator-dev.org [Tue 10 Sep 2019 06:45:27 PM EDT] Success … [Tue 10 Sep 2019 06:45:34 PM EDT] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/0425cf1782b6f2ffaaebf72b6df6ad5d93f8 [Tue 10 Sep 2019 06:45:34 PM EDT] Cert success. —–BEGIN CERTIFICATE—– MIIFjjCCBHagAwIBAgISBCXPF4K28v+q6/crbfatXZP4MA0GCSqGSIb3DQEBCwUA … EO3jraRnlFx6f9ZrL8PVp48IUG1bph8SYojVGSVqU86tLA== —–END CERTIFICATE—– [Tue 10 Sep 2019 06:45:34 PM EDT] Your cert is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.cer [Tue 10 Sep 2019 06:45:34 PM EDT] Your cert key is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.key [Tue 10 Sep 2019 06:45:34 PM EDT] The intermediate CA cert is in /root/.acme.sh/proxmox.micronator-dev.org/ca.cer [Tue 10 Sep 2019 06:45:34 PM EDT] And the full chain certs is there: /root/.acme.sh/proxmox.micronator-dev.org/fullchain.cer [Tue 10 Sep 2019 06:45:34 PM EDT] Installing key to:/etc/pve/local/pveproxy-ssl.key [Tue 10 Sep 2019 06:45:34 PM EDT] Installing full chain to:/etc/pve/local/pveproxy-ssl.pem [Tue 10 Sep 2019 06:45:34 PM EDT] Run reload cmd: systemctl restart pveproxy [Tue 10 Sep 2019 06:45:39 PM EDT] Reload success root@pve:~# </file> ===== Fichier hosts =====

On entre notre nouveau domaine, ses CNAME et son adresse IP dans le fichier hosts:

C:\Windows\System32\drivers\etc\hosts.


===== Vérification du certificat =====

On se rend à la page:

Il n'est pas nécessaire d'ajouter une exception pour le certificat, car il a été émis par une autorité de certification reconnue. Le cadenas est vert.

On clique le cadenas pour afficher les informations de la connexion, puis on clique l'icône >.

Plus d'informations.

Onglet Sécurité → Afficher le certificat.


- Le certificat a été émis par Let's Encrypt Authority X3.
- On clique l'onglet Détails.

- On clique Nom alternatif du sujet du certificat.
- Tous les CNAME sont présents.
- Fermer toutes les fenêtres.


===== Renouvellement ===== À chaque jour, une tâche cron vérifie le nombre de jours restant pour la validité. <file> [root@tchana ~]# crontab -l 41 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null [root@tchana ~]# </file> Le renouvellement se fera automatiquement lorsqu'il ne restera que 30 jours de validité.
===== Journal ===== Nous avons spécifié de créer un journal en utilisant le paramètre –log /root/.acme.sh/acme.sh.log. On examine les dernières lignes du journal. <file> root@pve:~# tail /root/.acme.sh/acme.sh.log [Tue 10 Sep 2019 06:45:34 PM EDT] Your cert is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.cer [Tue 10 Sep 2019 06:45:34 PM EDT] Your cert key is in /root/.acme.sh/proxmox.micronator-dev.org/proxmox.micronator-dev.org.key [Tue 10 Sep 2019 06:45:34 PM EDT] v2 chain. [Tue 10 Sep 2019 06:45:34 PM EDT] The intermediate CA cert is in /root/.acme.sh/proxmox.micronator-dev.org/ca.cer [Tue 10 Sep 2019 06:45:34 PM EDT] And the full chain certs is there: /root/.acme.sh/proxmox.micronator-dev.org/fullchain.cer [Tue 10 Sep 2019 06:45:34 PM EDT] Installing key to:/etc/pve/local/pveproxy-ssl.key [Tue 10 Sep 2019 06:45:34 PM EDT] Installing full chain to:/etc/pve/local/pveproxy-ssl.pem [Tue 10 Sep 2019 06:45:34 PM EDT] Run reload cmd: systemctl restart pveproxy [Tue 10 Sep 2019 06:45:39 PM EDT] Reload success [Tue 10 Sep 2019 06:45:39 PM EDT] _on_issue_success root@pve:~# </file>
===== Propriétés du certificat dans l'interface Web =====

- Vue Serveur → Datacenter → proxmox → Système → Certificats.

- Nous avons forcer notre dernière demande de certificat officiel Let's Encrypt le 2019-09-10.

Le certificat officiel Let's Encrypt fonctionne correctement.



====== Création d'une machine virtuelle NethServer ====== ===== Diagramme réseau ===== Le
Serveur NethServer virtuel (ns-1) créé dans PVE s'intégrera dans le diagramme réseau ci-dessous. ===== Deuxième carte réseau ===== On veut activer et configurer la deuxième carte réseau de notre machine physique proxmox.micronator-dev.org. ==== Configuration sur le serveur de test pve ==== Vu que les manipulations des cartes réseau peuvent se terminer en désastre, on commence par modifier les cartes réseau de notre serveur de test pve.micronator-dev.org (nous avons créé ce serveur PVE pour spécifiquement faire des tests de configuration). Lors de la création de la MV dans VirtualBox, nous avons spécifié deux cartes réseau, mais lors de l'installation et de la configuration de ce système, nous avons seulement configuré la première, la deuxième étant désactivée.

Vue Serveur → Datacenter → pve → Système → Réseau pour afficher le statut des cartes réseau.

Première carte réseau dans VirtualBox.

Deuxième carte réseau dans VirtualBox.

Installation & config.

<file> root@pve:~# ip addr 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 valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000 link/ether 08:00:27:c8:9c:1c brd ff:ff:ff:ff:ff:ff 3: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:a5:fc:72 brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 08:00:27:c8:9c:1c brd ff:ff:ff:ff:ff:ff inet 192.168.1.44/24 brd 192.168.1.255 scope global vmbr0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fec8:9c1c/64 scope link valid_lft forever preferred_lft forever root@pve:~# </file> === Activation de la deuxième carte réseau ===


On sélectionne enp0s8 → Éditer.

On coche Démarrage automatique → OK.


Créer → Linux Bridge.

- IPv4/CDR: → 10.10.10.44/24.
- Ports du bridge: → enp0s8.


Changements en attente (Redémarrez le serveur pour appliquer les modifications).

On redémarre le serveur pve.micronator-dev.org. <file> root@pve:~# reboot </file> On vérifie. <file> root@pve:~# ip addr 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 valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000 link/ether 08:00:27:c8:9c:1c brd ff:ff:ff:ff:ff:ff 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr1 state UP group default qlen 1000 link/ether 08:00:27:a5:fc:72 brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 08:00:27:c8:9c:1c brd ff:ff:ff:ff:ff:ff inet 192.168.1.44/24 brd 192.168.1.255 scope global vmbr0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fec8:9c1c/64 scope link valid_lft forever preferred_lft forever 5: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 08:00:27:a5:fc:72 brd ff:ff:ff:ff:ff:ff inet 10.10.10.44/24 brd 10.10.10.255 scope global vmbr1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fea5:fc72/64 scope link valid_lft forever preferred_lft forever root@pve:~# </file> La deuxième carte réseau est active, fonctionnelle et est représentée par vmbr1.

==== Configuration sur le serveur physique proxmox ==== Nos tests sont concluants. On peut refaire, sans craintes, les mêmes manipulations sur notre serveur physique
proxmox.micronator-dev.org.



- On sélectionne enp2s0 → Éditer.
- On coche Démarrage automatique → OK.

- Créer → Linux Bridge.
- IPv4/CDR:10.10.10.52/24.
- Ports du bridge: → enp2s0.
- Créer.

Changements en attente (Redémarrez le serveur pour appliquer les modifications).

--- /etc/network/interfaces	2019-09-12 14:38:45.216731205 -0400
+++ /etc/network/interfaces.new	2019-09-12 20:53:41.635509920 -0400
@@ -15,6 +15,7 @@
 auto eno1
 iface eno1 inet manual
 
+auto enp2s0
 iface enp2s0 inet manual
 
 auto vmbr0
@@ -26,3 +27,11 @@
 	bridge-stp off
 	bridge-fd 0
 
+auto vmbr1
+iface vmbr1 inet static
+	address  10.10.10.52
+	netmask  24
+	bridge-ports enp2s0
+	bridge-stp off
+	bridge-fd 0
+

On redémarre le serveur physique proxmox.micronator-dev.org. <file> root@proxmox:~# reboot </file>

Après le redémarrage du système proxmox.micronator-dev.org.

On vérifie les adresse IP de toutes les cartes réseau. <file> root@proxmox:~# ip addr 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 valid_lft forever preferred_lft forever 2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr1 state UP group default qlen 1000 link/ether 00:10:18:27:7d:c9 brd ff:ff:ff:ff:ff:ff 3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff 4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:26:b9:7a:8e:dc brd ff:ff:ff:ff:ff:ff inet 192.168.1.52/24 brd 192.168.1.255 scope global vmbr0 valid_lft forever preferred_lft forever inet6 fe80::226:b9ff:fe7a:8edc/64 scope link valid_lft forever preferred_lft forever 5: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:10:18:27:7d:c9 brd ff:ff:ff:ff:ff:ff inet 10.10.10.52/24 brd 10.10.10.255 scope global vmbr1 valid_lft forever preferred_lft forever inet6 fe80::210:18ff:fe27:7dc9/64 scope link valid_lft forever preferred_lft forever root@proxmox:~# </file>
==== Vérification des connexions aux réseaux ==== On lance 3
ping vers le poste de travail - 192.168.1.81. <file> root@proxmox:~# ping -c3 192.168.1.81 PING 192.168.1.81 (192.168.1.81) 56(84) bytes of data. 64 bytes from 192.168.1.81: icmp_seq=1 ttl=128 time=0.764 ms 64 bytes from 192.168.1.81: icmp_seq=2 ttl=128 time=0.424 ms 64 bytes from 192.168.1.81: icmp_seq=3 ttl=128 time=0.407 ms — 192.168.1.81 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 48ms rtt min/avg/max/mdev = 0.407/0.531/0.764/0.166 ms root@proxmox:~# </file> On lance 3 ping vers le serveur principal connecté directement à l'Internet - 192.168.1.1. <file> root@proxmox:~# ping -c3 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.902 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.548 ms 64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.441 ms — 192.168.1.1 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 52ms rtt min/avg/max/mdev = 0.441/0.630/0.902/0.198 ms root@proxmox:~# </file> On lance 3 ping vers google.com. <file> root@proxmox:~# ping -c3 google.com PING google.com (172.217.0.238) 56(84) bytes of data. 64 bytes from yyz10s03-in-f14.1e100.net (172.217.0.238): icmp_seq=1 ttl=57 time=11.6 ms 64 bytes from yyz10s03-in-f14.1e100.net (172.217.0.238): icmp_seq=2 ttl=57 time=11.8 ms 64 bytes from yyz10s03-in-f14.1e100.net (172.217.0.238): icmp_seq=3 ttl=57 time=12.2 ms — google.com ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 6ms rtt min/avg/max/mdev = 11.640/11.880/12.153/0.228 ms root@proxmox:~# </file> On lance 3 ping vers le serveur pve - 192.168.1.44. <file> root@proxmox:~# ping -c3 192.168.1.44 PING 192.168.1.44 (192.168.1.44) 56(84) bytes of data. 64 bytes from 192.168.1.44: icmp_seq=1 ttl=64 time=1.48 ms 64 bytes from 192.168.1.44: icmp_seq=2 ttl=64 time=2.12 ms 64 bytes from 192.168.1.44: icmp_seq=3 ttl=64 time=0.619 ms — 192.168.1.44 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 0.619/1.404/2.117/0.613 ms root@proxmox:~# </file> On vérifie le réseau 10.10.10.0/24. <file> root@proxmox:~# ping -c3 10.10.10.81 PING 10.10.10.81 (10.10.10.81) 56(84) bytes of data. 64 bytes from 10.10.10.81: icmp_seq=1 ttl=128 time=3.04 ms 64 bytes from 10.10.10.81: icmp_seq=2 ttl=128 time=0.496 ms 64 bytes from 10.10.10.81: icmp_seq=3 ttl=128 time=0.414 ms — 10.10.10.81 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 29ms rtt min/avg/max/mdev = 0.414/1.315/3.037/1.218 ms root@proxmox:~# </file> <file> root@proxmox:~# ping -c3 10.10.10.44 PING 10.10.10.44 (10.10.10.44) 56(84) bytes of data. 64 bytes from 10.10.10.44: icmp_seq=1 ttl=64 time=0.661 ms 64 bytes from 10.10.10.44: icmp_seq=2 ttl=64 time=0.617 ms 64 bytes from 10.10.10.44: icmp_seq=3 ttl=64 time=0.669 ms — 10.10.10.44 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 53ms rtt min/avg/max/mdev = 0.617/0.649/0.669/0.022 ms root@proxmox:~# </file> On vérifie si le serveur pve peut communiquer avec le serveur proxmox. <file> root@pve:~# ping -c3 192.168.1.52 PING 192.168.1.52 (192.168.1.52) 56(84) bytes of data. 64 bytes from 192.168.1.52: icmp_seq=1 ttl=64 time=1.09 ms 64 bytes from 192.168.1.52: icmp_seq=2 ttl=64 time=1.27 ms 64 bytes from 192.168.1.52: icmp_seq=3 ttl=64 time=1.24 ms — 192.168.1.52 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 9ms rtt min/avg/max/mdev = 1.088/1.200/1.271/0.080 ms root@pve:~# </file> <file> root@pve:~# ping -c3 10.10.10.52 PING 10.10.10.52 (10.10.10.52) 56(84) bytes of data. 64 bytes from 10.10.10.52: icmp_seq=1 ttl=64 time=0.988 ms 64 bytes from 10.10.10.52: icmp_seq=2 ttl=64 time=1.16 ms 64 bytes from 10.10.10.52: icmp_seq=3 ttl=64 time=1.05 ms — 10.10.10.52 ping statistics — 3 packets transmitted, 3 received, 0% packet loss, time 6ms rtt min/avg/max/mdev = 0.988/1.066/1.158/0.079 ms root@pve:~# </file>

La deuxième carte réseau est activée, configurée et fonctionne correctement.


===== Téléversement de l'ISO NethServer dans l'environnement PVE =====

Vue Serveur → Datacenter → proxmox → local (proxmox) → Contenu → Upload.

Choisir fichier.

Sélectionner le fichier ISO → Ouvrir.

Upload.

Le fichier ISO se téléverse (peut prendre un certain temps).

Le fichier ISO pour l'installation d'un Serveur NethServer est maintenant dans l'environnement PVE.

Si la taille du fichier indique une grandeur moindre, simplement faire un rafraîchissement de la page du fureteur.

==== Vérification par l'interface Web ====

- Vue par pools → Datacenter → Stockage.

- On voit que le fichier ISO est emmagasiné dans le chemin /var/lib/vz.

==== Vérification par WinSCP ==== On crée une nouvelle connexion dans WinSCP pour accéder au serveur proxmox.

On entre les informations demandées → Sauver…

On entre un nom pour cette connexion → OK.

Connexion → on accepte le certificat.


On entre le mot de passe de root → OK.

- On se rend dans le répertoire /var/lib/vz/template/iso.
- Le fichier ISO pour le Serveur NethServer s'y trouve.


===== Création de la machine virtuelle NethServer ===== ==== Paramètres de la machine virtuelle ==== -
Nom de la machine virtuelle: → NethServer-7.6.1810. - Nom du serveur virtuel: → ns-1. - Le nom complet FQDN: → ns1.micronator-dev.org. - Mémoire: → 4096 MB. - Disque: → 8 GB. - IP (réseau local): → 192.168.1.11 / Masque: 255.255.255.0. - IP (réseau externe): → 10.10.10.11 / Masque: 255.255.255.0. - Passerelle: → 192.168.1.1. ==== Création de la machine virtuelle ====

On clique Créer VM.

Onglet Général → NethServer-7.6.1810.

Onglet OS → on sélectionne l'ISO NethServer.

Si le nombre de CPU alloués à la machine virtuelle (ex: 4) dépasse le
nombre de CPU de l'hôte (ex: 2), vous recevrez l'erreur ci-contre.

Dans notre cas, nous avons 4 coeurs avec 2 CPU/coeur = 8 CPU.



Onglet Système → on coche Agent Qemu.

- Onglet Disque Dur.
- Bus/Device VirtIO4) Block est plus rapide.
- Taille du disque (GiB): → 8.

- Onglet CPU → Sockets: 2 → Coeurs: 2.
- Donne un total de 4 coeurs.


Onglet Mémoire → Mémoire (MiB): → 4096.

Onglet Réseau → on prend les défauts surtout pour Modèle: VirtIO (Paravirtualisé5)).

- Onglet Confirmation.
- On vérifie → Terminé.


==== Ajout d'une deuxième carte réseau ====

- Un Serveur NethServer a besoin de deux cartes réseau.

- Matériel → Ajouter → Carte réseau.

- Pont: → vmbr1.
- Modèle: → VirtIO (paravirtualisé).
- Parefeu: NethServer a son propre pare-feu.
- Ajouter.




La nouvelle carte réseau a été ajoutée.


===== Pare-feu =====
Référence: https://pve.proxmox.com/wiki/Firewall.

Vue par pools → Datacenter → 100 (NethServer-7.6.1810) → Parefeu → Options.

NethServer possède son propre pare-feu. Il n'est donc pas nécessaire d'utiliser celui de PVE.

On sélectionne les différentes options → Éditer.

DHCP
On désactive cette option.
Il ne faut surtout pas avoir deux serveurs DHCP sur le même segment IP.

Les options NDP et Annonce du routeur sont utilisées par IPv6. Par défaut, les machines virtuelles sont autorisées à envoyer des messages de sollicitation d'aiguilleur (router) (pour rechercher un aiguilleur) et à recevoir des paquets d'annonce d'aiguilleur. Ceci leur permet d'utiliser la configuration automatique sans état (stateless6)). D'autre part, les ordinateurs virtuels ne peuvent pas s'annoncer eux-mêmes en tant qu'aiguilleur sauf si l'option Annonce du routeur (radv: 17)) est définie.
===== Instantané =====

À ce stade-ci, on peut prendre un Instantané PVE de la machine virtuelle afin de pouvoir y revenir en cas d'une future erreur de manipulation.

Vue par pool → Datacenter → Snapshots → Créer un snapshot.




Caractères permis dans le nom de l'Instantané.

- On entre un nom descriptif.
- On décoche Inclure la RAM.
- On entre une description plus détaillée.
- Créer un snapshot.

L'Instantané est terminé en seulement quelques secondes.


====== Installation de NethServer ====== ===== Démarrage et installation =====

On amorce la machine virtuelle en cliquant Démarrer, puis on ouvre une console en cliquant Console.



On presse la clé [Entrée] pour lancer l'installation.




DATE & TIME.

- On choisit un fuseau horaire, car Montréal n'est pas là. Il le sera dans l'interface Web de NethServer.
- Done.

KEYBOARD.

On sélectionne le défaut → Done.

NETWORK & HOSTNAME.



On sélectionne la première carte réseau on s'assure qu'elle est active → Configure…



- Onglet General.
- On coche Automatically connect to this…

Onglet IPv4 Settings → Manual → Add → on entre l'adresse IP, le masque et l'IP de la passerelle (l'adresse de notre serveur connecté directement à l'Internet) i.d. pour DNS servers → Save.


- On sélectionne la deuxième carte réseau.
- On s'assure qu'elle est active.
- Configure…


- Onglet General.
- On coche Automatically connect to this…

Onglet IPv4 Settings → Manual → Add → on entre l'adresse IP, le masque et l'IP de la passerelle (l'adresse du serveur proxmox) → Save.

Host name: on entre le FQDN de notre nouveau serveur NethServer → Apply → Done.



Begin Installation.



ROOT PASSWORD.

On entre un mot de passe robuste → on le confirme → Done.


L'installation se poursuit.

À la fin de l'installation, le serveur réamorce.


===== Première connexion =====

- Les URL pour se connecter à l'interface Web sont affichées:

- On se connecte avec le justificatif de l'utilisateur root.

- On est connecté à la console du serveur.


===== Instantané ===== À ce stade-ci, on peut prendre un
Instantané PVE de la machine virtuelle afin de pouvoir y revenir en cas d'une future erreur de manipulation.



Vue par pool → Datacenter → 100 (NethServer-7.6.1810) → Snapshots → Créer un snapshot.

- On entre un nom descriptif.
- On décoche Inclure la RAM.
- On entre une description plus détaillée.
- Créer un snapshot.

L'Instantané est terminé.


===== Connexion à l'interface Web =====
NethServer peut être configuré à l'aide de l'interface Web du gestionnaire du serveur.

À partir de notre poste de travail, nous avons besoin d'un navigateur Web tel que Mozilla Firefox, Google Chrome ou Safari pour accéder à l'interface Web à l'aide de l'adresse (URL) https://abcd:980abcd est l'adresse IP configurée lors de l'installation du serveur et 980 le port utilisé par l'interface Web.

- Pour l'instant, on se connecte à l'interface WEB par l'IP du réseau LOCAL: https://192.168.1.11:980.

- Avancé… → Accepter le risque et poursuivre.


===== Configuration initiale de NethServer ===== - Nom d'utilisateur par défaut: root. - Nous avons déjà choisi un mot de passe lors de l'installation - Si nous n'avons pas choisi de mot de passe, par défaut il est défini à: Nethesis,1234. Attention, ne pas oublier la “virgule”.
Si le mot de passe de root n'est pas robuste, modifiez-le dès que possible en choisissant un mot de passe composé d’une séquence aléatoire de lettres, de chiffres et de symboles.

On se logue avec le nom de l'usager root.


NEXT.

Restore configuration

- On pourrait récupérer la configuration depuis une sauvegarde précédente.
- Next.

Set host name

- Le FQDN de notre serveur a été entré lors de l'installation. Ici, on peut le modifier.
- Next.

Date and time

- On choisit le fuseau horaire. Ici, nous avons beaucoup plus de choix que lors de l'installation du serveur.
- Next.

SSH

- On change le port SSH de 22 à 2222 pour dérouter, un peu plus, les intrusions malveillantes.
- Next.

=== Smarthost === Envoyer les courriels en utilisant un smarthost8).
Le serveur tentera d'envoyer les courriels directement à la destination
(recommandé dans la plupart des cas). Mais, en choisissant plutôt d'envoyer par un smarthost, il essaiera de les transmettre via le serveur SMTP du FAI (recommandé en cas de connexion peu fiable ou d'ADSL résidentiel, IP dynamique, etc.).

Next.

Usage statistics

- Ces statistique sont utilisées seulement pour connaître le nombre total de NethServer installés.
- Next.

Review changes

Apply.

La configuration initiale du Serveur NethServer est terminée.


====== Configuration de NethServer ====== ===== Réseau ===== ==== Rôles et zones ==== Chaque interface réseau a un rôle qui correspond à une zone du pare-feu. Le pare-feu comporte les zones intégrées suivantes, classées de la plus prépondérante à la moins privilégiée: VERT: → réseau LOCAL. Cette zone est considérée comme fiable. Les hôtes de ce réseau peuvent accéder à n’importe quelle autre zone. Les hôtes connectés via
VPN peuvent être considérés en zone verte.
BLEU: → réseau invité. Les hôtes de ce réseau peuvent accéder aux zones orange et rouge, mais pas à la zone verte.
ORANGE: → réseau
DMZ. Les hôtes de ce réseau peuvent accéder à la zone rouge, mais pas aux zones verte et bleue.
ROUGE: → réseau externe/Internet. Les hôtes de ce réseau peuvent uniquement accéder à cette zone. Il existe également une zone de pare-feu spéciale qui représente le pare-feu lui-même. Le pare-feu peut accéder à n’importe quelle zone.
Chaque interface réseau, avec un rôle configuré, est une zone du pare-feu. Les rôles sont “mappés” aux zones
Shorewall comme suit: vert → loc
rouge → net
bleu → bleu
orange → orang
(dans Shorewall, un nom de zone ne peut dépasser 5 caractères)
pare-feu → FW Les noms personnalisés de zones sont directement “mappés” sur
Shorewall en respectant la limite de 5 caractères.
Les interfaces rouges peuvent être configurées avec une adresse
IP statique ou à l'aide de DHCP. Toutes les autres interfaces ne peuvent être configurées qu'avec des adresses IP statiques.

===== Connexion Internet ===== Lors de la configuration du poste de travail, nous avons configuré la carte
RJ-45 pour que ce soit elle qui nous connecte à l'internet. Nous lui avons donné l'adresse IP statique (fixe) 192.168.1.81 et comme passerelle l'adresse 192.168.1.1. De plus, nous assumons que c'est le serveur dorgee.micronator.org qui sert de serveur DHCP et qui fournit dynamiquement les adresses IP à tous les autres postes sur le réseau 192.168.1.0/24. ==== Vérification des adresses IP du Serveur NethServer ====

Configuration → Network.

- Sous Network, on voit que le réseau de la carte eth0 est vert indiquant que c'est un réseau de confiance et implique que quiconque sur le réseau 192.168.1.1/24 peut avoir accès au gestionnaire Web du serveur s'il connaît le mot de passe de root. - Le réseau de la carte eth1 est aussi vert indiquant que c'est aussi un réseau de confiance. === Carte eth0 ===

On s'assure que la première carte réseau possède bien l'adresse 192.168.1.11, que son Role est LAN (green) pour indiquer que c'est elle qui connecte le serveur au réseau LOCAL et que sa passerelle est l'adresse IP de notre serveur principal (directement branché à l'Internet), sinon on édite la configuration de cette carte en cliquant Edit, à la fin de la ligne sur la capture d'écran ci-dessus.

=== Carte eth1 === On s'assure que la deuxième carte réseau possède bien l'adresse 10.10.10.11 et on la configure pour avoir un Role de DMZ (orange) pour indiquer que c'est elle qui connecte le serveur à l'Internet. On édite la configuration de cette carte en cliquant Edit, à la fin de la ligne sur la capture d'écran ci-dessous.


Au retour, on vérifie que la carte eth1 possède bien le rôle de DMZ.


==== Serveur DNS ==== On clique DNS servers et on vérifie que le serveur
DNS de notre système est bien 192.168.1.1, l'adresse de notre serveur principal qui est directement branché à l'Internet, sinon on ajuste → SUBMIT.


Vérification de la communication

- On crée une nouvelle entrée dans PuTTY pour le Serveur NethServer. Ici le port est 2222.

- Open et on accepte le certificat.

On se connecte en utilisateur root et le mot de passe qu’on lui a attribué. <file> login as: root root@192.168.1.11's password:mot-de-passe-de-root Last login: Fri Sep 13 17:07:11 2019 Welcome to NethServer This is a NethServer installation. Before editing configuration files, be aware of the automatic events and templates system. http://docs.nethserver.org * [root@ns-1 ~]# </file> On affiche la configuration des cartes réseau. <file> [root@ns-1 ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::10ac:dcff:fe57:d608 prefixlen 64 scopeid 0x20<link> ether 12:ac:dc:57:d6:08 txqueuelen 1000 (Ethernet) RX packets 180905 bytes 233843665 (223.0 MiB) RX errors 0 dropped 21 overruns 0 frame 0 TX packets 149049 bytes 27381092 (26.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.10.10.11 netmask 255.255.255.0 broadcast 10.10.10.255 ether 8e:9a:a3:3d:b4:dd txqueuelen 1000 (Ethernet) RX packets 7964 bytes 560977 (547.8 KiB) RX errors 0 dropped 21 overruns 0 frame 0 TX packets 147 bytes 10378 (10.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 578 bytes 60489 (59.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 578 bytes 60489 (59.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@ns-1 ~]# </file>

- Les adresses IP sont correctes.

- On peut comparer leur adresse MAC.

On affiche le serveur DNS. <file> [root@ns-1 ~]# cat /etc/resolv.conf # ================= DO NOT MODIFY THIS FILE ================= # # Manual changes will be lost when this file is regenerated. # # Please read the developer's guide, which is available # at NethServer official site: https://www.nethserver.org # # domain micronator-dev.org search micronator-dev.org # dnsmasq is enabled on this machine: nameserver 127.0.0.1 [root@ns-1 ~]# </file> On affiche la table de routage. <file> [root@ns-1 ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default dorgee.micronat 0.0.0.0 UG 0 0 0 eth0 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 [root@ns-1 ~]# </file> On lance 2 ping vers google.com pour vérifier le fonctionnement du DNS. <file> [root@tchana ~]# ping -c 2 google.com PING google.com (172.217.164.238) 56(84) bytes of data. 64 bytes from yyz12s05-in-f14.1e100.net (172.217.164.238): icmp_seq=1 ttl=57 time=11.9 ms 64 bytes from yyz12s05-in-f14.1e100.net (172.217.164.238): icmp_seq=2 ttl=57 time=11.9 ms — google.com ping statistics — 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 11.925/11.962/11.999/0.037 ms [root@tchana ~]# </file> Le domaine google.com répond impliquant que le DNS a trouvé son adresse 172.217.164.238 et que le serveur-aiguilleur (192.168.1.1) fonctionne correctement. ===== Test de vitesse =====

- On vérifie que tout fonctionne correctement en lançant un test de vitesse.

- Status → Diagnostics → onglet Speedtest → SPEEDTEST.


===== Configuration complète du Serveur Nethserver ===== Pour la mise à jour, la configuration complète, l'ajout de modules supplémentaires etc., voir le Cahier-04: NethServer LOCAL & Certificat Let's Encrypt du “Cours NethServer-101”. Appendices du
Cahier-04: NethServer LOCAL & Certificat Let's Encrypt du “Cours NethServer-101”. 1. Écran conventionnel de démarrage. 2. Nom du serveur dans l'écran de connexion à Webmail. 3. Langue à la console du serveur. 4. Langue de l'interface Web. 5. Table de mappe de clavier. 6. Fermeture automatique de session (session timeout). 7. Fuseau horaire. 8. Certificat Let's Encrypt. 9. Changement du mot de passe de root. 10. ERROR Failed to send host log message. 11. Martian source. 12. Serveur de production

Le Serveur NethServer est installé et fonctionne correctement.


===== Virtualisation matérielle KVM ===== Si vous êtes sous VirtualBox et que vous créez une machine virtuelle, il faut, après sa création, désactiver (mettre à NON) la
Virtualisation matérielle KVM de cette machine: Vue serveur → Datacenter → pve → sélectionner la machine virtuelle → Options → Virtualisation matérielle KVM → décocher Activé → OK.
Si vous ne désactivez pas cette option, la machine virtuelle ne démarrera pas.

Pour afficher le message d'erreur, cliquer Erreur: KVM virtualisation co…

Le message d'erreur s'affiche.


====== Instantané PVE d'une machine virtuelle ======

Ce chapitre provient de la version 0.0.1 de ce document.

Grâce aux Instantanés, vous pouvez enregistrer l'état particulier d'une machine virtuelle à un moment donné pour pouvoir l'utiliser plus tard. Ainsi, après avoir pris un Instantané, vous pourrez à n'importe quel moment revenir à cet état, même si la machine virtuelle a été complètement changée ou endommagée. Les Instantanés sont particulièrement utiles pour disposer d'un système toujours propre et s'assurer que la machine virtuelle est dépourvue de bogues causés par l'installation de logiciels, virus ou autres. ===== Création d'un Instantané d'un Serveur SME ===== Maintenant que le Serveur SME est fonctionnel, il serait dommage de faire une manipulation quelconque et de ruiner tout le travail qu'on a fait à date.
Si nous prenons un Instantané d'une MV qui roule, l'Instantané peut inclure le contenu de la mémoire, ce qui augmentera la taille de l'Instantané. ===== Création d'un Instantané ===== On crée notre premier Instantané avec la machine en marche.



On sélectionne la machine → Snapshots → Créer un snapshot.

- On entre les informations demandées.
- Il n'est pas nécessaire d'inclure la mémoire.
- Créer un snapshot.

Le premier Instantané a été créé.

On répète l'opération pour avoir quelques Instantanés.

On crée un Instantané avec la machine arrêtée.

==== Hiérarchie des Instantanés ==== L'Instantané apparaîtra dans la liste des Instantanés. Sous Description, vous verrez apparaître “Vous êtes ici!”, ce qui signifie que l'état actuel de votre machine virtuelle est dérivé de l'Instantané précédemment créé; il est basé sur ce dernier. Si, à ce moment-là, vous prenez un autre Instantané n°2 puis un autre n°3, chacun d'entre eux sera un Instantané dérivé de l'Instantané précédent. L'état actuel peut dériver de l'Instantané n°3 qui lui-même dérive du n°2 qui lui-même dérive du premier. Vous pouvez ainsi créer autant d'Instantanés que vous voulez pour créer autant d'états que vous le souhaitez. Mais attention, si on inclut la mémoire, les Instantanés utiliseront beaucoup plus d'espace disque.
==== Utiliser les Instantanés ==== === Mise en garde === Attention, lorsque vous faites un retour sur Instantané c'est tout le disque dur (c.-à.d. le fichier du disque virtuel) de la machine virtuelle qui est restauré. Autrement dit, si vous aviez créé des documents sur ce disque (pour une machine virtuelle Windows, si vous avez enregistré vos documents sur le Bureau ou dans “Mes Documents”), vous ne les retrouverez plus! Pensez donc à enregistrer vos documents ailleurs que sur la machine virtuelle avant de faire un retour sur Instantané!
===== Restauration d'un Instantané ===== On restaure le deuxième Instantané.

- On sélectionne le deuxième Instantané.
- Restauration.


Oui.

Le deuxième Instantané a été restauré.


==== Suppression d'un Instantané ==== “Supprimer” permet de supprimer l'Instantané que vous avez sélectionné sans modifier l'état de la machine actuelle. Vous ne pourrez plus revenir à l'ancien état sauvegardé par cet Instantané, mais la machine virtuelle courante garde son état actuel. Utile si vous avez trop abusé des Instantanés et que vous manquez d'espace libre sur votre disque dur; supprimez les Instantanés qui vous serviront probablement le moins. On supprime le troisième Instantané.

- On sélectionne le troisième Instantané.
- Supprimer.


Oui.


====== Truc et astuces ====== ===== Gestionnaire PVE ===== ==== Adresse IP ==== Si vous ne pouvez accéder à l'adresse du gestionnaire, vérifiez le fichier /etc/network/interfaces à la console du serveur PVE. <file> root@proxmox:~# cat /etc/network/interfaces # network interface settings; autogenerated # Please do NOT modify this file directly, unless you know what # you're doing. # # If you want to manage parts of the network configuration manually, # please utilize the 'source' or 'source-directory' directives to do # so. # PVE will preserve these directives, but will NOT read its network # configuration from sourced files, so do not attempt to move any of # the PVE managed interfaces into external files! auto lo iface lo inet loopback auto eno1 iface eno1 inet manual auto enp2s0 iface enp2s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.1.52 netmask 255.255.255.0 gateway 192.168.1.1 bridge-ports eno1 bridge-stp off bridge-fd 0 auto vmbr1 iface vmbr1 inet static address 10.10.10.52 netmask 24 bridge-ports enp2s0 bridge-stp off bridge-fd 0 root@proxmox:~# </file> Assurez-vous que l'adresse utilisée est bien celle affichée du gestionnaire sur la console lors d'un amorçage sinon, modifiez l'adresse locale dans ce fichier et réamorcez pour que le système en tienne compte.
===== Afficher des messages d'amorçage ===== Référence: https://askubuntu.com/questions/25022/how-to-enable-boot-messages-to-be-printed-on-screen-during-boot-up. Pour afficher les messages lors de l'amorçage ou de l'arrêt d'un serveur PVE, vous devez supprimer le paramètre
quiet de la ligne de démarrage du noyau dans le fichier GRUB:

1. Démarrez votre système et attendez que le menu GRUB apparaisse.

2. Sélectionnez le noyau que vous souhaitez utiliser et appuyez sur la touche e. Vous devriez pouvoir voir et éditer les commandes associées au noyau en surbrillance.

3. Descendez à la ligne commençant par Linux et supprimez le paramètre quiet.

4. Appuyez maintenant sur [Ctrl] + [x] pour démarrer.

==== Rendre ce changement permanent ==== On affiche la ligne du fichier /etc/default/grub qui débute par GRUB_CMDLINE_LINUX_DEFAULT. <file> root@proxmox:~# cat /etc/default/grub | grep “GRUB_CMDLINE_LINUX_DEFAULT” GRUB_CMDLINE_LINUX_DEFAULT=“quiet” root@proxmox:~# </file> On supprime quiet de cette ligne. <file> root@proxmox:~# sed -i “s/DEFAULT=\”quiet\“/DEFAULT=\”\“/” /etc/default/grub root@proxmox:~# </file> On vérifie. <file> root@proxmox:~# cat /etc/default/grub | grep “GRUB_CMDLINE_LINUX_DEFAULT” GRUB_CMDLINE_LINUX_DEFAULT=“” root@proxmox:~# </file> On rend ce changement permanent. <file> root@proxmox:~# update-grub Generating grub configuration file … Found linux image: /boot/vmlinuz-5.0.15-1-pve Found initrd image: /boot/initrd.img-5.0.15-1-pve Found memtest86+ image: /boot/memtest86+.bin Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin done root@proxmox:~# </file>
===== Sauvegarde ===== Pour la sauvegarde, nous recommandons de créer une grappe (cluster) avec un ou deux autres serveurs PVE. On peut aussi utiliser BackupPC voir: Cahier-11: NethServer & BackupPC du “Cours NethServer-101”. Vous pouvez utiliser les procédures du Cahier-11 pour sauvegarder tout serveur Linux.

===== Logiciels supplémentaires ===== On peut installer quelques logiciels supplémentaires qui sont souvent utilisés et qui ne sont pas fournis par PVE. ==== net-tools ==== Pour pouvoir utiliser la commande ifconfig. <file> root@proxmox:~# apt-get install -y net-tools Reading package lists… Done Building dependency tree Reading state information… Done The following NEW packages will be installed: net-tools 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 248 kB of archives. After this operation, 1,002 kB of additional disk space will be used. Get:1 http://ftp.ca.debian.org/debian buster/main amd64 net-tools amd64 1.60+git20180626.aebd88e-1 [248 kB] Fetched 248 kB in 0s (916 kB/s) Selecting previously unselected package net-tools. (Reading database … 44068 files and directories currently installed.) Preparing to unpack …/net-tools_1.60+git20180626.aebd88e-1_amd64.deb … Unpacking net-tools (1.60+git20180626.aebd88e-1) … Setting up net-tools (1.60+git20180626.aebd88e-1) … Processing triggers for man-db (2.8.5-2) … root@proxmox:~# </file> === Exemple === <file> root@proxmox:~# ifconfig vmbr0 vmbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.52 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::226:b9ff:fe7a:8edc prefixlen 64 scopeid 0x20<link> ether 00:26:b9:7a:8e:dc txqueuelen 1000 (Ethernet) RX packets 345680 bytes 120289854 (114.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 262220 bytes 152964543 (145.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@proxmox:~# </file>
==== Utilitaire locate ==== Pour la recherche de fichiers. <file> root@proxmox:~# apt-get install locate Reading package lists… Done Building dependency tree Reading state information… Done The following NEW packages will be installed: locate 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 270 kB of archives. After this operation, 431 kB of additional disk space will be used. Get:1 http://ftp.ca.debian.org/debian buster/main amd64 locate amd64 4.6.0+git+20190209-2 [270 kB] Fetched 270 kB in 0s (1,018 kB/s) Selecting previously unselected package locate. (Reading database … 44125 files and directories currently installed.) Preparing to unpack …/locate_4.6.0+git+20190209-2_amd64.deb … Unpacking locate (4.6.0+git+20190209-2) … Setting up locate (4.6.0+git+20190209-2) … Processing triggers for man-db (2.8.5-2) … root@proxmox:~# </file> === Exemple === On met à jour la BD de locate (peut prendre un certain temps lors de la première mise à jour). <file> root@proxmox:~# updatedb root@proxmox:~# </file> Recherche du fichier os-release. <file> root@proxmox:~# locate os-release /etc/os-release /usr/lib/os-release /usr/share/man/man5/os-release.5.gz root@proxmox:~# </file>
==== Midnight Commander (mc) ==== <file> root@proxmox:~# apt-get install -y mc Reading package lists… Done Building dependency tree Reading state information… Done The following additional packages will be installed: libgpm2 mc-data unzip Suggested packages: gpm arj catdvi | texlive-binaries dbview djvulibre-bin epub-utils gv imagemagick libaspell-dev odt2txt poppler-utils python-boto python-tz xpdf | pdf-viewer zip The following NEW packages will be installed: libgpm2 mc mc-data unzip 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Need to get 2,015 kB of archives. After this operation, 8,159 kB of additional disk space will be used. Get:1 http://ftp.ca.debian.org/debian buster/main amd64 libgpm2 amd64 1.20.7-5 [35.1 kB] Get:2 http://ftp.ca.debian.org/debian buster/main amd64 mc-data all 3:4.8.22-1 [1,292 kB] Get:3 http://ftp.ca.debian.org/debian buster/main amd64 mc amd64 3:4.8.22-1 [516 kB] Get:4 http://ftp.ca.debian.org/debian buster/main amd64 unzip amd64 6.0-23+deb10u1 [172 kB] Fetched 2,015 kB in 1s (1,589 kB/s) Selecting previously unselected package libgpm2:amd64. (Reading database … 44139 files and directories currently installed.) Preparing to unpack …/libgpm2_1.20.7-5_amd64.deb … Unpacking libgpm2:amd64 (1.20.7-5) … Selecting previously unselected package mc-data. Preparing to unpack …/mc-data_3%3a4.8.22-1_all.deb … Unpacking mc-data (3:4.8.22-1) … Selecting previously unselected package mc. Preparing to unpack …/mc_3%3a4.8.22-1_amd64.deb … Unpacking mc (3:4.8.22-1) … Selecting previously unselected package unzip. Preparing to unpack …/unzip_6.0-23+deb10u1_amd64.deb … Unpacking unzip (6.0-23+deb10u1) … Setting up libgpm2:amd64 (1.20.7-5) … Setting up unzip (6.0-23+deb10u1) … Setting up mc-data (3:4.8.22-1) … Setting up mc (3:4.8.22-1) … update-alternatives: using /usr/bin/mcview to provide /usr/bin/view (view) in auto mode Processing triggers for man-db (2.8.5-2) … Processing triggers for mime-support (3.62) … Processing triggers for libc-bin (2.28-10) … root@proxmox:~# </file> === Exemple ===

[F-10] pour quitter.


===== Ajour d'un nouvel administrateur ===== La commande à la ligne pour créer, modifier, etc… un utilisateur est
pveum (Proxmox VE User Manager). On crée l'utilisateur michelandre. <file> root@proxmox:~# pveum useradd michelandre@pve -comment “Créateur” root@proxmox:~# </file> On lui donne un mot de passe. <file> root@proxmox:~# pveum passwd michelandre@pve Enter new password: * Retype new password: * root@proxmox:~# </file> On crée un nouveau groupe. <file> root@proxmox:~# pveum groupadd administrateur -comment “Administrateur PVE” root@proxmox:~# </file> On accorde au nouveau groupe administrateur les mêmes permissions que celles du rôle Administrator. <file> root@proxmox:~# pveum aclmod / -group administrateur -role Administrator root@proxmox:~# </file> On ajoute michelandre au nouveau groupe administrateur. <file> root@proxmox:~# pveum usermod michelandre@pve -group administrateur root@proxmox:~# </file> ==== Vérification ====

Permissions
Le nouveau groupe administrateur est présent et il possède les permissions du rôle Administrator.

Utilisateurs
- Le nouvel utilisateur michelandre est aussi présent.
- L'utilisateur root a été crée lors de l'installation de PVE.

Groupes
Le nouveau groupe administrateur est présent.


Rôles
Les rôles standards de Proxmox VE n'ont pas été modifiés.

On se déconnecte et on se reconnecte en tant que michelandre.

Nous sommes connecté et le groupe administrateur possède les mêmes permissions que celles du rôle Administrator.



Victoire totale, hissons la bannière de la victoire.
—- ====== Crédits ====== © 2018-2019 RF-232
Auteur: Michel-André.
Remerciement: Tous les contributeurs GNU/GPL.
Intégré par: Michel-André Robillard CLP.
Contact: michelandre at micronator.org. Répertoire de ce document: RF-232_Cours_NethServer-201-06_ProxmoxVE_2019-09-17_14h33.odt Historique des modifications: ^Version^Date^Commentaire^Auteur| |0.0.1|2018-11-15|Début pour SME-9.2.|Michel-André| |0.0.2|2019-09-09|Ajustements pour NethServer et DokuWiki.|Michel-André| |012345678901| | |012345678901| <html><hr style=“width:50%; margin: 0 auto;”></html> ===== AVIS DE NON-RESPONSABILITÉ ===== Ce document est uniquement destiné à informer. Les informations, ainsi que les contenus et fonctionnalités de ce do­cument sont fournis sans engagement et peuvent être modifiés à tout moment. RF‑232 n'offre aucune garantie quant à l'actualité, la conformité, l'exhaustivité, la qualité et la durabilité des informations, contenus et fonctionnalités de ce document. L'accès et l'utilisation de ce document se font sous la seule responsabilité du lecteur ou de l'utilisateur. RF‑232 ne peut être tenu pour responsable de dommages de quelque nature que ce soit, y compris des dommages di­rects ou indirects, ainsi que des dommages consécutifs résultant de l'accès ou de l'utilisation de ce document ou de son contenu. Chaque internaute doit prendre toutes les mesures appropriées (mettre à jour régulièrement son logiciel antivirus, ne pas ouvrir des documents suspects de source douteuse ou non connue) de façon à protéger le contenu de son ordina­teur de la contamination d'éventuels virus circulant sur la Toile. Toute reproduction interdite Vous reconnaissez et acceptez que tout le contenu de ce document, incluant mais sans s’y limiter, le texte et les images, sont protégés par le droit d’auteur, les marques de commerce, les marques de service, les brevets, les secrets industriels et les autres droits de propriété intellectuelle. Sauf autorisation expresse de RF-232, vous acceptez de ne pas vendre, délivrer une licence, louer, modifier, distribuer, copier, reproduire, transmettre, afficher publiquement, exécuter en public, publier, adapter, éditer ou créer d’oeuvres dérivées de ce document et de son contenu. ==== Avertissement==== Bien que nous utilisions ici un vocabulaire issu des techniques informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.

1)
FQDN: Dans le DNS, un Fully Qualified Domain Name (FQDN, ou nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.
Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.

2)
Mode Promiscuité: En informatique, se réfère à une configuration de la carte réseau, qui permet à celle-ci d'accepter tous les paquets qu'elle reçoit, même si ceux-ci ne lui sont pas adressés. Chaque paquet réseau envoyé inclut l'adresse (adresse MAC) de la carte réseau destinataire. Quand une carte réseau voit passer un paquet, elle vérifie si elle est la destinataire du paquet; si elle ne l'est pas, elle ne tient pas compte du paquet; mais en Mode Promiscuité, elle traite le paquet dans tous les cas, permettant ainsi à l'ordinateur de pouvoir lire tous les paquets.
Référence:https://fr.wikipedia.org/wiki/Promiscuous_mode.

4)
VIRTIO est une abréviation pour Virtual Input-Output, que l'on pourrait traduire en français par Entrées-Sorties Virtuelles.
Virtio est une interface de programmation du Noyau Linux utile aux machines virtuelles.
Problème
Les machines virtuelles, pour des raisons de performance, tendent de plus en plus à devenir des hyperviseurs afin d'accélérer le transit des données entre l'hôte et les invités en présentant au système d'exploitation invité un matériel virtuel nécessitant un pilote spécifique. Ceci contrairement aux machines virtuelles classiques qui simulent la présence d'un matériel existant réellement, généralement répandu, pour lequel le système invité a déjà un pilote.
La multiplication des hyperviseurs a entraîné une multiplication dans les mêmes proportions des pilotes nécessaires, des pilotes qui, sous Linux, devaient être adaptés à chaque version du noyau. Virtio tente de répondre à ce problème en mettant en œuvre directement dans la branche officielle du noyau Linux une interface de programmation dédiée aux pilotes de périphériques de machines virtuelles.
Fonctionnement
L'interface de programmation de Virtio est très minimaliste, toutes les communications entre l'hyperviseur et le noyau invité se font au travers d'une file d'attente FIFO1. Des pilotes, eux aussi présents dans le noyau, se basent sur cette interface; il existe à l'heure actuelle des pilotes pour une carte réseau et un contrôleur de disques, utilisés par KVM. Les développeurs de KVM ont également écrit un pilote réseau pour Microsoft Windows XP et 2000 mettant en œuvre Virtio.
Référence: https://fr.wikipedia.org/wiki/Virtio.

5)
Paravirtualisation: En informatique, la paravirtualisation est une technique de virtualisation qui présente une interface logicielle, similaire à du matériel réel, à une machine virtuelle, mais optimisée pour ce type de fonctionnement, contrairement à l'émulation d'un périphérique matériel existant qui peut s'avérer laborieuse et surtout lente.
Référence: https://fr.wikipedia.org/wiki/Paravirtualisation.

6)
Stateless: Qui ne garde pas de trace d'un contexte lié à un utilisateur.Note: Cette expression s'emploie souvent pour qualifier un protocole.
Référence: http://www.granddictionnaire.com/ficheOqlf.aspx?Id_Fiche=8364596.

7)
radvd: 1:(Router Advertisement Daemon, démon d'annonce de routeurs) est un logiciel Open Source qui implémente les annonces lien-local des adresses de routeurs IPv6 et des préfixes de réseau IPv6 au moyen du protocole Neighbour Discovery Protocol - (NDP) conformément à la RFC 24614. Le démon d'annonce de routeurs est utilisé par les administrateurs système dans le cadre de l'auto-configuration sans état des hôtes des réseaux Internet Protocol version 6.
Référence:
https://fr.wikipedia.org/wiki/Radvd.

8)
Smarthost: Un smarthost est un serveur de messagerie via lequel des tiers peuvent envoyer des courriers électroniques et les transférer sur les serveurs de messagerie des destinataires.
Référence: https://en.wikipedia.org/wiki/Smart_host.

nethserver_201_cahier_06_proxmox.txt · Dernière modification : 2025-01-12 19:30 de 127.0.0.1