Outils pour utilisateurs

Outils du site


nethserver_201_cahier_06_proxmox

Table des matières



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:

  • le système d'exploitation (Debian Stretch 64 bits),
  • le partitionnement de disques durs avec LVM2,
  • le support de LXC (conteneurs) et le module KVM (virtualisation complète),
  • les outils de sauvegarde et de restauration,
  • 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.

  • 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.
  • 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

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

Système recommandé

  • CPU 64 bits (Intel EM64T ou AMD64), multi-cœur recommandé.
  • Carte-mère et BIOS compatible Intel VT/AMD-V (pour le support de la virtualisation par KVM).
  • 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é.
  • 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.
  • Disques durs rapides; de meilleurs résultats sont obtenus avec des disques à 15 000 RPM en RAID 10.
  • Au moins 2 cartes réseau en fonction de la technologie de stockage utilisée, vous pourriez en avoir besoin de plus.
  • 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:

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

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.

[[email protected] ~]# 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
[[email protected] ~]#
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

  • Vérification du BIOS.
  • 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.

  • 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.
  • 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
[email protected]'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.
[email protected]:~#

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.

[email protected]:~# vgs

  VG  #PV #LV #SN Attr   VSize   VFree
  pve   1   3   0 wz--n- <15.50g <1.88g
[email protected]:~#

Volume physique

[email protected]:~# pvs

  PV         VG  Fmt  Attr PSize   PFree
  /dev/sda3  pve lvm2 a--  <15.50g <1.88g
[email protected]:~#

Volumes logiques

[email protected]:~# 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
[email protected]:~#

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.

[email protected]:~# 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
[email protected]:~#

Vérification de la connexion Internet

[email protected]:~# 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
[email protected]:~#

Performance de l'hôte

[email protected]:~# 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)
[email protected]:~#

Souscription

[email protected]:~# pvesubscription get

message: There is no subscription key
serverid: 3D7751FEBFC5CB91DA22881F61A887C5
status: NotFound
url: https://www.proxmox.com/proxmox-ve/pricing
[email protected]:~#


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.

[email protected]:~# 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

[email protected]:~#

- 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.

[email protected]:~# sed -i.bak 's/NotFound/Active/g'                         \
                       /usr/share/perl5/PVE/API2/Subscription.pm &&  \
                       systemctl restart pveproxy.service

[email protected]:~#

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.

[email protected]:~# 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};
[email protected]:~#

On redémarre les services.

[email protected]:~# service pvestatd restart

[email protected]:~#
[email protected]:~# service pvedaemon restart

[email protected]:~#

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.

[email protected]:~# 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) ...
[email protected]:~#

Téléchargement du fichier du script

[email protected]:~# 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!
[email protected]:~#

On vérifie.

[email protected]:~# 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
[email protected]:~#

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.

[[email protected] ~]# export CF_Key="VotreCléGlobaleDeCloudflare"

[[email protected] ~]#

On exporte notre adresse courriel utilisée pour notre enregistrement chez Cloudflare.

[[email protected] ~]# export CF_Email="VotreAdresseCourrielDEnregistrementChezCloudflare"

[[email protected] ~]#

On vérifie les exportations.

[[email protected] ~]# env | grep -i CF_

CF_Email= VotreAdresseCourrielDEnregistrementChezCloudflare
CF_Key= VotreCléGlobaleDeCloudflare
[[email protected] ~]#

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

[[email protected] ~]# /root/.acme.sh/acme.sh                                   \
                      --issue                                             \
                      --dns dns_cf                                        \
                      -d pve.micronator-dev.org                           \
                      -d www.pve.micronator-dev.org                       \
                      --accountemail "[email protected]"         \
                      --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
[email protected]:~#

Demande d'un certificat officiel

[[email protected] ~]# /root/.acme.sh/acme.sh                                   \
                      --issue                                             \
                      --dns dns_cf                                        \
                      -d pve.micronator-dev.org                           \
                      -d www.pve.micronator-dev.org                       \
                      --accountemail "[email protected]"         \
                      --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
