<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Proxmox on Jesuisadmin</title><link>https://jesuisadmin.fr/tags/Proxmox/</link><description>Recent content in Proxmox on Jesuisadmin</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><lastBuildDate>Tue, 04 Dec 2018 12:48:48 +0000</lastBuildDate><atom:link href="https://jesuisadmin.fr/tags/Proxmox/index.xml" rel="self" type="application/rss+xml"/><item><title>Déployez vos machines virtuelles KVM sur Proxmox VE avec Cloud-Init</title><link>https://jesuisadmin.fr/deployer-des-machines-virtuelles-kvm/</link><pubDate>Tue, 04 Dec 2018 12:48:48 +0000</pubDate><guid>https://jesuisadmin.fr/deployer-des-machines-virtuelles-kvm/</guid><description>&lt;img src="https://jesuisadmin.fr/images/2018/11/D-ployez-vos-machines-virtuelles-KVM-sur-Proxmox-avec-Cloud-Init--1-.png" alt="Featured image of post Déployez vos machines virtuelles KVM sur Proxmox VE avec Cloud-Init" /&gt;&lt;p&gt;Après un &lt;a class="link" href="https://jesuisadmin.fr/configuration-reseau-machine-virtuelle-kvm-proxmox/" target="_blank" rel="noopener"&#13;&#10; &gt;premier article&lt;/a&gt; expliquant comment configurer l&amp;rsquo;interface réseau d&amp;rsquo;une machine virtuelle KVM sur Proxmox VE en utilisant qemu-nbd, il était nécessaire d&amp;rsquo;y ajouter une seconde partie pour détailler l&amp;rsquo;une des nouvelles fonctionnalités de Proxmox : le support de Cloud-Init (depuis la release 5.1). Dans ce tutoriel nous allons voir comment déployer et configurer une machine virtuelle KVM avec Cloud-init.&lt;/p&gt;&#10;&lt;h2 id="quest-ce-que-cloud-init-"&gt;Qu&amp;rsquo;est ce que Cloud-init ?&#13;&#10;&lt;/h2&gt;&lt;p&gt;Commençons par une présentation de Cloud-Init. Il s&amp;rsquo;agit d&amp;rsquo;une application (ou package en anglais) multi-plateforme dont la fonction est de réaliser la configuration initiale des machines virtuelles (ou instances public cloud) déployées depuis des templates.&lt;/p&gt;&#10;&lt;p&gt;Les tâches généralement réalisées par Cloud-Init sont :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Définir le hostname&lt;/li&gt;&#10;&lt;li&gt;Générer les clés privées SSH&lt;/li&gt;&#10;&lt;li&gt;Configurer les interfaces réseaux&lt;/li&gt;&#10;&lt;li&gt;Définir le mot de passe de l&amp;rsquo;utilisateur&lt;/li&gt;&#10;&lt;li&gt;Ajouter une clé SSH&lt;/li&gt;&#10;&lt;li&gt;Redimensionner le(s) disque(s) (si nécessaire)&lt;/li&gt;&#10;&lt;li&gt;Mettre à jour les paquets via APT&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Dans le cas de Proxmox, Cloud-Init permet de configurer les machines virtuelles KVM aussi facilement que le containers LXC. Il n&amp;rsquo;est plus nécessaire de se connecter via la console NoVNC pour configurer une machine virtuelle.&lt;/p&gt;&#10;&lt;p&gt;Cloud-Init est d&amp;rsquo;autant plus pratique lorsqu&amp;rsquo;il s&amp;rsquo;agit de déployer une machine virtuelle nécessitant une configuration réseau particulière (comme une passerelle par défaut qui n&amp;rsquo;est pas dans le même sous-réseau que la machine virtuelle chez OVH).&lt;/p&gt;&#10;&lt;h2 id="déployer-une-machine-virtuelle-kvm-avec-cloud-init"&gt;Déployer une machine virtuelle KVM avec Cloud-Init&#13;&#10;&lt;/h2&gt;&lt;h3 id="créer-un-template-de-machine-virtuelle"&gt;Créer un template de machine virtuelle&#13;&#10;&lt;/h3&gt;&lt;p&gt;La première étape avant de pouvoir déployer notre première machine virtuelle avec Cloud-Init est la création d&amp;rsquo;un template de VM, qui pourra être cloné pour déployer une nouvelle VM.&lt;/p&gt;&#10;&lt;p&gt;À l&amp;rsquo;heure actuelle, il est déjà possible d&amp;rsquo;ajouter un disque Cloud-Init à une machine virtuelle depuis l&amp;rsquo;interface web de Proxmox, cependant l&amp;rsquo;import d&amp;rsquo;une image disque nécessite toujours l&amp;rsquo;utilisation de la CLI de Proxmox.&lt;/p&gt;&#10;&lt;p&gt;Pour nous faire gagner du temps, Canonical met à disposition des images minimales de machines virtuelles sur le site c&lt;a class="link" href="http://cloud-images.ubuntu.com/" target="_blank" rel="noopener"&#13;&#10; &gt;loud-images.ubuntu.com&lt;/a&gt;. Cloud-Init est préinstallé sur l&amp;rsquo;ensemble de ces images permettant un déploiement automatisé.&lt;/p&gt;&#10;&lt;p&gt;Ubuntu n&amp;rsquo;est pas la seule distribution linux à proposer des images cloud, vous pouvez également télécharger des images &lt;a class="link" href="http://cdimage.debian.org/cdimage/openstack/9.6.0/" target="_blank" rel="noopener"&#13;&#10; &gt;Debian&lt;/a&gt; ou &lt;a class="link" href="https://cloud.centos.org/centos/7/images/" target="_blank" rel="noopener"&#13;&#10; &gt;Centos&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Dans notre exemple, nous allons utiliser l&amp;rsquo;image Ubuntu Server 18.04 LTS Bionic.&lt;/p&gt;&#10;&lt;p&gt;Il est tout à fait possible d&amp;rsquo;installer une distribution linux depuis un ISO avant d&amp;rsquo;installer Cloud-Init pour en faire un template. Il est cependant important de noter que le redimensionnement automatique de la partition root n&amp;rsquo;est possible qu&amp;rsquo;en l&amp;rsquo;absence de partition swap (pratique courante sur les instances public cloud)&lt;/p&gt;&#10;&lt;p&gt;On se connecte donc en SSH à notre hôte Proxmox VE, et on commence par télécharger l&amp;rsquo;image Ubuntu Server 18.04 LTS :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget -O bionic.img &lt;span class="se"&gt;\&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;http://cloud-images.ubuntu.com/daily/server/bionic/current/bionic-server-cloudimg-amd64.img&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour simplifier l&amp;rsquo;étape suivante, nous allons définir l&amp;rsquo;ID de notre VM Proxmox via une variable. &lt;strong&gt;Notre espace de stockage se nomme ici &lt;code&gt;local&lt;/code&gt;, mais il généralement nommé &lt;code&gt;local-lvm&lt;/code&gt; lorsque Proxmox est installé depuis un ISO.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# on définit l&amp;#39;ID de la VM&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1804&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Créer une VM avec 2GB de RAM + une interface réseau connectée au bridge vmbr0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm create &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --memory &lt;span class="m"&gt;2048&lt;/span&gt; --net0 virtio,bridge&lt;span class="o"&gt;=&lt;/span&gt;vmbr0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# on importe l&amp;#39;image de VM précédemment téléchargée&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm importdisk &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; bionic.img &lt;span class="nb"&gt;local&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# on associe le nouveau disque virtuel à la machine&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --scsihw virtio-scsi-pci --scsi0 local:&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;/vm-&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;-disk-0.raw&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nous avons ainsi créé notre VM puis importé l&amp;rsquo;image disque téléchargée depuis cloud-images.ubuntu.com. Il ne nous reste plus qu&amp;rsquo;à configurer Cloud-Init. Pour cela nous allons ajouter un lecteur Cloud-Init qui permettra la configuration de la VM depuis Proxmox.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ajouter un disque cloudinit&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --ide2 local:cloudinit&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# définir sur quel disque la VM doit booter&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --boot c --bootdisk scsi0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# ajout d&amp;#39;une interface vga connectée au serial&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; --serial0 socket --vga serial0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voilà, notre VM est prête, on peut enfin la transformer en template avec la commande :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;# transformer la VM en template&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; qm template &lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;ID_VM&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configurer-une-vm-avec-cloud-init"&gt;Configurer une VM avec Cloud-Init&#13;&#10;&lt;/h2&gt;&lt;p&gt;La configuration d&amp;rsquo;une VM avec Cloud-Init peut se faire via la CLI de Proxmox ou via l&amp;rsquo;interface web. Dans notre exemple, l&amp;rsquo;ID de notre VM est 158 et son IP est 192.168.0.201.&lt;/p&gt;&#10;&lt;h3 id="configuration-via-linterface-web"&gt;Configuration via l&amp;rsquo;interface web&#13;&#10;&lt;/h3&gt;&lt;p&gt;On commence par cloner notre template afin de créer une nouvelle machine virtuelle. On peut alors se diriger vers l&amp;rsquo;onget &amp;ldquo;Hardware&amp;rdquo; de notre VM pour la redimensionner selon nos besoins (notamment le disque dont la taille est de 2.5Go par défaut) :&lt;/p&gt;&#10;&lt;figure&gt;&lt;img src="https://jesuisadmin.fr/images/2018/12/prox.png"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Efin, pour configurer notre VM via l&amp;rsquo;interface web, il suffit d&amp;rsquo;aller dans l&amp;rsquo;onglet &amp;ldquo;Cloud-Init&amp;rdquo; pour accéder à la liste des paramètres disponibles :&lt;/p&gt;&#10;&lt;figure&gt;&lt;img src="https://jesuisadmin.fr/images/2018/11/Screenshot_70.png"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Parmi les paramètres disponibles, on retrouve&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;l&amp;rsquo;utilisateur, qui est généralement le nom de la distribution linux choisie, autrement dit &amp;ldquo;ubuntu&amp;rdquo; dans notre cas.&lt;/li&gt;&#10;&lt;li&gt;le mot de passe de l&amp;rsquo;utilisateur&lt;/li&gt;&#10;&lt;li&gt;les paramètres DNS des fichier /etc/hosts et /etc/resolv.conf&lt;/li&gt;&#10;&lt;li&gt;une ou plusieurs clé SSH publiques&lt;/li&gt;&#10;&lt;li&gt;la configuration du l&amp;rsquo;interface réseau&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;On peut lorsqu&amp;rsquo;on a terminé, démarrer notre VM.&lt;/p&gt;&#10;&lt;h3 id="configuration-via-la-cli"&gt;Configuration via la CLI&#13;&#10;&lt;/h3&gt;&lt;p&gt;Via la CLI, la démarche est relativement similaire puisqu&amp;rsquo;on commence par cloner notre template de machine virtuelle :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm clone &lt;span class="m"&gt;1000&lt;/span&gt; &lt;span class="m"&gt;158&lt;/span&gt; --name xenial&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour redimensionner le disque, il suffit d&amp;rsquo;utiliser :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm resize &lt;span class="m"&gt;158&lt;/span&gt; scsi0 10G&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On peut alors ajouter une clé SSH pour pouvoir se connecter à la machine virtuelle, par exemple la clé publique de notre hôte Proxmox :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;158&lt;/span&gt; --sshkey ~/.ssh/id_rsa.pub&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et la dernière étape est la configuration de l&amp;rsquo;interface réseau qui se fait via l&amp;rsquo;argument &lt;code&gt;--ipconfig[x]&lt;/code&gt; où &lt;code&gt;[x]&lt;/code&gt; est le numéro de l&amp;rsquo;interface réseau :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="m"&gt;158&lt;/span&gt; --ipconfig0 &lt;span class="nv"&gt;ip&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;192.168.0.201/24,gw&lt;span class="o"&gt;=&lt;/span&gt;192.168.0.1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Une fois la configuration terminée, on peut démarrer notre vm avec la commande :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qm start &lt;span class="m"&gt;158&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="quelques-informations-complémentaires"&gt;Quelques informations complémentaires&#13;&#10;&lt;/h2&gt;&lt;p&gt;Après quelques mois d&amp;rsquo;utilisation, j&amp;rsquo;ai eu l&amp;rsquo;occasion d&amp;rsquo;utiliser Cloud-Init dans un certain nombre de cas et j&amp;rsquo;ai parfois remarqué des points qu&amp;rsquo;il semble important de souligner.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;La configuration d&amp;rsquo;IP fail-over chez OVH&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;J&amp;rsquo;ai longtemps cherché la solution pour configurer une IP fail-over OVH sur une VM Ubuntu 18.04 LTS qui utilise netplan pour la configuration de l&amp;rsquo;interface réseau. Je l&amp;rsquo;ai découvert un peu par hasard, et je ne comprends toujours pas pourquoi cette configuration fonctionne.&lt;/p&gt;&#10;&lt;p&gt;Dans mon cas, je définis l&amp;rsquo;IP de la VM dans Cloud-Init, du type 178.XX.XX.XX/32 mais au lieu de définir 54.XX.XX.254 en tant que passerelle (IP de l&amp;rsquo;hôte .254), je définis simplement l&amp;rsquo;IP de la VM en tant que passerelle.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;La configuration post-déploiement&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Par défaut Cloud-Init mettra à jour le fichier /etc/hosts, bloquera l&amp;rsquo;accès SSH en tant que root et mettra à jour le hostname de la machine à chaque démarrage de cette dernière.&lt;/p&gt;&#10;&lt;p&gt;Vous pouvez désactiver ces actions en éditant le fichier /etc/cloud/cloud.cfg.&lt;/p&gt;&#10;</description></item><item><title>Configuration réseau d'une machine virtuelle KVM sur Proxmox</title><link>https://jesuisadmin.fr/configuration-reseau-machine-virtuelle-kvm-proxmox/</link><pubDate>Wed, 09 May 2018 21:14:42 +0000</pubDate><guid>https://jesuisadmin.fr/configuration-reseau-machine-virtuelle-kvm-proxmox/</guid><description>&lt;img src="https://jesuisadmin.fr/images/2018/05/R-seau-Proxmox.png" alt="Featured image of post Configuration réseau d'une machine virtuelle KVM sur Proxmox" /&gt;&lt;p&gt;Si la configuration réseau d&amp;rsquo;un container LXC peut s&amp;rsquo;effectuer directement depuis l&amp;rsquo;interface web de Proxmox VE, il &lt;del&gt;est&lt;/del&gt; était nécessaire (et pénible) de la réaliser via la console NoVNC pour les machines virtuelles KVM tournant sous Debian/Ubuntu.&lt;/p&gt;&#10;&lt;p&gt;Nous allons voir dans ce tutoriel, comment configurer le réseau d&amp;rsquo;une machine virtuelle KVM en utilisant qemu-nbd, qui permet de monter le disque d&amp;rsquo;une VM et donc d&amp;rsquo;accéder directement aux fichiers de configuration des interfaces réseau.&#10;Si la procédure peut sembler longue pour configurer une seule VM, il sera tout à fait possible de l&amp;rsquo;automatiser avec un script bash par la suite.&lt;/p&gt;&#10;&lt;p&gt;PS : Alors que j&amp;rsquo;écris ces lignes, le module cloud-init a déjà fait son apparition sur Proxmox VE 5.1, et représentera très probablement une excellente alternative à la solution présentée dans cette article. Mais cela fera sûrement l&amp;rsquo;objet d&amp;rsquo;un autre article.&lt;/p&gt;&#10;&lt;h2 id="installer-le-client-nbd"&gt;Installer le client nbd&#13;&#10;&lt;/h2&gt;&lt;p&gt;Pour commencer, il faut installer le client nbd sur votre serveur Proxmox.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get install nbd-client -y&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis charger le module :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;modprobe nbd &lt;span class="nv"&gt;max_part&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et enfin, pour rendre la configuration persistente, on utilise :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;nbd&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/modules&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; /etc/modprobe.d/nbd.conf &lt;span class="s"&gt;&amp;lt;&amp;lt;\EOT&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;options nbd max_part=16&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOT&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="monter-le-disque-dun-vm-avec-qemu-nbd"&gt;Monter le disque d&amp;rsquo;un VM avec qemu-nbd&#13;&#10;&lt;/h2&gt;&lt;h3 id="cas-dune-machine-virtuelle-sans-lvm"&gt;Cas d&amp;rsquo;une machine virtuelle sans LVM&#13;&#10;&lt;/h3&gt;&lt;p&gt;Pour monter le disque d&amp;rsquo;une VM, on utilise &lt;code&gt;qemu-nbd&lt;/code&gt; :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-nbd -c /dev/nbd0 vm-101* -f raw&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;vm-101 correspond à l&amp;rsquo;ID de la machine virtuelle dans Proxmox.&lt;/p&gt;&#10;&lt;p&gt;On créer ensuite un dossier dans lequel nous allons pouvoir monter le disque de la machine virtuelle :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/nbd0p1 /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="cas-dune-machine-virtuelle-avec-lvm"&gt;Cas d&amp;rsquo;une machine virtuelle avec LVM&#13;&#10;&lt;/h3&gt;&lt;p&gt;Dans le cas d&amp;rsquo;un LVM, il n&amp;rsquo;est pas possible de monter directement la partition car il faut pour cela connaître le nom du volume group qui contient les fichiers de configuration.&lt;/p&gt;&#10;&lt;p&gt;La procédure pour monter le disque est quasiment la même que précédemment :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-nbd -c /dev/nbd0 vm-101*&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Mais cette fois-ci on utilise &lt;code&gt;vgscan&lt;/code&gt; pour détecter les volume groups disponibles&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgscan&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On obtient alors la liste des volume group et on active le volume auquel on souhaite accéder :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgchange -a y vp-vg&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nous pouvons alors monter le VG :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mount /dev/vp-vg/root /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configurer-linterface-réseau"&gt;Configurer l&amp;rsquo;interface réseau&#13;&#10;&lt;/h2&gt;&lt;p&gt;Maintenant que le disque de notre machine virtuelle est monté dans le répertoire &lt;code&gt;/mnt/ma-vm&lt;/code&gt;, nous pouvons modifier la configuation de ses interfaces réseau.&#10;On se déplace à la racine du disque :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /mnt/ma-vm/&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et nous pouvons modifier directement le fichier &lt;code&gt;/etc/network/interfaces&lt;/code&gt; dans le cas d&amp;rsquo;une machine virtuelle tournant sous Debian ou Ubuntu (exemple avec Ubuntu 16.04 LTS sur un serveur dédié OVH) :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat &amp;gt; etc/network/interfaces &lt;span class="s"&gt;&amp;lt;&amp;lt; EOF&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;auto ens18&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;iface ens18 inet static&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; address IP.FAIL.OVER&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; netmask 255.255.255.255&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; broadcast IP.FAIL.OVER&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; post-up route add IP.SERVEUR.DEDIE.254 dev ens18&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; post-up route add default gw IP.SERVEUR.DEDIE.254&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; pre-down route del IP.SERVEUR.DEDIE.254 dev ens18&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; pre-down route del default gw IP.SERVEUR.DEDIE.254&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; # dns-* options are implemented by the resolvconf package, if installed&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; dns-nameservers 213.186.33.99&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;iface ens18 inet6 static&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; address IP:V6:FAIL:OVER&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; netmask 64&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; post-up /sbin/ip -f inet6 route add XXXX:XXXX:XXX:XXff:ff:ff:ff:ff dev ens18&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; post-up /sbin/ip -f inet6 route add default via XXXX:XXXX:XXX:XXff:ff:ff:ff:ff&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; pre-down /sbin/ip -f inet6 route del XXXX:XXXX:XXX:XXff:ff:ff:ff:ff dev ens18&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt; pre-down /sbin/ip -f inet6 route del default via XXXX:XXXX:XXX:XXff:ff:ff:ff:ff&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;EOF&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="terminer-la-configuration"&gt;Terminer la configuration&#13;&#10;&lt;/h2&gt;&lt;p&gt;Une fois la modification terminée, nous pouvons démonter le disque de la VM.&lt;/p&gt;&#10;&lt;h3 id="sans-lvm"&gt;Sans LVM&#13;&#10;&lt;/h3&gt;&lt;p&gt;Sans LVM, la méthode est la même que pour monter le disque&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /dev/nbd0p1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-nbd -d /dev/nbd0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="avec-lvm"&gt;Avec LVM&#13;&#10;&lt;/h3&gt;&lt;p&gt;Avec LVM, il faut utiliser à nouveau vgchange de désactiver le volume group :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ..&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;umount /dev/vp-vg/root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;vgchange -a n vp-vg&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;qemu-nbd -d /dev/nbd0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;rm -r /mnt/ma-vm&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Dernière étapes, redémarrer la machine virtuelle pour appliquer les modificiations. J&amp;rsquo;espère que cet article vous aidera à automatiser un peu plus vos création de machines virtuelles.&lt;/p&gt;&#10;</description></item><item><title>Configurer Nginx en reverse-proxy avec Let's Encrypt pour Proxmox 4</title><link>https://jesuisadmin.fr/configurer-nginx-reverse-proxy-lets-encrypt-proxmox/</link><pubDate>Wed, 22 Mar 2017 18:33:31 +0000</pubDate><guid>https://jesuisadmin.fr/configurer-nginx-reverse-proxy-lets-encrypt-proxmox/</guid><description>&lt;img src="https://jesuisadmin.fr/images/2018/07/Proxmox-nginx-1.jpg" alt="Featured image of post Configurer Nginx en reverse-proxy avec Let's Encrypt pour Proxmox 4" /&gt;&lt;p&gt;Il y a plusieurs solutions pour sécuriser l’accès à l’interface Proxmox, mais si vous avez l’habitude tout comme moi de nginx, elle est la plus intéressante car elle permet non seulement d’utiliser le domaine de votre choix pour accéder à l’interface sur le port standard 443, mais également de ne pas vous retrouver bloqué par le firewall en cas de mauvaise configuration.&lt;/p&gt;&#10;&lt;p&gt;Dans ce tutorial, nous allons donc voir comment installer nginx et comment le configurer pour obtenir un certificat Let’sEncrypt et sécuriser ainsi l’interface de Proxmox.&lt;/p&gt;&#10;&lt;p&gt;==La méthode détaillée dans cet article n&amp;rsquo;est pas compatible avec Proxmox VE 5==&lt;/p&gt;&#10;&lt;p&gt;On commence par installer nginx :&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;apt-get install nginx&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Puis on créer un fichier /etc/nginx/conf.d/proxmox.conf :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;upstream&lt;/span&gt; &lt;span class="n"&gt;proxmox&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;votre.serveur.hostname&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;server_name&lt;/span&gt; &lt;span class="n"&gt;proxmox&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;votredomaine&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;rewrite&lt;/span&gt; &lt;span class="o"&gt;^&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;.*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//$&lt;/span&gt;&lt;span class="n"&gt;host&lt;/span&gt;&lt;span class="o"&gt;$&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="n"&gt;permanent&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="o"&gt;/.&lt;/span&gt;&lt;span class="n"&gt;well&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;known&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;alias&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="k"&gt;var&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;www&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;html&lt;/span&gt;&lt;span class="o"&gt;/.&lt;/span&gt;&lt;span class="n"&gt;well&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;known&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour appliquer la configuration, on utilise la commande &lt;em&gt;service nginx reload&lt;/em&gt;.&#10;On peut désormais passer à l’installation de Let’s Encrypt si ce n’est pas déjà fait.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd /opt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone https://github.com/letsencrypt/letsencrypt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cd letsencrypt&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il ne nous reste plus qu’à générer le certificat via la commande :&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;./letsencrypt-auto certonly --webroot -w /var/www/html -d proxmox.votredomaine.com --email votreemail@votredomaine.com --text --agree-tos&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Let’s Encrypt va alors effectuer l’opération de vérification en créer un dossier .well-known dans /var/www/html puis générer votre certificat. Nous pouvons donc désormais ajouter les lignes suivantes à notre fichier /etc/nginx/conf.d/proxmox.conf afin d’utiliser le certificat :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;server {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; listen 443;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; server_name proxmox.votredomaine.com;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssl on;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssl_certificate /etc/letsencrypt/live/proxmox.votredomaine.com/fullchain.pem;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ssl_certificate_key /etc/letsencrypt/live/proxmox.votredomaine.com/privkey.pem;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_redirect off;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; location / {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_http_version 1.1;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header Upgrade $http_upgrade;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_set_header Connection &amp;#34;upgrade&amp;#34;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_pass https://localhost:8006;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_buffering off;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; client_max_body_size 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_connect_timeout 3600s;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_read_timeout 3600s;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; proxy_send_timeout 3600s;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; send_timeout 3600s;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On utilise à nouveau la commande &lt;em&gt;service nginx reload&lt;/em&gt; pour appliquer la configuration et nous pouvons désormais accéder à l’interface proxmox via l’adresse : &lt;a class="link" href="https://proxmox.votredomaine.com" target="_blank" rel="noopener"&#13;&#10; &gt;https://proxmox.votredomaine.com&lt;/a&gt;.&#10;Vous pouvez ajouter un cron pour renouveler automatiquement votre certificat letsencrypt tous les 30 jours :&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;0 0 1 * * /opt/letsencrypt-auto certonly --webroot -w /var/www/html -d proxmox.votredomaine.com --email votreemail@votredomaine.com --text --agree-tos&lt;/code&gt;&lt;/p&gt;&#10;</description></item></channel></rss>