[email protected]:~#

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é.

[[email protected] ~]# crontab -l

41 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[[email protected] ~]#

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.

[email protected]:~# 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.
[email protected]:~#

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.

login as: root
[email protected]'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
[email protected]:~#

Affichage des cartes réseau

[email protected]:~# 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
[email protected]:~#


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

[email protected]:~# vgs

  VG  #PV #LV #SN Attr   VSize   VFree
  pve   1   3   0 wz--n- <74.03g 9.25g
[email protected]:~#

Volume physique

[email protected]:~# pvs

  PV         VG  Fmt  Attr PSize   PFree
  /dev/sda3  pve lvm2 a--  <74.03g 9.25g
[email protected]:~#

Volumes logiques

[email protected]:~# 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
[email protected]:~#
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.

[email protected]:~# 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
[email protected]:~#


Communication

Dispositifs réseau

[email protected]:~# 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
[email protected]:~#

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.

[email protected]:~# 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
[email protected]:~#
[email protected]:~# 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
[email protected]:~#

Adresses

[email protected]:~# 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
[email protected]:~#

Le dispositif vmbr0 prend l'adresse MAC du dispositif eno1.

Vérification de la connexion Internet

[email protected]:~# 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
[email protected]:~#

Performance de l'hôte

[email protected]:~# 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)
[email protected]:~#

Souscription

[email protected]:~# pvesubscription get

message: There is no subscription key
serverid: 95581739A670F04DEA88D32431E185B4
status: NotFound
url: http://www.proxmox.com/products/proxmox-ve/subscription-service-plans
[email protected]:~#


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.

[email protected]:~# 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

[email protected]:~#


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.

[email protected]:~# sed -i.bak 's/NotFound/Active/g' /usr/share/perl5/PVE/API2/Subscription.pm &&  systemctl restart pveproxy.service

[email protected]:~#

On vérifie que le statut de la variable est à la valeur Active.

[email protected]:~# 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};
[email protected]:~#

On redémarre les services.

[email protected]:~# service pvestatd restart

[email protected]:~#
[email protected]:~# service pvedaemon restart

[email protected]:~#

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.

[email protected]:~# 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) ...
[email protected]:~#

Téléchargement du fichier du script

[email protected]:~# 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!
[email protected]:~#

On vérifie.

[email protected]:~# 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
[email protected]:~#

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.

[[email protected] ~]# export CF_Key="VotreCléGlobaleDeCloudflare"

[[email protected] ~]#

On exporte notre adresse courriel utilisée pour notre enregistrement chez Cloudflare.

[[email protected] ~]# export CF_Email="VotreAdresseCourrielDEnregistrementChezCloudflare"

[[email protected] ~]#

On vérifie les exportations.

[[email protected] ~]# env | grep -i CF_

CF_Email= VotreAdresseCourrielDEnregistrementChezCloudflare
CF_Key= VotreCléGlobaleDeCloudflare
[[email protected] ~]#

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

[[email protected] ~]# /root/.acme.sh/acme.sh                                   \
                      --issue                                             \
                      --dns dns_cf                                        \
                      -d proxmox.micronator-dev.org                       \
                      -d www.proxmox.micronator-dev.org                   \
                      --accountemail "[email protected]"         \
                      --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
[email protected]:~#

Demande d'un certificat officiel

On force notre première demande de certificat officiel Let's Encrypt.

[[email protected] ~]# /root/.acme.sh/acme.sh                                   \
                      --issue                                             \
                      --dns dns_cf                                        \
                      -d proxmox.micronator-dev.org                       \
                      -d www.proxmox.micronator-dev.org                   \
                      --accountemail "[email protected]"         \
                      --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
[email protected]:~#

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é.

[[email protected] ~]# crontab -l

41 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[[email protected] ~]#

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.

[email protected]:~# 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
[email protected]:~#


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.

[email protected]:~# 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
[email protected]:~#

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.

[email protected]:~# reboot

On vérifie.

[email protected]:~# 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
[email protected]:~#

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.

[email protected]:~# reboot

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

On vérifie les adresse IP de toutes les cartes réseau.

[email protected]:~# 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
[email protected]:~#


Vérification des connexions aux réseaux

On lance 3 ping vers le poste de travail - 192.168.1.81.

[email protected]:~# 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
[email protected]:~#

On lance 3 ping vers le serveur principal connecté directement à l'Internet - 192.168.1.1.

[email protected]:~# 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
[email protected]:~#

On lance 3 ping vers google.com.

[email protected]:~# 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
[email protected]:~#

On lance 3 ping vers le serveur pve - 192.168.1.44.

[email protected]:~# 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
[email protected]:~#

On vérifie le réseau 10.10.10.0/24.

[email protected]:~# 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
[email protected]:~#
[email protected]:~# 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
[email protected]:~#

On vérifie si le serveur pve peut communiquer avec le serveur proxmox.

[email protected]:~# 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
[email protected]:~#
[email protected]:~# 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
[email protected]:~#

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é.

login as: root
[email protected]'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

***********************************************
[[email protected] ~]#

On affiche la configuration des cartes réseau.

[[email protected] ~]# 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

[[email protected] ~]#

- Les adresses IP sont correctes.

- On peut comparer leur adresse MAC.

On affiche le serveur DNS.

[[email protected] ~]# 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

[[email protected] ~]#

On affiche la table de routage.

[[email protected] ~]# 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
[[email protected] ~]#

On lance 2 ping vers google.com pour vérifier le fonctionnement du DNS.

[[email protected] ~]# 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
[[email protected] ~]#

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.

[email protected]:~# 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

[email protected]:~#

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.

[email protected]:~# cat /etc/default/grub | grep "GRUB_CMDLINE_LINUX_DEFAULT"

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
[email protected]:~#

On supprime quiet de cette ligne.

[email protected]:~# sed -i "s/DEFAULT=\"quiet\"/DEFAULT=\"\"/" /etc/default/grub

[email protected]:~#

On vérifie.

[email protected]:~# cat /etc/default/grub | grep "GRUB_CMDLINE_LINUX_DEFAULT"

GRUB_CMDLINE_LINUX_DEFAULT=""
[email protected]:~#

On rend ce changement permanent.

[email protected]:~# 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
[email protected]:~#


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.

[email protected]:~# 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) ...
[email protected]:~#

Exemple

[email protected]:~# 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

[email protected]:~#


Utilitaire locate

Pour la recherche de fichiers.

[email protected]:~# 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) ...
[email protected]:~#

Exemple

On met à jour la BD de locate (peut prendre un certain temps lors de la première mise à jour).

[email protected]:~# updatedb

[email protected]:~#

Recherche du fichier os-release.

[email protected]:~# locate os-release

/etc/os-release
/usr/lib/os-release
/usr/share/man/man5/os-release.5.gz
[email protected]:~#


Midnight Commander (mc)

[email protected]:~# 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) ...
[email protected]:~#

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.

[email protected]:~# pveum useradd [email protected] -comment "Créateur"

[email protected]:~#

On lui donne un mot de passe.

[email protected]:~# pveum passwd [email protected]

Enter new password: *********
Retype new password: *********
[email protected]:~#

On crée un nouveau groupe.

[email protected]:~# pveum groupadd administrateur -comment "Administrateur PVE"

[email protected]:~#

On accorde au nouveau groupe administrateur les mêmes permissions que celles du rôle Administrator.

[email protected]:~# pveum aclmod / -group administrateur -role Administrator

[email protected]:~#

On ajoute michelandre au nouveau groupe administrateur.

[email protected]:~# pveum usermod [email protected] -group administrateur

[email protected]:~#

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:

VersionDateCommentaireAuteur
0.0.12018-11-15Début pour SME-9.2.Michel-André
0.0.22019-09-09Ajustements pour NethServer et DokuWiki.Michel-André
012345678901 012345678901


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: 2019-10-02 23:35 par michelandre