<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OVH on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/ovh/</link><description>Recent content in OVH on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Fri, 16 Jul 2021 07:00:00 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/ovh/index.xml" rel="self" type="application/rss+xml"/><item><title>CIVO : du kubernetes managé à partir de 4$/mois, vraiment ?</title><link>https://blog.zwindler.fr/2021/07/16/civo-du-kubernetes-manage-a-partir-de-4-mois-vraiment/</link><pubDate>Fri, 16 Jul 2021 07:00:00 +0000</pubDate><guid>https://blog.zwindler.fr/2021/07/16/civo-du-kubernetes-manage-a-partir-de-4-mois-vraiment/</guid><description>&lt;img src="https://blog.zwindler.fr/2021/07/PXL_20210715_193337426.webp" alt="Featured image of post CIVO : du kubernetes managé à partir de 4$/mois, vraiment ?" /&gt;&lt;p&gt;Pendant la &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=kubecon&amp;#43;2021" &gt;Kubecon EU 2021&lt;/a&gt;, un provider que je ne connaissais pas a mis le paquet pour s’assurer de la visibilité : &lt;a class="link" href="https://www.civo.com" target="_blank" rel="noopener"
&gt;CIVO&lt;/a&gt;. Et avec une promesse plus qu’alléchante : un Kubernetes managé basé sur &lt;a class="link" href="https://blog.zwindler.fr/2019/03/21/deployer-en-5-minutes-un-cluster-kubernetes-sur-arm-avec-k3s-et-ansible/" &gt;k3s (que j’adore&lt;/a&gt;) et avec un tarif &lt;strong&gt;à partir de&lt;/strong&gt; 4$/mois !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/00_civo.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Chez les concurrents, on a rien sous les 15€ / mois (Scaleway), quand ce n’est pas 30 voire 80… De quoi piquer ma curiosité donc.&lt;/p&gt;
&lt;h2 id="un-de-plus-"&gt;Un de plus ?
&lt;/h2&gt;&lt;p&gt;J’ai donc pris un compte d’essai proposé par l’entreprise aux participants de la Kubecon et j’ai créé un compte.&lt;/p&gt;
&lt;p&gt;La première chose que j’ai testé, c’est l’interface (il y a aussi une CLI). Forcément, chez un pure player, c’est simple et efficace, on s’y retrouve et l’interface est léchée. On est loin du gloubiboulga visuel de chez Azure (cf &lt;a class="link" href="https://blog.zwindler.fr/2018/12/18/jai-teste-pour-vous-aks-la-plateforme-kubernetes-managee-dazure/" &gt;mon test d’AKS&lt;/a&gt;). Après, c’est un minimum&amp;hellip; c’est forcément plus simple quand on commence de zéro et qu’on a pas des centaines de produits ;-p.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/01_civo_dashboard.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;On a un dashboard avec les opérations réalisées chronologiquement, un menu pour créer des clusters kube, un menu pour créer du compute et des LB « nus ». Rien de bien révolutionnaire, ça fait le job.&lt;/p&gt;
&lt;p&gt;La partie « KubeQuest », c’est de la bête gamification (« Créez un cluster pour passer niveau 2!!! »), je ne m’y attarderai même pas.&lt;/p&gt;
&lt;h2 id="bon-on-le-créé-ce-cluster-à-4-"&gt;Bon, on le créé ce cluster à 4$ ?
&lt;/h2&gt;&lt;p&gt;Bon, ne vous enflammez pas, l’offre « à partir de 4$/mois » ne sera pas utilisable en prod, pas de miracle. Mais c’est déjà un tour de force qu’ils arrivent à le proposer, notamment grâce à k3s.&lt;/p&gt;
&lt;p&gt;Pas de surprise, le pricing des nodes est immédiatement affiché, et voilà à quoi ça ressemble :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/02_civo_4dollars.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Pour 4$ par mois, on vous propose un « cluster » d’un seul node, avec seulement 1 vCPU et 1 Go de RAM. Pas de quoi faire tourner grand chose d’autre que quelques containers nginx&amp;hellip; Si ça jamais ça fonctionne ?! (on y reviendra)&lt;/p&gt;
&lt;p&gt;Au delà, les prix sont similaires à ce que l’on trouve sur le marché « bon marché » (Scaleway notamment). Si on veut être un peu sérieux et comparer ce qui est comparable, on peut booter des machines avec 2vCPU et 4 Go de RAM à16$/mois l’unité (moins de ~13,5€ en ce moment).&lt;/p&gt;
&lt;h2 id="kubernetes-easy-to-install"&gt;Kubernetes easy to install
&lt;/h2&gt;&lt;p&gt;La plupart des offres managées de Kubernetes (si ce n’est toutes) viennent avec une certaine quantité de personnalisation préinstallée. Chez Azure, vous pouvez choisir parti 2 CNIs et le dashboard (ou pas). Chez Scaleway si c’est Calico qui est préinstallé ou pas.&lt;/p&gt;
&lt;p&gt;Chez CIVO, ils ont poussé le concept beaucoup plus loin, en reprenant l’idée de Rancher ou d’Openshift du « marketplace ».&lt;/p&gt;
&lt;p&gt;Avant de boostraper votre cluster, vous avez accès à tout un magasin d’applications (ni plus ni moins que des charts helm avec une icône pour cliquer dessus) et éventuellement une très petite personnalisation avec un dropdown menu (mais vraiment trivial, très peu de choix).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/03_civo_marketplace-2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Et là, pour le coup en terme d’UX je trouve ça très très malin. En quelques clics, j’ai (dé)sélectionné les composants qui m’intéressent et ils ont été préinstallés pour moi avec mon cluster.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/04_civo_security.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;On peut même préinstaller des produits de sécurité, notamment Kyverno avec un ensemble de règles de sécurité préconfigurées.&lt;/p&gt;
&lt;h2 id="et-cest-pas-fini-"&gt;Et c’est pas fini !
&lt;/h2&gt;&lt;p&gt;Pour ce qui est des composants d’infrastructure, je comprend l’incentive. Pour certains devs, l’infra c’est ch***t.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Mon cluster je le veux up and running sans perte de temps, sans pour autant que mes données soient à poil sur Internet&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mais comme tout ce qui « cache » la complexité du métier d’Ops (cf mon article « Au secours, le métier d’Ops va disparaître »), la difficulté n’est pas tant le déploiement que le « day 2 operations ». Et si vous voulez modifier un paramètre, vous êtes marrons.&lt;/p&gt;
&lt;p&gt;Tout de même, préconfigurer cette partie dès le bootstrap du cluster est malin. Et ce qui est encore plus malin, c’est qu’ils ont open sourcé leur marketplace.&lt;/p&gt;
&lt;p&gt;Qu’est ce qu’ils y gagnent, me direz vous ?&lt;/p&gt;
&lt;p&gt;Et bien, s’il y a un nouveau « shiny composant » qui fait rêver tout le monde, vous pouvez aller faire une PR pour ajouter une tuile dans l’UI de CIVO. Comme ça vous bossez pour eux. Elle est pas belle la vie ? ;-p (je troll, mais je trouve ça cool, en vrai).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/07_civo_githubpr.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="et-le-cluster-il-boote-vite-"&gt;Et le cluster, il boote vite ?
&lt;/h2&gt;&lt;p&gt;C’est un peu la guéguerre entre Kubernetes managés à qui bootstrappera le control plane et les workers le plus vite. Azure met plus de 20 minutes. OVH bootstrappe le control plane en une minute mais met des plombes à sortir les VMs à cause de leur OpenStack. Exoscale fait le tout (control plane + workers) en moins de 2 minutes.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/05_civo_creating-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;CIVO nous promet 90 secondes et c’était pas loin d’être vrai. Je ne dirai pas que c’est les plus rapides mais ils sont dans le top 3 de tous les kubes managés que j’ai pu tester, sans hésiter.&lt;/p&gt;
&lt;p&gt;Une fois le cluster opérationnel, on vous propose évidemment de télécharger votre kubeconfig et roule ma poule&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/07/06_civo_kubeconfig.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="mais-quest-ce-quon-peut-faire-tourner-dans-kube-avec-1-ou-4-go-de-ram-"&gt;Mais qu’est ce qu’on peut faire tourner dans Kube avec 1 (ou 4) Go de RAM ?
&lt;/h2&gt;&lt;p&gt;Le souci avec ce genre de « petites machines », c’est que si vous n’avez pas OS et kubernetes optimisés, une part non négligeable de la VM ne sera pas utilisable pour vos workloads et vous n’aurez que (dans le pire des cas) 2 Go de libre.&lt;/p&gt;
&lt;p&gt;Et c’est là toute la « &lt;em&gt;malinerie&lt;/em&gt; » d’utiliser k3s plutôt qu’un k8s vanilla. k3s est spécialement pensé pour tourner sur des petites machines (en edge notamment). J’avais pu installer un master kubernetes sur un raspberry pi 1 (model B, 1 CPU ridicule et 512 Mo de RAM) tellement l&amp;rsquo;empreinte mémoire demandée est faible.&lt;/p&gt;
&lt;p&gt;Associé à un magasin d’applications maison pré-tuné pour consommer peu (très petites requests pour fit les petites machines sans tout bloquer), on arrive avec des nodes quasiment sans overhead. Dans cet exemple, j’ai cliqué sur plusieurs composants (cert-manager, kyverno, ha-proxy, prometheus+alertmanager+grafana, metrics-server, falco). Je me retrouve avec des nodes (4vCPU 8Go) quasiment vides !&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;kubectl --kubeconfig civo-zwindler-kubeconfig top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k3s-zwindler-deadbeef-node-pool-31af 230m 5% 945Mi 12%
k3s-zwindler-deadbeef-node-pool-6609 97m 2% 471Mi 6%
k3s-zwindler-deadbeef-node-pool-e07c 141m 3% 874Mi 11%
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Du coup, pour du lab perso ou des workloads qui nécessitent très peu de puissance, l’offre de CIVO est plutôt bien positionnée. Je ne suis pas complètement convaincu de l’intérêt de l’offre extra small à 4$ qui est plus là pour la &lt;em&gt;prouesse technique&lt;/em&gt; qu’une réelle utilisation. Mais dès small ou medium, on a un service qui fonctionne, moins cher que de nombreux concurrents et surtout bien plus optimisé en terme de ratio overhead/puissance totale.&lt;/p&gt;
&lt;p&gt;Au delà de kubernetes, l’offre est quasiment inexistante. Des VMs (plus chères que les workers kubes !!! wtf) et des loadbalancer à 10$/mois (Scaleway le fait à 8€, on est dans les prix « pas cher ») et c’est tout&amp;hellip;&lt;/p&gt;
&lt;p&gt;Autant dire que c’est kubernetes ou rien. Du coup, est ce qu’il y a un marché pour ce besoin, je ne suis pas certain&amp;hellip; mais pourquoi pas ? En tout cas, bonne surprise !&lt;/p&gt;</description></item><item><title>J’ai testé pour vous : l’offre Kubernetes as a service d’OVH</title><link>https://blog.zwindler.fr/2019/07/09/jai-teste-pour-vous-loffre-kubernetes-as-a-service-dovh/</link><pubDate>Tue, 09 Jul 2019 11:30:50 +0000</pubDate><guid>https://blog.zwindler.fr/2019/07/09/jai-teste-pour-vous-loffre-kubernetes-as-a-service-dovh/</guid><description>&lt;img src="https://blog.zwindler.fr/2019/07/cropped-ovh_kubernetes.webp" alt="Featured image of post J’ai testé pour vous : l’offre Kubernetes as a service d’OVH" /&gt;&lt;h2 id="ovh-sort-son-offre-kubernetes-managée"&gt;OVH sort son offre Kubernetes managée
&lt;/h2&gt;&lt;p&gt;Vous avez peut être vu passer l’actualité début février, OVH a lancé (comme d’autres cloud providers) &lt;a class="link" href="https://www.ovh.com/fr/public-cloud/kubernetes/" target="_blank" rel="noopener"
&gt;son offre Kubernetes as a service (KaaS)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/06/kas.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Cette blague hilarante vous est offerte par zwindler !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme beaucoup de techno non triviales, une offre managée, c’est un bon moyen de mettre le pied à l’étrier si vous ne connaissez pas encore Kubernetes. C’est aussi un bon moyen pour OVH pour ne pas trop se laisser distancer par les géants américains.&lt;/p&gt;
&lt;p&gt;En avril dernier, j’ai pu participer à un meetup dans les locaux d’OVH et de rencontrer les personnes qui avaient mis en place cette technologie. Du coup, je vous propose un petit article dans lequel on va voir ensemble à quoi ça ressemble.&lt;/p&gt;
&lt;h2 id="côté-tarif"&gt;Côté tarif
&lt;/h2&gt;&lt;p&gt;C’est le nerf de la guerre. Comme tous les autres (à l’exception notable d’EKS d’Amazon), vous ne payez que pour les workers, pas pour les masters (le control plane donc). Niveau tarif pour les workers, c’est simple, ce sont les tarifs applicables sur l’offre cloud public d’OVH.&lt;/p&gt;
&lt;p&gt;La plus petite machine que vous pouvez sélectionner est un machine Linux de type B2-7, avec 2 vCPUs, 7 Go de RAM et 50 Go de SSD local.&lt;/p&gt;
&lt;p&gt;C’est suffisant pour faire des tests, mais en production on en voudra au minimum 3, ce qui à 22€HT/mois pièce vous fera quand même environ 75€ / mois.&lt;/p&gt;
&lt;p&gt;Au final, on est objectivement moins cher que ce que &lt;a class="link" href="https://blog.zwindler.fr/2018/12/18/jai-teste-pour-vous-aks-la-plateforme-kubernetes-managee-dazure/" &gt;j’avais pu tester sur AKS&lt;/a&gt;. Car pour rappel, j’avais monté un cluster de machines de type B2ms avec 2 vCPU et 8 Go de RAM pour 30€ / mois, donc identique. SAUF que ces machines sont des machines dites &amp;ldquo;burstable&amp;rdquo; (vous n’avez qu’une portion d’un vCPU, que vous ne pouvez dépasser que pour une durée réduite avant de subir un throttling). Des machines équivalentes reviendraient sur Azure à utiliser des D2, pour un tarif de 83€TTC / mois&amp;hellip; par machine !!!&lt;/p&gt;
&lt;p&gt;Le fait que le control plane (les masters) ne soient pas payant est à la fois un avantage et un inconvénient. Pour OVH, je n’ai pas encore la réponse, mais lorsque j’avais testé AKS d’Azure, j’avais demandé au commercial ce qui se passait si mon control plane était HS (vu que c’est eux qui gèrent, je ne peux pas prendre la main pour le fixer). Il m’avait répondu texto : &amp;ldquo;comme c’est un produit gratuit, on ne s’engage sur aucune SLA (seulement un SLO de 2h)&amp;rdquo;. De quoi refroidir quand on est habitué à avoir la main sur son cluster Kubernetes.&lt;/p&gt;
&lt;h2 id="et-si-on-testait-"&gt;Et si on testait ?
&lt;/h2&gt;&lt;p&gt;Assez parlé ! Dans mon manager d’OVH, j’ai créé un nouveau projet, que j’ai nommé de manière originale &amp;ldquo;Kubernetes Project&amp;rdquo;. Puis, j’ai créé un cluster Kubernetes en cliquant sur &amp;ldquo;Créer un cluster Kubernetes&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/06/ovh_manager1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Actuellement, seul le DC &amp;ldquo;Graveline 5&amp;rdquo; semble capable d’accueillir l’offre KaaS d’OVH. Un point qu’il faudra améliorer dans le futur pour pouvoir se construire une infrastructure réellement résiliente.&lt;/p&gt;
&lt;p&gt;Edit: Une deuxième région sera disponible dans le mois (cf Maxime Hurtrel, PM K8s chez OVH)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/06/creer_kubernetes1-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Niveau version de Kubernetes, bonne nouvelle, OVH s’est donné les moyens de proposer des versions très à jour de Kubernetes. Toutes les versions depuis la 1.11 jusqu’à la version 1.14 sont disponibles. La 1.14, qui n’a que quelques mois, est devenue dispo chez OVH assez rapidement. On peut imaginer que la 1.15 de Kubernetes qui vient tout juste de sortir (mi juin) sera probablement assez vite disponible aussi.&lt;/p&gt;
&lt;p&gt;A titre de comparaison, chez Azure, ils sont assez bons dans ce domaine, et pourtant ils n’ont la 1.14 qu’en preview. Le mauvais élève Amazon est à la traîne avec seulement la 1.12 (pourtant sortie en septembre 2018).&lt;/p&gt;
&lt;h2 id="ca-va-trop-vite"&gt;&amp;ldquo;Ca va trop vite&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;Cette partie là est relativement impressionnante. La création d’un nouveau cluster est extrêmement rapide.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/06/kube1.4-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Au total, l’instanciation d’un cluster met moins d’une minute, là où AKS en nécessite une 20aine (en comptant les workers certes, mais bon la moitié du temps le portal ou l’appel à l’API plante !).&lt;/p&gt;
&lt;p&gt;Ceci est du à la façon dont le control plane a été créé et conçu par les équipes d’OVH (j’y reviendrais juste après) et est clairement une réussite. Pour avoir déployé à la main Kubernetes un paquet de fois et avec de nombreuses méthodes différentes (&lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=kubernetes" &gt;cf mes divers articles sur le sujet&lt;/a&gt;), c’est la méthode la plus rapide d’installer Kubernetes, et de loin.&lt;/p&gt;
&lt;h2 id="larchitecture-du-control-plane"&gt;L’architecture du control plane
&lt;/h2&gt;&lt;p&gt;Un des trucs sympas avec OVH, c’est qu’ils n’hésitent pas à communiquer sur les détails techniques. Certes, ils ne sont pas les seuls, mais c’est toujours agréables.&lt;/p&gt;
&lt;p&gt;Lors du &lt;a class="link" href="https://www.meetup.com/fr-FR/Cloud-Native-Computing-Bordeaux/events/259991418/" target="_blank" rel="noopener"
&gt;CNCF Meetup, Kevin Georges, Pierre Peronnet et Sébastien Jardin&lt;/a&gt; nous ont donc présenté les entrailles de leur Kubernetes as a service.&lt;/p&gt;
&lt;p&gt;L’idée principale est que le &lt;em&gt;control plane&lt;/em&gt; doit être le plus léger possible, pour coûter le moins cher possible à OVH (vu que c’est gratuit), tout en restant résilient.&lt;/p&gt;
&lt;p&gt;La solution qui a été retenue pour arriver à une solution acceptable a été de déployer les services nécessaires au control plane de Kubernetes (control malanger, api server, scheduler) dans &amp;hellip; un Kubernetes ! La seule brique non containerisée est etcd, et il s’agit ici d’un cluster dédié sur des machines physiques (ce qui explique probablement la limitation au DC Graveline).&lt;/p&gt;
&lt;p&gt;Dans tous les cas, ça explique probablement aussi la vitesse de démarrage d’un nouveau cluster : il faut juste lancer 3 containers et zou, un nouveau cluster.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/07/1-pFziI2YQgKEYx2qLWP68ww.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Source : OVH &lt;a class="link" href="https://www.ovh.com/fr/blog/kubinception-using-kubernetes-to-run-kubernetes/" target="_blank" rel="noopener"
&gt;https://www.ovh.com/fr/blog/kubinception-using-kubernetes-to-run-kubernetes/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L’article technique détaillant tout ça est dispo &lt;a class="link" href="https://www.ovh.com/fr/blog/kubinception-using-kubernetes-to-run-kubernetes/" target="_blank" rel="noopener"
&gt;sur le site d’OVH&lt;/a&gt;, je n’en dis pas plus, ils l’expliquent mieux que moi.&lt;/p&gt;
&lt;h2 id="les-workers"&gt;Les workers
&lt;/h2&gt;&lt;p&gt;Pour la partie Workers, plutôt que de développer sa propre API et l’intégrer comme module du projet Kubernetes (comme les autres gros cloud providers, &lt;a class="link" href="https://github.com/kubernetes/kubernetes/tree/7f23a743e8c23ac6489340bbb34fa6f1d392db9d/pkg/cloudprovider/providers" target="_blank" rel="noopener"
&gt;qui ont leur code embarqué dans celui de Kubernetes&lt;/a&gt;), la team chez OVH en charge du projet s’est appuyée sur de l’existant : leurs propres services OpenStack fournissent déjà l’ensemble des briques dont ils ont besoin pour créer des VMs à la volées et les intégrer à des clusters Kubernetes.&lt;/p&gt;
&lt;p&gt;Quand j’ai demandé au Meetup combien de temps il fallait pour &amp;ldquo;poper&amp;rdquo; un nouveau worker, un des trois speakers m’a dit, tout désolé &amp;ldquo;on ne fait pas de miracles, il faut quelques minutes&amp;rdquo;. Il n’a pas compris le pauvre quand j’ai éclaté de rire (parce que sur Azure, ça prend des plombes).&lt;/p&gt;
&lt;h2 id="ajouter-des-workers"&gt;Ajouter des workers
&lt;/h2&gt;&lt;p&gt;La procédure est assez simple, mais se fait au travers de l’interface (comme la création du cluster). Je suis quasiment certain que tout doit pouvoir se piloter par API (je vois mal pourquoi ils auraient fait autrement pour un service tout neuf), pour autant, je n’en ai pas trouvé de trace dans la &lt;a class="link" href="https://docs.ovh.com/gb/en/kubernetes/" target="_blank" rel="noopener"
&gt;documentation officielle (pas à jour avec la nouvelle interface et encore un peu light)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/06/add_nodes_ovh2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Bon, alors je suis peut être mal tombé, mais quand j’ai cliqué dans l’interface pour ajouter des nodes, ça a quand même pris énormément de temps (facile 20-30 minutes). Du coup j’étais un peu (très) déçu&amp;hellip;&lt;/p&gt;
&lt;p&gt;Après investigation, en fait&amp;hellip; c’est l’interface qui déconne ! En réalité, mon nœud était UP depuis longtemps déjà.&lt;/p&gt;
&lt;p&gt;Je m’en suis rendu compte en faisant un petit kubectl get nodes et j’ai vu que mon node &amp;ldquo;Ready&amp;rdquo; depuis 28 minutes était encore marqué &amp;ldquo;En cours d’installation&amp;rdquo; &amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
vm1.12-1 Ready &amp;lt;none&amp;gt; 28m v1.12.7 51.77.204.236 &amp;lt;none&amp;gt; Container Linux by CoreOS 2135.4.0 (Rhyolite) 4.19.50-coreos-r1 docker://18.6.3
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="se-connecter-au-cluster"&gt;Se connecter au cluster
&lt;/h2&gt;&lt;p&gt;D’ailleurs, comment on s’y connecte ? Pas de souci de ce côté, OVH vous simplifie la vie en vous proposant de télécharger directement votre fichier kubeconfig préconfiguré, prêt à utiliser.&lt;/p&gt;
&lt;p&gt;Si vous en avez plusieurs, pour rappel, vous pouvez utiliser le flag &amp;ldquo;&amp;ndash;kubeconfig=kubeconfig.yml&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/07/kubeconfig.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="en-vrai-un-node-ne-met-que-3-minutes-à-poper"&gt;En vrai, un node ne met que 3 minutes à poper
&lt;/h2&gt;&lt;p&gt;Du coup, j’ai voulu retester le démarrage d’une nouvelle VM, en sachant que le temps indiqué sur l’interface web n’est pas bon.&lt;/p&gt;
&lt;p&gt;Après quelques tests, en 3 minutes, le node apparait en &amp;ldquo;Not Ready&amp;rdquo;, puis passe &amp;ldquo;Ready&amp;rdquo; au bout de quelques secondes. On est donc très proche de ce dont j’avais pu parler avec les gens d’OVH du coup, c’est très bon comme temps de boot.&lt;/p&gt;
&lt;p&gt;Ouf, on est rassurés !&lt;/p&gt;
&lt;h2 id="mise-à-jour"&gt;Mise à jour
&lt;/h2&gt;&lt;p&gt;Un point sympa que permettent les solutions de type KaaS est la gestion des mises à jour depuis votre interface de gestion. Mettre à jour Kubernetes, c’est pénible. La moitié du temps, on a peur de tout casser.&lt;/p&gt;
&lt;p&gt;Alors je ne dis pas que rien ne va casser avec le Kubernetes d’OVH, mais comme l’infra est cadrée et gérée par eux, j’imagine que c’est suffisamment bien testé dans des conditions similaires aux vôtres pour être un peu plus serein le jour où ça arrive.&lt;/p&gt;
&lt;p&gt;A noter, contrairement à AKS, vous n’avez que peu la main sur les mises à jour. Cela se limite à ça, et je n’ai pas trouver comment monter de la 1.12 à la 1.13 par exemple&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/07/politique_secu_ovh_kubernetes.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Edit: Toujours selon Maxime Hurtrel, ça devrait arriver bientôt&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="conclusion--au-delà-du-compute-lui"&gt;Conclusion : au delà du compute, l’UI
&lt;/h2&gt;&lt;p&gt;Dans les points qui déchirent : OVH sait fournir un control plane à une vitesse à faire pâlir d’envie tous les concurrents.&lt;/p&gt;
&lt;p&gt;Cependant, cela se fait sur un cluster Kubernetes mono DC (DC5 Graveline), avec la partie etcd externalisée à part, sur un cluster mutualisé. Je ne fais pas de jugement de valeur car, contrairement à OVH qui est transparent, je n’ai pas d’info technique sur les versions proposées par la concurrence.&lt;/p&gt;
&lt;p&gt;En revanche, je peux comparer avec un cluster que j’installe moi même, et là clairement, je suis un cran en dessous en terme de ce qui peut être fait en terme de sécurisation de mon cluster.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de l’interface, elle souffre un peu de sa jeunesse. Il n’y a rien de plus que les onglets pour créer un cluster et pour ajouter ou supprimer des nœuds (et encore, pas plus d’info sur ces nœuds que leur nom et leur taille !).&lt;/p&gt;
&lt;p&gt;Un dernier onglet existe pour &amp;ldquo;visualiser&amp;rdquo; ses containers et ses services, mais il est pour l’instant vide et sera de toute façon probablement moins utile que le dashboard ou tout autre outil existant (sauf à fournir un énorme effort de dev sur ce point).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/07/kube_dashboard.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Encore un exemple de la jeunesse de la solution et particulièrement de son interface : OVH pope des VMs (workers) très vite, ce qui devrait être super cool et soulever les foules&amp;hellip; mais si on teste la solution rapidement, comme l’interface ne l’indique pas, on pourrait penser que ce n’est pas le cas ! Dommage !&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Edit: Le problème est connu et en cours de fix&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;[Le tweet n&amp;rsquo;est plus disponible]&lt;/p&gt;
&lt;p&gt;Et pour ce qui est des mises à jour, c’est le flou total. On vous explique que tout est maintenu à jour, mais les montées de versions majeurs sur un cluster ne semble pas disponible pour l’instant.&lt;/p&gt;
&lt;p&gt;Dans les points pas glop : aucune trace dans la doc d’API pour créer des clusters à la volée ou les gérer de manière automatisée via Ansible ou autre&amp;hellip;&lt;/p&gt;
&lt;p&gt;Edit: &lt;a class="link" href="https://api.ovh.com/console/#/cloud/project/%7BserviceName%7D/kube#GET" target="_blank" rel="noopener"
&gt;l’API est là&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Le tweet n&amp;rsquo;est plus disponible]&lt;/p&gt;
&lt;p&gt;Bref, vous l’aurez compris, techniquement c’est une réussite. Chez OVH, ils savent gérer des VMs et des containers et ça se voit. Mais l’offre KaaS d’OVH manque peut être encore d’un petit coup de polish pour qu’on se sente bien chez soi, et pleinement en confiance. Et c’est d’autant plus rageant que la solution a plein de bons points, que le travail abattu (en peu de temps) est colossal.&lt;/p&gt;
&lt;p&gt;Je voudrais donc tenter de terminer sur une note positive, car c’est mon ressenti au global. Pour avoir rencontré des membres de l’équipes (de vrais passionnés), j’ai envie de croire que ce produit est amené à grandir, et ses petits défauts de jeunesse à disparaître.&lt;/p&gt;
&lt;p&gt;A suivre donc !&lt;/p&gt;
&lt;h2 id="bonus-gpu"&gt;Bonus GPU
&lt;/h2&gt;&lt;p&gt;Dans les petits &amp;ldquo;trucs&amp;rdquo; qui m’ont fait sourire, j’ai vu passer un tweet indiquant qu’OVH se lançait également (en alpha par contre pour l’instant) dans Kubernetes managé avec des instances baremetal avec GPU.&lt;/p&gt;
&lt;p&gt;Je n’ai pas forcément de workload en tête, mais pour ceux qui veulent lancer des containers avec des calculs GPU, c’est une option qui peut faire sens.&lt;/p&gt;
&lt;p&gt;Si vous voulez en savoir plus, c’est par ici :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://labs.ovh.com/gpu-baremetal-kubernetes-nodes" target="_blank" rel="noopener"
&gt;Labs OVH GPU baremetal k8s nodes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sécuriser l’émission de vos certificats avec un CAA (Azure)</title><link>https://blog.zwindler.fr/2018/06/12/securiser-lemission-de-vos-certificats-azure-avec-un-caa/</link><pubDate>Tue, 12 Jun 2018 11:45:10 +0000</pubDate><guid>https://blog.zwindler.fr/2018/06/12/securiser-lemission-de-vos-certificats-azure-avec-un-caa/</guid><description>&lt;img src="https://blog.zwindler.fr/2018/06/azure.webp" alt="Featured image of post Sécuriser l’émission de vos certificats avec un CAA (Azure)" /&gt;&lt;h2 id="caa--azure-"&gt;CAA ? Azure ?!?
&lt;/h2&gt;&lt;p&gt;Et oui, je travaille sur Azure ! Je crois bien que c’est le premier article que je vais faire à ce sujet donc je commence par quelque chose de léger, créer un CAA.&lt;/p&gt;
&lt;p&gt;Au-delà de toute considération purement dogmatique, le cloud de Microsoft fait quand même partie des plus grands, avec une richesse fonctionnelle et une API aussi riche que ce qu’on trouve chez les autres. J’aurai l’occasion de faire d’autres articles sur Azure car j’utilise énormément les modules Ansible développés par les équipes de Microsoft (qui s’appuient sur l’API d’Azure).&lt;/p&gt;
&lt;h2 id="et-donc-le-caa-"&gt;Et donc, le CAA ?
&lt;/h2&gt;&lt;p&gt;Mais cet article parle de CAA. Pour ceux qui ne connaitraient pas, un CAA est un « nouveau » (2017) type d’enregistrement DNS :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La CAA est une mesure de sécurité qui permet aux propriétaires d’un nom de domaine de préciser dans leur DNS (Domain Name System) les autorités de certification (AC) qui sont autorisées à émettre des certificats pour leur nom de domaine.&lt;/p&gt;
&lt;p&gt;Global Sign (lien mort, pas disponible sur Internet Archive)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Concrètement, si je possède un domaine avec un grand nombre de sites web signés, que je n’utilise qu’une ou deux (ou un nombre fini) autorités de certifications, je peux maintenant spécifier lesquelles (parmi la centaine des AC existantes) sont autorisées à émettre un certificat pour mon domaine. Cela permettra d’éviter que des personnes mal intentionnées génèrent un certificat pour une URL dans un de vos sous domaines.&lt;/p&gt;
&lt;h2 id="comment-ça-fonctionne-"&gt;Comment ça fonctionne ?
&lt;/h2&gt;&lt;p&gt;Il existe donc un nouveau type d’entrée dans votre DNS qui devrait ressembler à ça :&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;
Name
&lt;/th&gt;
&lt;th&gt;
Type
&lt;/th&gt;
&lt;th&gt;
Value
&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan="2"&gt;
zwindler.fr.
&lt;/td&gt;
&lt;td rowspan="2"&gt;
CAA
&lt;/td&gt;
&lt;td rowspan="1"&gt;
0 issue « letsencrypt.org »
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td rowspan="1"&gt;
0 iodef « mailto:zwindler@zwindler.fr »
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Pour l’entrée zwindler.fr., j’ai donc un CAA qui dispose de 2 variables (issue et iodef) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La première indiquant que seul letsencrypt.org peut générer des certificats pour mon domaine. On peut en avoir plusieurs si on a plusieurs autorités de certification.&lt;/li&gt;
&lt;li&gt;La seconde indiquant qu’il faut m’envoyer un email si jamais quelqu’un qui n’a pas les droits essaye de générer un certificat.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;A noter :&lt;/strong&gt; iodef n’est pas respecté par toutes les autorités de certifications, donc vous n’aurez potentiellement pas d&amp;rsquo;emails en cas de tentative de génération de certificat chez une AC non autorisé.&lt;/p&gt;
&lt;h2 id="ok-comment-je-créé-un-caa-"&gt;Ok, comment je créé un CAA ?
&lt;/h2&gt;&lt;p&gt;Normalement, c’est trivial. Il s’agit d’un enregistrement DNS comme un autre. Par exemple chez OVH, vous pouvez directement le créer depuis l’interface :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/06/caa01.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="et-sur-azure-"&gt;Et sur Azure ?
&lt;/h2&gt;&lt;p&gt;Il faut bien que ce soit rigolo. Dans le portail d’Azure, il n’est pas possible de créer (ni même de voir !!!) les champs de types CAA, pourtant disponibles depuis mi 2017.&lt;/p&gt;
&lt;p&gt;La seule solution est d’utiliser l’API REST, la CLI azure, ou Powershell :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.microsoft.com/en-us/cli/azure/network/dns/record-set/caa?view=azure-cli-latest" target="_blank" rel="noopener"
&gt;Page de documentation azure cli&lt;/a&gt; (record-set)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.microsoft.com/fr-fr/azure/dns/dns-operations-recordsets" target="_blank" rel="noopener"
&gt;Gérer les enregistrements DNS avec Powershell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="avec-azure-cli"&gt;Avec Azure cli
&lt;/h2&gt;&lt;p&gt;Du coup je suis parti de la doc pour faire ça :&lt;/p&gt;
&lt;p&gt;En partant du principe que vous avez un compte sur Azure, que vous gérez les DNS de la zone &lt;strong&gt;zwindler.fr&lt;/strong&gt; depuis Azure DNS (dans un resource group appelé &lt;strong&gt;dns-rg&lt;/strong&gt;), voilà ce qu’il faut faire pour créer une protection pour le sous domaine *&lt;strong&gt;.test.zwindler.fr&lt;/strong&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;az network dns record-set caa add-record --resource-group dns-rg --zone-name zwindler.fr --record-set-name test --flags 0 --tag &amp;#34;issue&amp;#34; --value &amp;#34;letsencrypt.org&amp;#34;
az network dns record-set caa add-record --resource-group dns-rg --zone-name zwindler.fr --record-set-name test --flags 0 --tag &amp;#34;iodef&amp;#34; --value &amp;#34;zwindl3r@zwindler.fr&amp;#34;
az network dns record-set caa list --resource-group dns-rg --zone-name zwindler.fr
{
&amp;#34;caaRecords&amp;#34;: [
{
&amp;#34;flags&amp;#34;: 0,
&amp;#34;tag&amp;#34;: &amp;#34;iodef&amp;#34;,
&amp;#34;value&amp;#34;: &amp;#34;zwindl3r@zwindler.fr&amp;#34;
},
{
&amp;#34;flags&amp;#34;: 0,
&amp;#34;tag&amp;#34;: &amp;#34;issue&amp;#34;,
&amp;#34;value&amp;#34;: &amp;#34;letsencrypt.org&amp;#34;
}
],
&amp;#34;etag&amp;#34;: &amp;#34;aaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa&amp;#34;,
&amp;#34;fqdn&amp;#34;: &amp;#34;test.zwindler.fr.&amp;#34;,
&amp;#34;id&amp;#34;: &amp;#34;/subscriptions/aaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa/resourceGroups/dns-rg/providers/Microsoft.Network/dnszones/zwindler.fr/CAA/test&amp;#34;,
&amp;#34;metadata&amp;#34;: null,
&amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
&amp;#34;resourceGroup&amp;#34;: &amp;#34;dns-rg&amp;#34;,
&amp;#34;ttl&amp;#34;: 3600,
&amp;#34;type&amp;#34;: &amp;#34;Microsoft.Network/dnszones/CAA&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="et-si-je-veux-le-domaine-entier-"&gt;Et si je veux le domaine entier ?
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Et là c’est la blague !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si vous créez un record-set « &lt;em&gt;test&lt;/em&gt;« , il va vous créer un CAA pour &lt;em&gt;test&lt;/em&gt;.zwindler.fr (voire le champ &lt;strong&gt;fqdn&lt;/strong&gt; dans la réponse du list). Vous n’avez pas la main sur le &lt;strong&gt;fqdn&lt;/strong&gt; directement (que ce soit en création ou en mise à jour), il est créé à partir du nom.&lt;/p&gt;
&lt;p&gt;Or, vous avez très probablement envie de protéger &lt;strong&gt;zwindler.fr&lt;/strong&gt;, pas seulement &lt;strong&gt;test.zwindler.fr&lt;/strong&gt;, car ça n’aurait pas vraiment de sens (on rappelle que le but de la manœuvre et d&amp;rsquo;empêcher des gens de générer des certificats pour des sous domaine de votre domaine) sinon.&lt;/p&gt;
&lt;p&gt;Créer une liste exhaustive de tous les sous domaines possibles me semble complexe ;-).&lt;/p&gt;
&lt;p&gt;L’astuce, que vous ne trouverez pas dans la documentation (en tout cas dans les pages que j’ai lues), est de créer un recordset avec comme nom « @ » (j’avais testé, vide, « * », « . », mais pas « @ »&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Et là, un recordset sera créé pour l’ensemble de votre zone DNS (&lt;strong&gt;zwindler.fr&lt;/strong&gt; dans mon exemple).&lt;/p&gt;
&lt;p&gt;Magie-magie&amp;hellip;&lt;/p&gt;
&lt;h2 id="liens-utiles"&gt;Liens utiles
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.ssllabs.com/ssltest/" target="_blank" rel="noopener"
&gt;Un site pour tester son site en HTTPS (Qualys)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://sslmate.com/caa/" target="_blank" rel="noopener"
&gt;Un site pour générer les CAA records (SSLmate)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Déploiement de Proxmox VE 5 sur un serveur dédié – part 3</title><link>https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/</link><pubDate>Tue, 25 Jul 2017 11:55:18 +0000</pubDate><guid>https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_thumbnail.webp" alt="Featured image of post Déploiement de Proxmox VE 5 sur un serveur dédié – part 3" /&gt;&lt;blockquote&gt;
&lt;p&gt;Note : Cette suite d’articles de 2016 écrite par M4vr0x a été remis à jour par Charles et moi. Je vous conseille d’aller lire celui ci plutôt, qui sera plus en phase avec les versions actuelles. &lt;a class="link" href="https://blog.zwindler.fr/2020/03/02/deploiement-de-proxmox-ve-6-pfsense-sur-un-serveur-dedie/%22%3e" &gt;Proxmox VE 6 + pfsense sur un serveur dédié (1/2)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cet article fait partie d’une suite de 3 articles sur la mise en place de Proxmox VE et sa sécurisation et dont voici les adresses :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nous avons donc à présent une belle infrastructure à disposition avec une VM PFSense en frontal et un niveau de sécurité relativement correct. Nous allons donc terminer par :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La configuration d’un accès distant sécurisé grâce à OpenVPN&lt;/li&gt;
&lt;li&gt;L’adaptation des règles de filtrage pour que cela fonctionne&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mais avant cela, je vais juste faire un léger aparté pour vous montrer comment autoriser l’accès extérieur à un service d’une machine virtuelle.&lt;/p&gt;
&lt;p&gt;Comme pour les parties précédentes, si des paramètres ne sont pas explicités, ils sont à laisser à leur valeur par défaut.&lt;/p&gt;
&lt;h2 id="publication-de-services-sur-linternet-du-web"&gt;Publication de services sur l’internet du web
&lt;/h2&gt;&lt;p&gt;Imaginons que vous ayez quelques VMs qui vous fournissent des services de « Prod », et que pour des raisons qui vous sont propres, vous souhaitiez pouvoir y accéder sans passer par votre futur VPN &amp;hellip; « Comment faire ? » me demanderiez-vous. « Et bien, vous répondrais-je &amp;hellip; C’est très simple mon cher ami, grâce à notre magnifique infrastructure, l’ajout d’UNE SEULE règle suffira ! » (mouahaha)&lt;/p&gt;
&lt;p&gt;Donc prenons le cas d’un serveur PLEX , au hasard, hébergé sur un NAS Synology virtualisé &amp;hellip; son @IP est 192.168.9.10 et son port d’écoute est, par défaut, le TCP:32400.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans le menu Firewall &amp;gt; NAT puis cliquer sur « &lt;em&gt;ADD&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Interface&lt;/strong&gt; : WAN
&lt;strong&gt;Protocol&lt;/strong&gt; : TCP&lt;br&gt;
&lt;strong&gt;Destination&lt;/strong&gt; : Any&lt;br&gt;
&lt;strong&gt;Destination Port Range (From)&lt;/strong&gt; : Other - 32400&lt;br&gt;
&lt;strong&gt;Redirect target IP&lt;/strong&gt; : 192.168.9.10&lt;br&gt;
&lt;strong&gt;Redirect target port&lt;/strong&gt; : Other - 32400&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt; : Choisir un nom pour la règle (ex: Synology - Plex)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec « &lt;em&gt;Save&lt;/em&gt; » puis « &lt;em&gt;Apply Changes&lt;/em&gt; » pour recharger la configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-nat-rule.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Voilà, c’est tout !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vous avez crée une règle de NAT qui renvoie toutes les requêtes arrivant sur le port TCP:32400 de votre interface WAN vers le port TCP:32400 de votre Plex ! Cerise sur le gâteau, vu que PFSense est bien conçu (et que vous n’avez pas modifié le paramètre « Filter rule association ») il vous a généré une règle de FW associée pour autoriser le flux de votre règle NAT.&lt;/p&gt;
&lt;p&gt;Comme tous les services publiés sur votre IP public constituent des vecteurs potentiels d’attaque on va y allez « molo sur la mayo » (&amp;hellip; vous connaissez cette expression ? Je crois que je viens de l’inventer &amp;hellip; truc de fou &amp;hellip; une fulgurance &amp;hellip; Non sérieux quelqu’un connaît ? &amp;hellip; Euh oui pardon &amp;hellip; ). Je disais donc que nous privilégierons évidemment un accès via le VPN que nous allons mettre en place &amp;hellip;. genre maintenant, tout de suite.&lt;/p&gt;
&lt;h2 id="configuration-daccès-distant-sécurisé-via-openvpn"&gt;Configuration d’accès distant sécurisé via OpenVPN
&lt;/h2&gt;&lt;p&gt;Je ne vais pas vous détailler l’action de chaque option, et je ne les connais pas toutes d’ailleurs, par contre si vous êtes intéressé, je vous encourage fortement à vous référer à ces sources :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://openvpn.net/index.php/open-source/documentation/howto.html" target="_blank" rel="noopener"
&gt;Documentation officielle d’OpenVPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.netgate.com/pfsense/en/latest/recipes/openvpn-ra.html" target="_blank" rel="noopener"
&gt;Article « OpenVPN Remote Access Server » du Wiki de PFSense&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="http://www.provya.net/index.php?d=2016/04/18/11/00/31-pfsense-securisez-lacces-distant-de-vos-collaborateurs-nomades-avec-openvpn" target="_blank" rel="noopener"
&gt;Un très bon tuto francophone&lt;/a&gt; qui détaille bien les options &amp;hellip; lui ;-)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="création-de-lautorité-de-certification"&gt;Création de l’autorité de certification
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Naviguer jusqu’à la liste des « CAs » via le menu System &amp;gt; Cert Manager :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-ca-creation.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Celle-ci est vide, nous allons donc créer une nouvelle entrée.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer sur le bouton « ADD » en bas à droite, puis renseigner comme suit :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Descriptive name&lt;/strong&gt; : Nom choisi pour la CA&lt;br&gt;
&lt;strong&gt;Method&lt;/strong&gt; : Create an internal Certificate Authority&lt;/p&gt;
&lt;p&gt;Une fois la méthode sélectionnée, l’encadré inférieur va changé&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key length&lt;/strong&gt; : 2048 (longueur de la clé de chiffrement)&lt;br&gt;
&lt;strong&gt;Digest Algorithm&lt;/strong&gt; : SHA256 (méthode de hachage)&lt;br&gt;
&lt;strong&gt;Lifetime&lt;/strong&gt; : 3650 (durée de validité en jours)&lt;br&gt;
&lt;strong&gt;Country Code&lt;/strong&gt; : FR (Code ISO du pays d’émission du CA)&lt;/p&gt;
&lt;p&gt;Les autres champs sont libres et à titre indicatif, évitez toutefois les infos trop personnelles/confidentielles. Choisissez simplement un « Common Name » un peu explicite pour pouvoir l’identifier facilement.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer sur « &lt;em&gt;Save&lt;/em&gt; » et contempler le résultat :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-ca-exemple.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="création-du-certificat-serveur"&gt;Création du certificat serveur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Cliquer à présent sur l’onglet rouge « &lt;em&gt;Certificates&lt;/em&gt; » où un certificat utilisé par la WebUI existe déjà, puis cliquer sur le bouton « &lt;em&gt;ADD&lt;/em&gt; » pour en créer un nouveau :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt; : Create an internal Certificate Authority&lt;/p&gt;
&lt;p&gt;Et là grosse surprise ! &amp;hellip; Une fois la méthode sélectionnée, l’encadré inférieur va changé&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Descriptive name&lt;/strong&gt; : Nom choisi pour la certificat serveur&lt;br&gt;
&lt;strong&gt;Certificate authority&lt;/strong&gt;:  Sélectionner la CA crée juste avant (la seule normalement)&lt;br&gt;
&lt;strong&gt;Key length&lt;/strong&gt; : 2048&lt;br&gt;
&lt;strong&gt;Digest Algorithm&lt;/strong&gt; : SHA256&lt;br&gt;
&lt;strong&gt;Certificate Type&lt;/strong&gt; : Server Certificat (Qui a dit pourquoi ? &amp;hellip; Toi =&amp;gt; [] &amp;hellip; tu sors)&lt;br&gt;
&lt;strong&gt;Lifetime&lt;/strong&gt; : 3650 (10 ans ça devrait suffire)&lt;/p&gt;
&lt;p&gt;Les champs suivants sont normalement pré-remplis donc conservez les même valeurs que précédemment sauf pour « &lt;em&gt;Common Name&lt;/em&gt; » bien sûr (Pourquoi ? &amp;hellip; t’étais pas sorti toi ??!)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton « &lt;em&gt;Save&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="création-du-certificat-client"&gt;Création du certificat client
&lt;/h3&gt;&lt;p&gt;Alors là c’est tricky &amp;hellip; attention &amp;hellip; il va falloir relire le paragraphe précédent (oui y compris les vannes bidons) et refaire la même manip en changeant simplement :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Certificate Type&lt;/strong&gt; : Client Certificat &amp;hellip; \o/&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-cert-exemples.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="création-du-serveur-vpn"&gt;Création du serveur VPN
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Se rendre dans le menu VPN &amp;gt; OpenVPN, puis cliquer sur « &lt;em&gt;ADD&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="general-information"&gt;&lt;em&gt;General Information&lt;/em&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Server Mode&lt;/strong&gt; : Remote Access (SSL/TLS + User Auth)&lt;/p&gt;
&lt;p&gt;Avec ce mode vous aurez besoin des certificats sur le client mais devrez également saisir le login/password du user crée ci-dessus à chaque connexion du tunnel VPN. C’est une sécurité supplémentaire que vous pouvez désactiver en choisissant « Remote Access (SSL/TLS) »&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Local Port&lt;/strong&gt; : 2294&lt;/p&gt;
&lt;p&gt;Rien d’obligatoire ici mais pour les même raison expliquées dans la 2e partie de l’article ça limite drastiquement l’efficacité de nombreux bots qui utilisent les ports standards.&lt;/p&gt;
&lt;h4 id="cryptographic-settings"&gt;&lt;strong&gt;&lt;em&gt;Cryptographic Settings&lt;/em&gt;&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;TLS Authentication&lt;/strong&gt; : Laisser coché&lt;/p&gt;
&lt;p&gt;La TLS est une couche supplémentaire d’authentification/chiffrement qui permet d’ajouter une seconde ligne de défense à SLL et à priori l’impact n’est pas significatif au niveau des performances. Libre à vous de lire la doc et de l’enlever en toute connaissance de cause si vous le souhaitez.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt; : Choisir un nom pour le serveur OpenVPN&lt;br&gt;
&lt;strong&gt;Certificate authority&lt;/strong&gt; : Sélectionner la CA créée juste avant (toujours la seule normalement)&lt;br&gt;
&lt;strong&gt;Server Certificate&lt;/strong&gt; : Choisir le certificat serveur créé précédemment&lt;/p&gt;
&lt;h4 id="tunnel-settings"&gt;&lt;em&gt;Tunnel Settings&lt;/em&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;IPv4 Tunnel Network&lt;/strong&gt; : 10.2.2.0/24&lt;/p&gt;
&lt;p&gt;Conformément à notre schéma réseau, visible dans la [2e partie de l’article][2]. Là aussi, libre à vous de choisir votre segment réseau, du moment que vous adaptez la suite à votre plan d’adressage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Redirect Gateway&lt;/strong&gt; : Cocher la case&lt;/p&gt;
&lt;p&gt;Ce paramètre permet de forcer le client à utiliser le VPN en tant que passerelle par défaut dès qu’il est activé. Ce qui peut faire office de proxy sécurisé pour l’ensemble de votre trafic quand vous vous connectez depuis un Wifi Public par exemple. Si vous utilisez un client qui le permet (ex: TunnelBlick), vous pouvez laisser cette options décochée et l’activer au besoin coté client, en revanche l’ajout d’une option « push « route 192.168.9.0 255.255.255.0 » sera obligatoire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Concurrent connections&lt;/strong&gt; : 3&lt;/p&gt;
&lt;p&gt;Facultatif, permet de limiter le nombre de client connectés en même temps.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Inter-client communication&lt;/strong&gt; : Cocher la case&lt;/p&gt;
&lt;p&gt;Si vous souhaitez que vos client puissent communiquer entre eux.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disable IPv6&lt;/strong&gt; : Cocher la case&lt;/p&gt;
&lt;h4 id="client-settings"&gt;&lt;em&gt;Client Settings&lt;/em&gt;
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Dynamic IP&lt;/strong&gt; : Cocher la case&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider avec le bouton « &lt;em&gt;Save&lt;/em&gt; » &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="création-de-lunique-utilisateur"&gt;Création de l&amp;rsquo;(unique) utilisateur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Se rendre dans le menu System &amp;gt; User Manager, puis cliquer sur « &lt;em&gt;ADD&lt;/em&gt; » &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Disabled&lt;/strong&gt; : A cocher pour empêcher le user d’avoir le droit de se loguer sur la WebUI&lt;/p&gt;
&lt;p&gt;En effet, le but est d’avoir un utilisateur dédié sans accès à l’interface. Ensuite choisissez un login, un password, un nom long (facultatif), une date d’expiration (si vous cherchez des ennuis, vu que vous vous demanderez dans quelques mois pourquoi ça ne fonctionne plus). Une fois le user crée, nous allons lui attribuer le certificat client que nous avons généré précédemment :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cliquer sur le bouton « &lt;em&gt;Edit user&lt;/em&gt; » (mais si, le petit crayon bleu à droite &amp;hellip; l’autre droite)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans le cadre  « &lt;em&gt;User Certificates&lt;/em&gt;  , cliquer sur « &lt;em&gt;Add&lt;/em&gt; » &lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt; : Choose an existing certificate&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Existing Certificates&lt;/strong&gt; : Sélectionner votre certificat client qui doit être le seul non encore utilisé&lt;/p&gt;
&lt;p&gt;Il ne vous reste plus qu’à sauvegarder la modification. L’idée est de créer un couple user/certificat client par personne (logique) voir par machine cliente, ça permet notamment pouvoir les révoquer individuellement au besoin. Enfin si vous avez besoin de plusieurs utilisateurs, créez leur un groupe dédié pour les ranger (c’est plus propre, on est pas des sauvages).&lt;/p&gt;
&lt;h3 id="configuration-dudes-clients"&gt;Configuration du/des client(s)
&lt;/h3&gt;&lt;p&gt;Afin de pouvoir accéder à notre tunnel, il faut maintenant récupérer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La clé privé du certificat client crée précédemment&lt;/li&gt;
&lt;li&gt;La clé publique de ce même certificat&lt;/li&gt;
&lt;li&gt;Un modèle de configuration client d’OpenVPN et l’adapter&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je suis donc censé vous décliner la marche à suivre pour préparer des « kits » de configuration,  en fonction des options sélectionnées pour notre serveur, des spécificités de mise en forme de certificats pour les différents types de clients (Linux, MacOS, iOS, Android &amp;hellip; voir Windows) et également pour chaque &amp;hellip; ah ouai &amp;hellip; mais non en fait.&lt;/p&gt;
&lt;p&gt;Nous allons plutôt utiliser un des (nombreux) avantages de PFSense, à savoir son gestionnaire de paquets !&lt;/p&gt;
&lt;p&gt;En effet, il existe plus d’une cinquantaine de packages (en release 2.3.4) qui permettent d’ajouter des fonctionnalités à notre Firewall. Pour ne rien gâcher, ils sont installables en un clic depuis l’interface Web et leurs paramètres sont sauvegardés automatique par le mécanisme de backup intégré de PFSense qui est un simple fichier XML.&lt;/p&gt;
&lt;p&gt;Enfin, comble du bonheur, il en existe un qui fait exactement tout ce qui nous intéresse : openvpn-client-export !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_wonderful-world.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se rendre dans le menu System &amp;gt; Package Manager, puis cliquer sur l’onglet « &lt;em&gt;Available Packages&lt;/em&gt; » &lt;/li&gt;
&lt;li&gt;Taper « export » dans le champ de recherche, puis installer le paquet via le bouton « &lt;em&gt;Install&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous pouvez aussi profiter d’une recherche manuelle pour parcourir les différents paquets disponibles.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-export-pkg.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://docs.netgate.com/pfsense/en/latest/packages/openvpn-client-export.html" target="_blank" rel="noopener"
&gt;Lien vers la documentation du package OpenVPN Client Export&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Naviguer vers le menu VPN &amp;gt; OpenVPN, puis cliquer sur le nouvel onglet &lt;em&gt;« Client Export »&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Remote Access Server&lt;/strong&gt; : Sélectionner le serveur VPN souhaité (le seul à priori)&lt;br&gt;
&lt;strong&gt;Host Name Resolution&lt;/strong&gt; : Other&lt;/p&gt;
&lt;p&gt;Le choix par défaut « &lt;em&gt;Interface IP Address&lt;/em&gt; » va renseigner l’@IP locale de votre interface &lt;strong&gt;WAN&lt;/strong&gt; (10.0.0.2) dans le fichier de configuration du client et quand vous essaierez de vous y connecter depuis internet ça marchera beaucoup moins bien. Le mieux est de sélectionner « &lt;em&gt;Other&lt;/em&gt; » et de saisir directement votre IP publique ou votre nom de domaine (en cas d’utilisation de DynHost par exemple).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use Random Local Port :&lt;/strong&gt; Cocher la case (obligatoire si vous prévoyez plusieurs client en simultanés)&lt;/p&gt;
&lt;p&gt;Scroller à présent vers le bas jusqu’au cadre OpenVPN Clients :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_clients-export.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Il ne reste plus qu’à télécharger les configs qui vous intéresse !&lt;/p&gt;
&lt;p&gt;Pour les utilisateurs de MacOS, je vous conseille le client VPN &lt;a class="link" href="https://tunnelblick.net/downloads.html" target="_blank" rel="noopener"
&gt;Tunnelblick&lt;/a&gt;. Une fois installé, télécharger la « &lt;em&gt;Standard Configuration&lt;/em&gt; » au format « &lt;em&gt;Archive&lt;/em&gt; » . Dézipper l’archive, ajouter le suffixe « .tblk » pour transformer le dossier en configuration pour Tunnelblick et enfin l’ouvrir pour la charger automatiquement dans l’application.&lt;/p&gt;
&lt;p&gt;Une fois la/les configuration(s) installé(s) sur votre/vos client(s), il ne reste plus qu’à paramétrer les règles PFSense requises.&lt;/p&gt;
&lt;h3 id="configuration-des-flux"&gt;Configuration des flux
&lt;/h3&gt;&lt;h4 id="autoriser-laccès-du-client-au-serveur-vpn-depuis-internet"&gt;Autoriser l’accès du client au serveur VPN depuis internet
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Naviguer vers le menu Firewall &amp;gt; Rules&lt;/li&gt;
&lt;li&gt;Sélectionner l’onglet WAN puis ajouter une nouvelle règle avec « &lt;em&gt;ADD&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Action&lt;/strong&gt; : Pass&lt;br&gt;
&lt;strong&gt;Interface&lt;/strong&gt; : WAN&lt;br&gt;
&lt;strong&gt;Protocol&lt;/strong&gt; : UDP&lt;br&gt;
&lt;strong&gt;Source&lt;/strong&gt; : Any&lt;br&gt;
&lt;strong&gt;Destination&lt;/strong&gt; : WAN address&lt;br&gt;
&lt;strong&gt;Destination Port Range (From)&lt;/strong&gt; : 2294 (ou le port d’écoute choisi pour votre serveur)&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt; : Renseigner le nom qui s’affichera pour la règle (ex: OpenVPN nomad access)&lt;/p&gt;
&lt;h4 id="autoriser-laccès-du-client-en-provenance-du-tunnel-vpn-aux-lan--wan"&gt;Autoriser l’accès du client en provenance du tunnel VPN aux LAN &amp;amp; WAN
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Sélectionner l’onglet OpenVPN puis ajouter à nouveau une règle avec « &lt;em&gt;ADD&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Action&lt;/strong&gt; : Pass&lt;br&gt;
&lt;strong&gt;Interface&lt;/strong&gt; : OpenVPN&lt;br&gt;
&lt;strong&gt;Protocol&lt;/strong&gt; : Any&lt;br&gt;
&lt;strong&gt;Source&lt;/strong&gt; : Network - 10.2.2.0/24&lt;br&gt;
&lt;strong&gt;Destination&lt;/strong&gt; : any&lt;/p&gt;
&lt;p&gt;Ici on peut limiter l’accès des clients au seul LAN mais il faudra désactiver l’option « &lt;em&gt;Redirect Gateway&lt;/em&gt; » du serveur et le VPN ne pourra plus être utilisé en tant que proxy Web.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Destination Port Range (From)&lt;/strong&gt; : 2294 (ou le port d’écoute choisi pour votre serveur)&lt;br&gt;
&lt;strong&gt;Description&lt;/strong&gt; : Renseigner un nom pour la règle&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider les changements via le bouton « &lt;em&gt;Apply Changes&lt;/em&gt; »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vous n’avez plus qu’à démarrer votre client VPN, renseigner votre login/pass et c’est parti !&lt;/p&gt;
&lt;h2 id="the-end-"&gt;THE END !
&lt;/h2&gt;&lt;p&gt;Voilà n’hésitez pas à commenter, poser des questions, faire une donation via PayPal si vous voulez supporter le blog avec les quelques euros qui traînent sur votre compte et surtout abonnez-vous à NoLife &amp;hellip; ah non c’est pas ça je m’égare &amp;hellip; allez see u guys.&lt;/p&gt;</description></item><item><title>Déploiement de Proxmox VE 5 sur un serveur dédié – part 2</title><link>https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/</link><pubDate>Tue, 18 Jul 2017 12:00:32 +0000</pubDate><guid>https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_thumbnail.webp" alt="Featured image of post Déploiement de Proxmox VE 5 sur un serveur dédié – part 2" /&gt;&lt;blockquote&gt;
&lt;p&gt;Note : Cette suite d’articles de 2016 écrite par M4vr0x a été remis à jour par Charles et moi. Je vous conseille d’aller lire celui ci plutôt, qui sera plus en phase avec les versions actuelles. &lt;a class="link" href="https://blog.zwindler.fr/2020/03/02/deploiement-de-proxmox-ve-6-pfsense-sur-un-serveur-dedie/%22%3e" &gt;Proxmox VE 6 + pfsense sur un serveur dédié (1/2)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cet article fait partie d’une suite de 3 articles sur la mise en place de Proxmox VE et sa sécurisation et dont voici les adresses :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Après avoir déployé Proxmox, nous allons poursuivre la mise en œuvre de notre infrastructure de Labs sur notre serveur dédié, en procédant aux étapes suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sécuriser l’OS&lt;/li&gt;
&lt;li&gt;Paramétrer les interfaces via la WebUI de Proxmox&lt;/li&gt;
&lt;li&gt;Installer la VM PFSense&lt;/li&gt;
&lt;li&gt;Utiliser l’iptables de l’hyperviseur pour router et sécuriser les flux&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="basic-hardening"&gt;Basic hardening
&lt;/h1&gt;&lt;p&gt;Je vous conseille TRÈS VIVEMENT (non en fait c’est obligatoire) d’appliquer les bonnes pratiques élémentaires en matière de sécurisation listées dans &lt;a class="link" href="https://docs.ovh.com/x/iIQUAQ" target="_blank" rel="noopener"
&gt;ce très bon article rédigé par OVH&lt;/a&gt; et qui détaille tous les points ci-dessous.&lt;/p&gt;
&lt;p&gt;Si vous voulez creuser un peu plus, regardez également du coté des outils d’audit du genre de &lt;a class="link" href="https://cisofy.com/lynis/" target="_blank" rel="noopener"
&gt;Lynis&lt;/a&gt; (ex rkhunter), c’est simple à utiliser et ça vous donnera plein de pistes sur des vulnérabilités potentielles : &lt;a class="link" href="https://packages.cisofy.com/community/" target="_blank" rel="noopener"
&gt;Doc d’installation officielle&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Voilà, pour ma part, ce que j’ai mis en place :&lt;/p&gt;
&lt;h5 id="changement-du-mot-de-passe-root"&gt;Changement du mot de passe root
&lt;/h5&gt;&lt;p&gt;Si vous avez utilisé un mot de passe simple pour éviter les risques d’erreurs lors de la configuration (comme évoqué dans la part 1), on se connecte via SSH et on paramètre un VRAI password.&lt;/p&gt;
&lt;h5 id="mise-à-jour-du-système"&gt;Mise à jour du système
&lt;/h5&gt;&lt;p&gt;Toujours une bonne habitude à prendre avant de commencer, même si à l’heure où j’écris ces lignes la version 5 de Proxmox est sortie depuis seulement quelques jours. Rien de compliqué, on est sur une Debian :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;apt-get update; apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="création-dutilisateur"&gt;Création d’utilisateur
&lt;/h5&gt;&lt;p&gt;La création d’un utilisateur « lambda », autre que root, est fortement recommandée. Par défaut l’authentification du portail de Proxmox se base sur PAM donc vous pourrez vous loguer avec, après l’avoir ajouté dans la WebUI.&lt;/p&gt;
&lt;h5 id="configuration-du-serveur-ssh"&gt;Configuration du serveur SSH
&lt;/h5&gt;&lt;p&gt;Désactivez l’accès root et privilégiez le recours au user évoqué ci-dessus puis utilisez une élévation de privilège de type su ou sudo.&lt;/p&gt;
&lt;h5 id="installation-de-fail2ban"&gt;Installation de Fail2ban
&lt;/h5&gt;&lt;p&gt;Là aussi indispensable, il s’installe en une commande, il est déjà configuré avec un grand nombre de règles par défaut qui parsent vos différents log et bannissent toutes les @IP concernées. D’ailleurs, si vous n’êtes pas convaincu de son utilité, je vous mets un (petit) extrait de mon auth.log juste avant son installation :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_auth-log.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Voilà, voilà &amp;hellip; contrairement à &lt;a class="link" href="http://www.infosniper.net/index.php?ip_address=222.190.105.10&amp;amp;map_source=1&amp;amp;overview_map=1&amp;amp;lang=1&amp;amp;map_type=1&amp;amp;zoom_level=7" target="_blank" rel="noopener"
&gt;notre ami de Nanjing&lt;/a&gt; qui a effectué 161 tentatives en 32h avec des logins plus ou moins improbables &amp;hellip; nous on se marre moins tout de suite !!&lt;/p&gt;
&lt;p&gt;Au passage, voilà &lt;a class="link" href="https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-ubuntu-14-04" target="_blank" rel="noopener"
&gt;un article sur la configuration de Fail2ban&lt;/a&gt; de l’hébergeur Digital Ocean (Ils en font d’ailleurs beaucoup d’intéressants je vous encourage à écumer leurs tutos)&lt;/p&gt;
&lt;h5 id="changement-du-port-découte-du-serveur-ssh"&gt;Changement du port d’écoute du serveur SSH
&lt;/h5&gt;&lt;p&gt;Alors là attention, aucun doute sur la pertinence de la mesure, cela vous permettra d’éviter la grande majorité des tentatives d’accès non autorisées car la plupart des bots se contentent de scanner les ports par défauts des principaux services. Par contre si vous faites ça, vous allez devoir adapter le port SSH dans le script iptables que je vous fournis pas la suite et les tentatives d’intrusion sur le port 22 seront redirigés directement sur le PFSense, ce qui n’est pas forcément mieux. Bref à vous de voir, pour ma part je reste sur le port par défaut mais avec un Fail2ban bien configuré.&lt;/p&gt;
&lt;h1 id="configuration-du-réseau"&gt;Configuration du réseau
&lt;/h1&gt;&lt;p&gt;Voici le plan réseau de l’infrastructure que nous allons mettre en place (cliquez pour agrandir) :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_full-infra-diag.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le but est de rediriger la totalité du trafic entrant sur l’adresse IP public du serveur vers l’interface WAN du PFSense. Cela permet de gérer la sécurisation et le routage des flux simplement, directement depuis PFSense et surtout en évitant d’avoir à doubler chaque règles de filtrage sur l’iptables.&lt;/p&gt;
&lt;h2 id="paramétrage-des-interfaces-virtuels"&gt;Paramétrage des interfaces virtuels
&lt;/h2&gt;&lt;p&gt;Cela peut se faire directement via la WebUI de Proxmox, Les réglages seront simplement automatiquement retranscrits dans le fichier « &lt;em&gt;/etc/network/interfaces&lt;/em&gt;« .&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se connecter à l’interface d’administration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Via un navigateur, on se rend en HTTPS sur l’IP public via le port 8006 (https://@IP_PUBLIC_IP:8006). Si vous souhaitez signer vos certificats pour éviter le genre de message que vous allez rencontrer, n’hésitez pas à lire &lt;a class="link" href="https://blog.zwindler.fr/2017/05/02/proxmox-lets-encrypt/" &gt;ce superbe article de Zwindler&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sélectionner votre node dans la colonne de gauche, puis naviguer dans System &amp;gt; Network&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_network-new.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Vous devriez avoir deux interfaces, en01 et en02 (ou eth0 et eth1 chez Kimsufi), qui correspondent aux deux ports physiques de la carte réseau ainsi qu’une interface virtuel, &lt;strong&gt;vmbr0&lt;/strong&gt; bridgé sur &lt;strong&gt;eno1&lt;/strong&gt; qui est l’interface active.&lt;/p&gt;
&lt;p&gt;On peut d’ailleurs voir à quoi cela correspond en affichant notre fichier de configuration :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/network/interfaces
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Qui devrait contenir ceci :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;auto lo
iface lo inet loopback
iface eno1 inet manual
iface eno2 inet manual
auto vmbr0
iface vmbr0 inet static
address xx.xx.xx.xx
netmask 255.255.255.0
gateway xx.xx.xx.xx
bridge_ports eno1
bridge_stp off
bridge_fd 0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On voit que l’interface eno1 est configuré en « manual », sans adresse IP puisque elle est « portée » par &lt;strong&gt;vmbr0&lt;/strong&gt;, et qu’eno2 n’est pas utilisée.&lt;/p&gt;
&lt;h2 id="création-des-bridges-linux"&gt;Création des bridges Linux
&lt;/h2&gt;&lt;p&gt;On reprend en configurant conformément au schéma ci-dessus :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer sur « &lt;em&gt;Create&lt;/em&gt; » et sélectionner « &lt;em&gt;Linux Bridge&lt;/em&gt;« &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_create-bridge.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le réseau « VmWanNET » (10.0.0.0/30) sera donc volontairement choisit pour limiter à deux le nombre d’adresses atribuables, celle-ci et le &lt;strong&gt;WAN&lt;/strong&gt; du PFSense. Ici pas de bridge sur une interface réelle pour la vmbr1 puisque « &lt;strong&gt;WAN&lt;/strong&gt; » n’existe pas au niveau de l’hyperviseur, mais cela facilitera la correspondance lors du paramétrage de PFSense.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer (à nouveau) sur « &lt;em&gt;Create&lt;/em&gt; » et sélectionner (encore) « &lt;em&gt;Linux Bridge&lt;/em&gt;« &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cette fois on configure l’interface vmbr2 qui fera parti du réseau « PrivNET » (192.168.9.0/24), et qui sera utilisée plus tard par l’interface « &lt;strong&gt;LAN&lt;/strong&gt; » du PFSense  :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;IP address : 192.168.9.1
Subnet mask : 255.255.255.0
Bridges Ports : LAN
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois terminé, cela donne :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_network-ok.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rebooter l’hyperviseur&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il suffit de cliquer sur « Restart » en haut à droite. C’est impératif pour prendre en compte proprement les modifications, c’est pas moi qui le dis, c’est marqué au dessus de l’encadré affichant le log : « &lt;em&gt;Pending changes (Please reboot to activate changes)&lt;/em&gt; » &amp;hellip; allez promis c’est la seule fois où ce sera nécessaire.&lt;/p&gt;
&lt;p&gt;Après le redémarrage, vous pouvez vérifier le contenu du fichier « interfaces » :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;auto lo
iface lo inet loopback
iface eno1 inet manual
iface eno2 inet manual
auto vmbr0
iface vmbr0 inet static
address xx.xx.xx.xx
netmask 255.255.255.0
gateway xx.xx.xx.xx
bridge_ports eno1
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet static
address 10.0.0.1
netmask 255.255.255.252
bridge_ports WAN
bridge_stp off
bridge_fd 0
auto vmbr2
iface vmbr2 inet static
address 192.168.9.1
netmask 255.255.255.0
bridge_ports LAN
bridge_stp off
bridge_fd 0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Je vous conseille de le conserver quelques part puisque en cas de réinstallation, un simple copier/coller suivi d’un reboot vous permettra de tout reconfigurer rapidement. Nous poursuivrons le paramétrage et la sécurisation par la suite.&lt;/p&gt;
&lt;h1 id="déploiement-de-pfsense"&gt;Déploiement de PFSense
&lt;/h1&gt;&lt;h2 id="création-de-la-vm"&gt;Création de la VM
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Télécharger l’ISO de PFSense&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rendez-vous sur &lt;a class="link" href="https://www.pfsense.org/download/" target="_blank" rel="noopener"
&gt;le site officiel&lt;/a&gt; pour récupérer la dernière version stable de la Community Edition, de type « &lt;em&gt;install&lt;/em&gt;« , au format ISO et pour archi AMD64 (64bits). On sélectionne ensuite le volume de stockage souhaité, ici « &lt;em&gt;local&lt;/em&gt;« , puis on clique sur Content &amp;gt; Upload&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-vm-upload-iso.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Mais on peut également, surtout si votre débit d’upload est poussif, la télécharger directement depuis le serveur dans le répertoire des ISOs :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd /var/lib/vz/template/iso
wget [lien mort, aller sur https://pfsense.org/]
gunzip pfSense-CE-2.3.4-RELEASE-amd64.iso.gz
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Créer la VM pour PFSense&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà les paramètres que j’utilise, ceux qui n’y figure pas sont laissés par défaut :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OS&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux/Other OS types : Other OS types&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CD/DVD&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Use CD/DVD disc image file (iso)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Storage : local&lt;/li&gt;
&lt;li&gt;ISO image : pfSense-CE-2.3.4-RELEASE-amd64.iso&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Hard Disk&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bus/Device : VirtIO / 0&lt;/li&gt;
&lt;li&gt;Storage : local&lt;/li&gt;
&lt;li&gt;Size : 8 GB&lt;/li&gt;
&lt;li&gt;Format : QEMU (qcow2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CPU&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sockets : 1&lt;/li&gt;
&lt;li&gt;Cores : 2&lt;/li&gt;
&lt;li&gt;Type : Défaut (kvm64)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Mémoire fixe avec ballooning activé&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taille : 2048 MB&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Network&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Bridged mode (Accès par pont)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bridge : vmbr1&lt;/li&gt;
&lt;li&gt;Model Intel E1000&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;/!\ Pour la carte réseau SURTOUT pas de VirtIO sans installer le driver requis /!\&lt;br&gt;
Pour plus détails &lt;a class="link" href="https://forum.pfsense.org/index.php?topic=72907.0" target="_blank" rel="noopener"
&gt;ici&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créer la seconde interface réseau&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Assurez-vous d’être dans la « Server View » dans le menu en haut à gauche, puis sélectionnez votre VM PFSense nouvellement crée. Enfin, cliquez sur Hardaware &amp;gt; Add &amp;gt; Network Device&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-vm-network-device.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La configuration est la même que pour la première mais pontée sur &lt;strong&gt;vmbr2&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="installation-de-los"&gt;Installation de l’OS
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Démarrer la VM via le bouton « Start »&lt;/li&gt;
&lt;li&gt;Ouvrir une console VNC avec le bouton « Console »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Laisser le boot se terminer, si ce n’est pas encore fait, jusqu’à voir s’afficher le premier écran de l’installeur :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-vm-install-screen-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Libre à vous de choisir les réglages qui vous conviennent, valider avec le dernier choix du menu.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choisir « Quick/easy Install »&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-vm-install-screen-2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Valider à nouveau et l’installation se lance&lt;/li&gt;
&lt;li&gt;Sélectionner le choix par défaut « &lt;em&gt;Standard Kernel&lt;/em&gt;« &lt;/li&gt;
&lt;li&gt;Autoriser le reboot&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vérifiez le boot order de la VM pour bien démarrer sur le disque local, vous pouvez également éjecter l’ISO.&lt;/p&gt;
&lt;h2 id="configuration-des-interfaces"&gt;Configuration des interfaces
&lt;/h2&gt;&lt;p&gt;Une fois la VM redémarrée, vous arrivez sur le menu principal de la console de PFSense :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-vm-config-screen.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taper « 1 » (pas trop fort) pour assigner les interfaces, puis configurer comme suit :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; - Paramétrage des VLANs : No (n)
 - WAN interface name : em0
 - LAN interface name : em1
 - Optional 1 interface name : Aucun (appuyer sur entrée)
 - Valider (avec y) si :
WAN -&amp;gt; em0
LAN -&amp;gt; em1
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;De retour dans menu général  taper « 2 » pour configurer les @IP des interfaces&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Taper &amp;#34;1&amp;#34; pour le WAN (em0 - static)
- DHCP : No (n)
- @IP : 10.0.0.2
- Masque : 30
- Gateway : 10.0.0.1
- DHCP6 : No (n)
- WAN IPv6 address : Aucune (appuyer sur entrée)
- HTTP revert : No (n)
 - Valider (avec entrée) si :
IPv4 WAN address =&amp;gt; 10.0.0.2/30
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;A nouveau  « 2 » pour configurer les @IP des interfaces&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Taper &amp;#34;2&amp;#34; pour le LAN (em1 - static)
- @IP : 192.168.9.254
- Masque : 24
- Gateway : Aucune (appuyer sur entrée)
- @IPv6 : Aucune (appuyer sur entrée)
- DHCP server : No (n)
- HTTP revert : No (n)
 - Valider (avec entrée) si :
IPv4 LAN address =&amp;gt; 192.168.9.254/24
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Rebooter la VM en tapant « 5 » puis « y »&lt;/li&gt;
&lt;li&gt;A l’issue, taper « 7 » pour tester le ping vers 10.0.0.1 (l’adresse de &lt;strong&gt;vmbr1&lt;/strong&gt;) et ainsi vérifier la connectivité au sein du &lt;strong&gt;VmWanNET&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="finalisation-via-la-webui"&gt;Finalisation via la WebUI
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Se connecter à la WebUI via un navigateur à l’adresse https://192.168.9.254 &amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip; Quoi ? &amp;hellip; Ça ne marche pas ? &amp;hellip; Sûr ? &amp;hellip; C’est con &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bon pour ceux qui suivent encore, félicitations ! Pour les autres, l’interface &lt;strong&gt;LAN&lt;/strong&gt; de PFSense n’est pour l’instant pas accessible depuis l’extérieur &amp;hellip; et c’est tant mieux car le password et le login sont toujours ceux par défaut. La solution la plus simple est donc de créer une VM avec n’importe quel OS, du moment qu’il possède une interface graphique et un navigateur web (et que ce n’est pas un Windows). Une Ubuntu Desktop, à télécharger sur &lt;a class="link" href="https://www.ubuntu.com/download/desktop" target="_blank" rel="noopener"
&gt;le site officiel&lt;/a&gt;, fera parfaitement l’affaire.&lt;/p&gt;
&lt;p&gt;Je ne vais pas revenir sur la création de la VM, sachez juste que 5 Go de disque et 512 Mo de RAM suffisent. N’oubliez pas de bridger la carte réseau sur &lt;strong&gt;vmbr2&lt;/strong&gt; pour accéder au réseau &lt;strong&gt;LAN&lt;/strong&gt;. Vous pouvez également, une fois la VM crée, modifier le paramètre Hardware &amp;gt; Display en « VMWare compatible » c’est qui vous permettra de disposer d’autres résolutions plus confortable que le minuscule 800×600.&lt;/p&gt;
&lt;p&gt;Une fois l’OS installé, il faut tout de même paramétrer le réseau manuellement puisque nous n’avons pas (encore) de serveur DHCP fonctionnel :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;- IP : 192.168.9.10 (Peu importe tant qu&amp;#39;on reste dans 192.168.9.0/24)
- Netmask : 255.255.255.0
- Gateway : 192.168.9.254
- DNS : 8.8.8.8
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Se connecter à la WebUI via un navigateur à l’adresse https://192.168.9.254 (non mais vraiment cette fois)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Username : admin
Password : pfsense
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="suivez-le-white-wizard"&gt;Suivez le (White) Wizard
&lt;/h3&gt;&lt;p&gt;Rapport à ma VM PFsense qui se nomme Olorin &amp;hellip; pertinent pour un pare-feu &amp;hellip;&lt;/p&gt;
&lt;p&gt;« You Shall Not Pass ! » &amp;hellip; ok si vous l’avez toujours pas j’abandonne.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choisir un hostname (non pas celui-là, c’est le mien) et le(s) serveur(s) DNS souhaité(s)&lt;/li&gt;
&lt;li&gt;Valider ou modifier le FQDN du serveur NTP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour la suite rien à modifier en principe puisque nous avons fait les réglages via la console précédemment.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vérifier la configuration de l’interface &lt;strong&gt;WAN&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;IP Address : 10.0.0.2
Subnet Mask : 30
Upstream Gateway : 10.0.0.1
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Vérifier la configuration de l’interface LAN&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LAN IP Address : 192.168.9.254&lt;br&gt;
Subnet Mask : 24&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Changer le mot de passe administrateur&lt;/li&gt;
&lt;li&gt;Recharger la configuration et l’accueil du dashboard s’affiche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_pfsense-main-screen.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h1 id="configuration-du-réseau-suite"&gt;Configuration du réseau (suite)
&lt;/h1&gt;&lt;h2 id="routage-et-nat"&gt;Routage et NAT
&lt;/h2&gt;&lt;p&gt;Particulièrement pour cette partie, je vous encourage à garder le plan réseau à portée de vue.&lt;/p&gt;
&lt;p&gt;Pour l’instant, le &lt;strong&gt;WAN&lt;/strong&gt; du PFSense communique bien avec le vmbr1 ,normal me direz vous, ils sont sur le même segment réseau et &lt;strong&gt;WAN&lt;/strong&gt; est ponté sur vmbr1 dans Proxmox. Maintenant nous allons faire le nécessaire pour pouvoir sortir sur internet depuis la patte WAN du PFSense et donc également depuis le LAN par la suite.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pour cela, créer un petit script sur le serveur Proxmox&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /root/kvm-networking-up.sh
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Coller les lignes suivantes :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/sh
## IP forwarding activation
echo 1 &amp;amp;amp;amp;amp;gt; /proc/sys/net/ipv4/ip_forward
# Point PFSense WAN as route to VMs
ip route change 192.168.9.0/24 via 10.0.0.2 dev vmbr1
# Point PFSense WAN as route to VPN
ip route add 10.2.2.0/24 via 10.0.0.2 dev vmbr1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Comme indiqué dans les commentaires :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La première ligne active le routage&lt;/li&gt;
&lt;li&gt;La deuxième indique au serveur de sortir par vmbr1 puis de passer par le &lt;strong&gt;WAN&lt;/strong&gt; du PFSense pour communiquer avec les VMs. Cela permet d’isoler &lt;strong&gt;vmbr2&lt;/strong&gt; du reste de « PrivNET », cette sécurité sera renforcée, lors de la configuration d’iptables par un blocage complet des flux sur &lt;strong&gt;vmbr2&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Même chose pour la dernière mais pour communiquer avec le(s) client(s) du VPN que nous configurerons dans la suite de l’article.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Puis pour qu’il soit lancé automatiquement au boot, lors du démarrage de vmbr1 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lui permettre de s’exécuter&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod +x /root/kvm-networking-up.sh
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Paramétrer son appel dans le fichier « interfaces »&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/network/interfaces
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ajouter la ligne en gras à la fin du bloc de configuration du bridge vmbr2 :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[...]
auto vmbr1
iface vmbr1 inet static
address 10.0.0.1
[...]
auto vmbr2
iface vmbr2 inet static
[...]
bridge_fd 0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;post-up /root/kvm-networking-up.sh&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Comme je vous ai promis qu’on ne rebooterait plus au début de cette article, on va simplement l’exécuter manuellement pour cette fois :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/root/kvm-networking-up.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;[Edit zwindler]M4vr0x a oublié qu’il a déplacé une règle IPtable pour rediriger le traffic de l’IP externe vers le pfsense&amp;hellip; La ligne suivante ne marche pas encore, mais à l’étape d’après[/Edit]&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Relancer la console VNC du PFSense et taper « 7 » pour vérifier le ping vers l’internet (genre 8.8.8.8)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sécurisation-de-lhyperviseur-via-iptables"&gt;Sécurisation de l’hyperviseur via iptables
&lt;/h2&gt;&lt;p&gt;Voilà on a presque terminé mais pendant qu’on s’amusait, et malgré les mesures prises au début de ce tuto, une armée de bots (et pas que des chinois), des hordes de BlackHat ainsi que l’intégralité de la NSA, du GCHQ et de &amp;hellip; l’ANSSI ? &amp;hellip; se tirent la bourre pour essayer de pénétrer sur votre petit serveur sans défense.&lt;/p&gt;
&lt;p&gt;Je n’aurais donc que trois choses à dire :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Si vous ne savez pas ce qu’est le GCHQ, il faut absolument lire &lt;a class="link" href="https://blog.zwindler.fr/2015/10/07/test_espionnage_citoyen_gchq/" &gt;ce magnifique article&lt;/a&gt; !&lt;/li&gt;
&lt;li&gt;Si vous ne savez pas ce qu’est la NSA &amp;hellip; là je ne peux plus rien pour vous&lt;/li&gt;
&lt;li&gt;Nous n’allons pas mourir sans combattre et nous allons au moins &amp;hellip; essayer de les ralentir !&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_this-is-spartha.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h3 id="création-des-règles"&gt;Création des règles
&lt;/h3&gt;&lt;p&gt;Nous allons créer un script pour exécuter toutes les commandes iptables requises. Je vous encourage à ne pas automatiser son lancement au boot avant d’être totalement sûr que tout fonctionne bien.&lt;/p&gt;
&lt;p&gt;Pour ceux qui ont pris iptables en deuxième langue au collège, je vous donne directement le contenu du script (à copier sur le serveur Proxmox) :&lt;/p&gt;
&lt;p&gt;Pour les autres, je vous conseille de bien lire (et comprendre tant qu’à faire) ce qui suit jusqu’à la fin avant de vous lancer. J’ai commenté quasiment chaque ligne mon script le plus explicitement possible, donc je vais simplement vous expliquer le rôle de chacune des parties :&lt;/p&gt;
&lt;p&gt;_VARIABLES _: On commence par la variabilisation des noms de bridges, des @IP et des réseaux. Cela vous permettra de l’adapter rapidement à votre configuration si elle diffère. Quoi qu’il en soit, il faut absolument définir la variable « &lt;em&gt;PublicIP&lt;/em&gt; » avec celle de votre serveur.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;CLEAN ALL &amp;amp; DROP IPV6&lt;/em&gt; : Ensuite on supprime toutes les règles existantes.&lt;/p&gt;
&lt;p&gt;Petit point d’attention, le script, légèrement bourrin, flush toutes les tables et supprime toutes les chaines personnalisées vides à chaque exécution. Si vous voulez éviter ça, pour garder votre/vos chaines Fail2ban existantes par exemple, je vous conseille de plutôt spécifier les tables et chaines à nettoyer.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;DEFAULT POLICY&lt;/em&gt; : On positionne les polices par défaut à DROP : tout ce qui ne sera pas explicitement autorisé sera interdit (comme à l’armée &amp;hellip; \o/ ça faisait longtemps).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;CHAINS&lt;/em&gt;&lt;/strong&gt; : On crée des chaines personnalisées pour éviter la répétition des options.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;GLOBAL RULES&lt;/strong&gt;&lt;/em&gt; : Elles permettent les communications from/to l’interface locale, préservent les connections déjà actives et autorisent la réponse au ping.&lt;/p&gt;
&lt;p&gt;_RULES FOR PrxPubVBR _: On passe à la configuration des flux pour l’interface bridge vmbr0, c’est ici que tout se joue.&lt;/p&gt;
&lt;p&gt;L’idée est simple, on ne va autoriser que les services du Proxmox auxquels on souhaite pouvoir accéder depuis internet via l’IP public (donc le moins possible). &lt;strong&gt;TOUS&lt;/strong&gt; les autres flux seront redirigés sur l’interface &lt;strong&gt;WAN&lt;/strong&gt; du PFSense ce qui nous permettra, comme expliqué au début, d’éviter une pénible gestion de deux firewall chaînés. Une fois que le VPN sera configuré on pourra d’ailleurs désactiver l’accès externe à la WebUI. Pour le SSH on pourra garder un accès de secours en cas de problème avec le futur VPN.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;_RULES FOR PrxVmWanVBR _&lt;/strong&gt;: Pour vmbr1, c’est très simple, on autorise seulement les connexions, en provenance du LAN des VMs et du/des client(s) VPN,  à sshd et l’interface web de Proxmox.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;RULES FOR PrxVmPrivVBR&lt;/strong&gt;&lt;/em&gt; : Pour vmbr2, encore mieux, on laisse tout fermé !&lt;/p&gt;
&lt;p&gt;De plus, comme paramétré précédemment, aucune route ne passe par ce bridge. C’est un moyen simple et assez efficace d’isoler au maximum cette interface du réseau auquel elle appartient. Le mieux aurait été d’utiliser une configuration similaire au mode « &lt;em&gt;promiscuous&lt;/em&gt; » des Vswitchs d’ESX mais je n’ai pas trouvé d’équivalent pour KVM. Une autre solution utilisant la seconde interface physique du serveur est à l’étude par mon expert en sécurité et fera peut être l’objet d’un article spécifique ou d’une MAJ future. D’ailleurs j’en profite :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Merci Nico, Merci Zwindler !&lt;/p&gt;
&lt;p&gt;La clusterisation de nos cerveaux (non ce n’est pas sale) m’a fait gagner beaucoup de temps :-D&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et voilà ! (avec l’accent américain) Vous avez bien bossé et vous disposez d’une infra totalement fonctionnelle et relativement bien sécurisé, GG !&lt;/p&gt;
&lt;p&gt;Il nous restera bien sûr à configurer les règles adéquates sur PFSense pour les services de vos futures VMs auxquels vous souhaiterez accéder depuis l’extérieur et configurer un serveur VPN afin d’y accéder directement au chaud depuis votre nouveau &lt;strong&gt;LAN.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nous allons voir tout ça dans &lt;a class="link" href="https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/" &gt;la troisième et dernière partie de cette article par ici&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Déploiement de Proxmox VE 5 sur un serveur dédié – part 1</title><link>https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/</link><pubDate>Tue, 11 Jul 2017 11:30:47 +0000</pubDate><guid>https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_thumbnail.webp" alt="Featured image of post Déploiement de Proxmox VE 5 sur un serveur dédié – part 1" /&gt;&lt;blockquote&gt;
&lt;p&gt;Note : Cette suite d’articles de 2016 écrite par M4vr0x a été remis à jour par Charles et moi. Je vous conseille d’aller lire celui ci plutôt, qui sera plus en phase avec les versions actuelles : &lt;a class="link" href="https://blog.zwindler.fr/2020/03/02/deploiement-de-proxmox-ve-6-pfsense-sur-un-serveur-dedie" &gt;Proxmox VE 6 + pfsense sur un serveur dédié (1/2)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cet article fait partie d’une suite de 3 articles sur la mise en place de Proxmox VE et sa sécurisation et dont voici les adresses :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/11/deploiment-de-proxmox-ve-5-sur-un-serveur-dedie-part-1/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2017/07/25/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-3/" &gt;Déploiement de Proxmox VE 5 sur un serveur dédié - part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comme c’est mon tout premier article, je vais commencer par donner le ton en édictant une vérité universelle qui n’engage que moi :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tout bon SysAdmin qui se respecte se doit de posséder un environnement de Labs&lt;br&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Une fois cet état de fait accepté, se pose la question du choix entre l’achat d’un serveur hébergé « at home » et la location d’un serveur dédié. Pendant plus de cinq ans, j’ai opté pour la première solution pour les raisons suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Parce que le coup est moindre sur le long terme&lt;/strong&gt; : un petit serveur d’entrée de gamme ou « home made » d’une valeur de 500€ se verra rentabilisé au bout d’environ deux ans en comparaison d’une location à 20€/mois pour un hardware équivalent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parce que j’ai un accès fibre à domicile&lt;/strong&gt; : tout le monde n’a évidemment pas cette chance mais lorsque c’est le cas, le confort est largement supérieur à beaucoup d’offre de providers (par ex Kimsufi d’OVH) qui sont limitées à du 100 Mb/s ce qui représente environ 12 Mo/s utile. Cela permet de télécharger des ISOs de distributions Linux gratuites très rapidement &amp;hellip; elle marche encore cette vanne ? &amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parce que je garde le contrôle total de mes données&lt;/strong&gt; : Il est évident qu’en confiant ses données à un fournisseur externe, il faut partir du principe que celui-ci à potentiellement accès à vos données. On peut réduire voir éliminer ce risque en ne déposant que des données non personnelles ou en basculant par exemple en mode « zero-knowledge » et en procédant à un chiffrement ACID SHA-256 de tous ses précieux ISOs Linux (les psychopathes concernés se reconnaîtront).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parce que je suis un barbu&lt;/strong&gt; : ce qui au passage est un état d’esprit et pas forcément un syndrome d’hypertrichose (ouai, on apprend des mots aussi). Et donc, en tant que tel, j’aime avoir un accès physique à mes machines au besoin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_sysadmin-beard.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Donc tout ça c’est bien sympa sauf que vous pourriez me contredire en m’opposant au moins autant de bons arguments en faveur d’une location &amp;hellip; C’était bien la peine ! (&amp;hellip; et arrêtez de me contredire).&lt;/p&gt;
&lt;h2 id="identifier-lobjectif"&gt;Identifier l’objectif
&lt;/h2&gt;&lt;h3 id="le-problème"&gt;Le problème
&lt;/h3&gt;&lt;p&gt;Je vais donc couper court à toute rébellion, arrêter de digresser et vous expliquer que comme je pars à l’autre bout du monde, j’ai dû complètement adapter mon point vue, mes habitudes ainsi que la totalité de mon infra.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pour résumer, je dois passer d’un mode « Barbu sédentaire » à « Nerd nomade »&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le but est donc de migrer mes services, du mieux possible, pour faire rentrer ça :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un desktop en dual boot MacOS Sierra/Win10 avec I5, 3xSSD, GTX 970 et double écran 24&amp;quot;;&lt;/li&gt;
&lt;li&gt;Un petit hyperviseur en dual core sous Proxmox VE&lt;/li&gt;
&lt;li&gt;Un NAS « home made » sous XPEnology avec ~8 To de stockage utile en Raid 5&lt;/li&gt;
&lt;li&gt;Un firewall physique sous PFSense&lt;/li&gt;
&lt;li&gt;Un Rasberry Pi sous Raspbian faisant office de contrôleur de domaine via samba 4&lt;/li&gt;
&lt;li&gt;Un accès fibre 500 Mb/s&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;dans ça :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un laptop Dell XPS 13 en triple boot (ElCapitan/Win10/Kali)&lt;/li&gt;
&lt;li&gt;Un serveur dédié regroupant l’hyperviseur, le NAS, le firewall&lt;/li&gt;
&lt;li&gt;Un accès Wifi ou Tethering 4G&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;hellip; Et oui, ça pique &amp;hellip; mais j’ai décidé de prendre ça comme un challenge avec plein de nouvelles choses à tester, à comparer et à mettre en œuvre ! Le but étant de garder un maximum de performance et de confort d’utilisation pour un prix (relativement) raisonnable. Par contre, faut pas rêver, je fais une croix sur GTA 5 et The Witcher 3.&lt;/p&gt;
&lt;p&gt;Je vais vous épargner toutes les différentes solutions que j’ai pu envisager et tester ces derniers mois. Je suis passé en vrac par du &lt;a class="link" href="https://www.digitalocean.com/" target="_blank" rel="noopener"
&gt;DigitalOcean&lt;/a&gt;, du &lt;a class="link" href="https://www.kimsufi.com/fr/" target="_blank" rel="noopener"
&gt;Kimsufi&lt;/a&gt;, du &lt;a class="link" href="https://www.seedhost.eu" target="_blank" rel="noopener"
&gt;SeedHost&lt;/a&gt;, &lt;del&gt;du OneProvider&lt;/del&gt; pour les serveurs, du &lt;a class="link" href="https://my.pcloud.com/" target="_blank" rel="noopener"
&gt;pCloud&lt;/a&gt;, du &lt;a class="link" href="https://www.amazon.fr/b?node=12935596031" target="_blank" rel="noopener"
&gt;Amazon Cloud Drive&lt;/a&gt;, du &lt;a class="link" href="https://gsuite.google.fr/intl/fr/pricing.html" target="_blank" rel="noopener"
&gt;Google Drive (via GSuite)&lt;/a&gt; pour le stockage et par une bonne dizaines d’architectures et de tarifs différents.&lt;/p&gt;
&lt;p&gt;Je ne garde pas un œil permanent sur tous les hébergeurs qui existent. Sachez qu’il existe des comparateurs d’offres d’hébergement (par exemple, &lt;a class="link" href="https://www.tophebergeur.com/hebergement/serveur&amp;#43;dedie/" target="_blank" rel="noopener"
&gt;ce comparatif des serveurs dédiés de tophebergeur&lt;/a&gt; qui possède un comparatif actualisé régulièrement).&lt;/p&gt;
&lt;p&gt;[Edit]Suite à des soucis avec OneProvider et notamment le support, je déconseille maintenant ce provider[/Edit]&lt;/p&gt;
&lt;h3 id="la-solution-choisie"&gt;La solution choisie
&lt;/h3&gt;&lt;p&gt;Il existe donc plusieurs possibilités pour répondre au besoin, mais pour mettre fin au suspens insoutenable, voilà un schéma simplifié de l’architecture que j’ai validé et qui est en « pré-production » depuis 6 mois maintenant (cliquer pour agrandir) :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_simple-infra-map.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Je reviendrais plus en détail dans la seconde partie de l’article sur les choix concernant l’adressage, les bridges/interfaces virtuels et les flux.&lt;/p&gt;
&lt;h2 id="choisir-larmement"&gt;Choisir l’armement
&lt;/h2&gt;&lt;h3 id="la-solution-de-virtualisation-proxmox-ve"&gt;La solution de virtualisation Proxmox VE
&lt;/h3&gt;&lt;p&gt;Proxmox VE est une solution d’hyperviseur Bare-Metal totalement gratuite et OpenSource basée sur Debian. L’éditeur propose également un système de souscription payante pour les entreprises souhaitant bénéficier d’un support personnalisé. Elle utilise KVM le moteur de virtualisation natif de Linux et le format de conteneur LXC qui remplace OpenVZ depuis la version 4. C’est robuste, peu consommateur en ressource et ne nécessite pas d’être installer sur une machine de guerre. Il est toutefois évident que plus le serveur sera costaud plus il pourra faire tourner de VMs en simultané. Pour ne rien gâcher la Webui est belle et ergonomique. Proxmox VE possède toutes les fonctionnalités que l’on peut attendre d’une solution de virtualisation d’entreprise. Il est à noter qu’elle propose la création simplifiée de cluster de stockage CEPH directement depuis son interface Web.&lt;/p&gt;
&lt;p&gt;La liste exhaustive des fonctionnalités est disponible sur &lt;a class="link" href="https://www.proxmox.com/en/products/proxmox-virtual-environment/features" target="_blank" rel="noopener"
&gt;cette page du site officiel&lt;/a&gt; de Proxmox.&lt;/p&gt;
&lt;h3 id="le-firewall-pfsense"&gt;Le firewall PFSense
&lt;/h3&gt;&lt;p&gt;Là encore, une solution gratuite OpenSource, robuste (basée sur du FreeBSD 10.3 pour PFSense 2.3), légère,  avec une interface belle et ergonomique. Bref vous avez compris l’idée et tous les détails sont disponibles sur &lt;a class="link" href="https://www.pfsense.org/getting-started/" target="_blank" rel="noopener"
&gt;le site officiel&lt;/a&gt; de PFSense.&lt;/p&gt;
&lt;h3 id="le-hardware"&gt;Le hardware
&lt;/h3&gt;&lt;p&gt;Les choix sont multiples, je vais donc me limiter à deux modèles de serveur dédié, un proposé par Kimsufi et l’autre par OneProvider. Les deux proposent l’installation simplifiée de Proxmox VE 5 directement depuis l’interface d’administration.&lt;/p&gt;
&lt;h4 id="la-solution-kimsufi"&gt;La solution Kimsufi
&lt;/h4&gt;&lt;p&gt;Vous savez probablement que Kimsufi est une marque d’OVH dont le catalogue est composé de serveurs Bare-Metal dédiés reposant sur configurations standards non modifiables et un peu datées, ce qui permet de proposer des prix très intéressants.&lt;/p&gt;
&lt;p&gt;Comme je n’ai rien trouvé d’exhaustif sur le site officiel ou sur Google, voilà une liste des modèles proposés au 17 mars 2017 :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_kimsufi-severs-list.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;J’ai donc sélectionné le KS-6 à 29,99 HT offrant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deux CPU Intel Xeon E5530 de 2,4 GHz pour un total de 8c/16t&lt;/li&gt;
&lt;li&gt;24 Go de RAM&lt;/li&gt;
&lt;li&gt;1 HDD de 2 To&lt;/li&gt;
&lt;li&gt;Une interface 100 Mb/s et une (seule) @IP public associée&lt;/li&gt;
&lt;li&gt;Hébergé en France&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="la-solution-oneprovider"&gt;&lt;del&gt;La solution OneProvider&lt;/del&gt;
&lt;/h4&gt;&lt;p&gt;&lt;del&gt;C’est celle que j’utilise actuellement avec un serveur dédié « Storage Series ». Néanmoins je souhaitais présenter les deux possibilités car le KS-6 de Kimsufi est une alternative totalement viable, 50% moins chère et qui peux largement suffire pour ceux qui n’ont pas besoin d’autant de volumétrie, de stockage et de bande passante que moi.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;J’utilise donc un modèle à 69 € HT avec les caractéristiques suivantes :&lt;/del&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;del&gt;Un cpu Intel Xeon E3-1230v2 (4c/8t) de 3,2 GHz&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;16 Go de RAM&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;4 x 3To HDD en Raid5&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Une interface 1 Gb/s et une @IP public associée avec possibilité d’en ajouter via option payante&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Une accès à l’iLO via IPMI&lt;/del&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Hébergé en France&lt;/del&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;del&gt;Donc certes le prix est plus élevé mais c’est un excellent rapport stockage/puissance/prix. Je n’ai pas trouvé mieux surtout avec 9 To de stockage utile en Raid 5 et l’accès console qui est vraiment utile comme on le verra par la suite.&lt;/del&gt;&lt;/p&gt;
&lt;h2 id="percevoir-les-munitions"&gt;Percevoir les munitions
&lt;/h2&gt;&lt;h3 id="pour-kimsufi"&gt;Pour Kimsufi
&lt;/h3&gt;&lt;p&gt;Voilà quelques détails pratiques utiles à connaitre afin d’obtenir assez simplement le modèle de son choix :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tout d’abord, les meilleurs configurations (et les plus grosses) partent vite, très vite &amp;hellip; j’ai donc eu recours au site &lt;a class="link" href="http://kimi.nwwebsites.co.uk/" target="_blank" rel="noopener"
&gt;Kimi Checker&lt;/a&gt; afin d’être prévenu des disponibilités des différentes « pizza box ». C’est gratuit, ça fonctionne bien et pas de compte à créer : on sélectionne les modèles à surveiller, on rentre une @ email et c’est bon.&lt;/li&gt;
&lt;li&gt;Pour éviter de perdre de temps lors de la souscription &amp;hellip; ah voilà trop tard ! &amp;hellip; il peut s’avérer pertinent de créer son compte Kimsufi et de paramétrer son moyen de paiement en avance de phase. Je précise également que les comptes clients OVH ne sont pas utilisables.&lt;/li&gt;
&lt;li&gt;Une fois en possession du précieux, prenez 2 min bien méritées pour apprécier l’instant puis connectez-vous à &lt;a class="link" href="https://www.kimsufi.com/fr/manager" target="_blank" rel="noopener"
&gt;votre interface de gestion&lt;/a&gt; pour passer aux choses sérieuses.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sauter-sur-la-zone"&gt;Sauter sur la zone
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;On y est ! Vous vous êtes entrainé toute votre vie pour ce moment &amp;hellip; (ou pas), on serre les dents et on passe la porte de l’avion !&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="chez-kimsufi-pas-un-souffle-de-vent--ras"&gt;Chez Kimsufi, pas un souffle de vent =&amp;gt; R.A.S.
&lt;/h3&gt;&lt;p&gt;Sur la page d’accueil, il suffit de choisir « &lt;em&gt;VPS Proxmox VE 5 (64 bits)&lt;/em&gt; » dans la liste des « Gabarits » disponibles. Ensuite il faut sélectionner la langue voulue pour l’installation de l’OS et surtout, ne pas oublier de cocher « &lt;em&gt;installation personnalisée&lt;/em&gt; » afin notamment de pouvoir configurer la répartition de la volumétrie. .&lt;/p&gt;
&lt;p&gt;Voilà le schéma de partitionnement que j’ai utilisé : &lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_kimsufi-partitioning.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Il ne reste plus qu’à valider et attendre quelques minutes le temps que Proxmox s’installe.&lt;/p&gt;
&lt;h3 id="chez-oneprovider-10-ms--on-percute-la-planète-mais-on-se-relève"&gt;&lt;del&gt;Chez OneProvider, 10 m/s =&amp;gt; on percute la planète mais on se relève&lt;/del&gt;
&lt;/h3&gt;&lt;p&gt;&lt;del&gt;On sélectionne son serveur via le bouton « &lt;em&gt;Server List&lt;/em&gt; » dans le menu de gauche et on clique sur « &lt;em&gt;Manage&lt;/em&gt;« . Il suffit ensuite de cliquer sur « &lt;em&gt;Reinstall&lt;/em&gt; » et de sélectionner Proxmox dans la liste des « &lt;em&gt;Virtualisation distributions&lt;/em&gt;« .&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_oneprovider-os-selection.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Attends &amp;hellip; ? WTF ? Non c’est pas &amp;hellip; &amp;hellip; ben si &amp;hellip; NON !! Ah les bât@💀🔪💣 !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Donc trêves de plaisanteries sérieuses, OneProvider nous appâte avec Proxmox sur leur site et au final la distribution n’est pas encore disponible en déploiement automatique.&lt;/p&gt;
&lt;p&gt;J’ai donc ouvert un ticket pour avoir plus de renseignements. Le retour fut rapide et clair :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;« Nous serons en mesure de faire l’installation de Proxmox de notre côté si vous le désirez. Par contre, je vous invite à noter qu’un utilisateur doit être spécifié et que nous ne sommes pas en mesure de modifier le partitionnement par défaut. Si vous préférez faire l’installation vous-même depuis l’IPMI, vous serez en mesure de procéder directement depuis le portail »&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Je vais donc en profiter pour vous montrer une installation classique depuis un ISO sur un Bare-Metal comme si vous aviez un accès physique à la machine grâce à l’IPMI.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Télécharger l’ISO de Proxmox VE 5&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Toutes les versions sont disponibles sur &lt;a class="link" href="https://pve.proxmox.com/wiki/Downloads" target="_blank" rel="noopener"
&gt;cette page&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="lilo-en-renfort"&gt;L’iLO en renfort
&lt;/h4&gt;&lt;p&gt;Pour obtenir un accès à l’IPMI chez OneProvider, il suffit de cliquer sur le bouton « IPMI Session » dans la section « Manage » de son serveur. On met un petit commentaire pour expliquer et on attends le retour du ticket. Une fois la session activée, on se connecte à l’@IP et on s’authentifie avec les credentials qui sont désormais visibles toujours dans la section « Manage ». Après ça, je vous rassure, plus besoin de créer de ticket, il suffira d’utiliser le bouton « Create Session » pour créer une session temporaire.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Se connecter à l’adresse IP de l’iLO fournie par OneProvider&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ici rien de particulier, une fois sur la page de login, on saisit le login et le password là aussi fourni et on arrive sur l’interface d’administration.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créer une connexion à distance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans la section « Remote Console » du menu du même nom, cliquer sur « Web Start » :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_ilo-remote-connection.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Après avoir validé les (au moins) 62 messages de sécurités liés à Java, une dernière fenêtre de navigateur s’ouvre avec normalement un écran noir puisque aucun OS n’est installé.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monter l’ISO de Proxmox VE&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Via le menu « &lt;em&gt;Virtual Drive&lt;/em&gt;« , sélectionner « &lt;em&gt;Image File CD/DVD-ROM&lt;/em&gt; » :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_remote-console-image-file.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Une nouvelle fenêtre s’ouvre pour sélectionner l&amp;rsquo;emplacement de l’ISO sur votre disque dur. Il ne reste ensuite plus redémarrer le serveur en utilisant « &lt;em&gt;Reset&lt;/em&gt; » dans le menu « &lt;em&gt;Power Switch&lt;/em&gt;« .&lt;/p&gt;
&lt;p&gt;Lors du redémarrage (plus ou moins long), vous devriez voir s’afficher les étapes du POST puis l’interface d’installation de Proxmox.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_ilo-reboot.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Si ce n’est pas le cas, vérifier que le lecteur de CD est bien avant le disque local dans la liste des périphérique de démarrage du menu « Virtual Media » &amp;gt; « Boot Order ».&lt;/p&gt;
&lt;h4 id="linstallation-de-proxmox--enfin"&gt;L’installation de Proxmox &amp;hellip; enfin
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Sélectionner le premier choix « &lt;em&gt;Install Proxmox VE&lt;/em&gt; » :&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_remote-console-iso-screen-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lire (ou pas) et accepter les termes de la license GNU Affero&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour information et car on aime apprendre (ou réviser) en s’amusant :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a class="link" href="https://fr.wikipedia.org/wiki/GNU_Affero_General_Public_License" target="_blank" rel="noopener"
&gt;&lt;strong&gt;GNU Affero General Public License&lt;/strong&gt;&lt;/a&gt;, abrégée &lt;strong&gt;AGPL&lt;/strong&gt;, est une &lt;a class="link" href="https://fr.wikipedia.org/wiki/Licence_libre" title="Licence libre"
target="_blank" rel="noopener"
&gt;licence libre&lt;/a&gt; &lt;a class="link" href="https://fr.wikipedia.org/wiki/Copyleft" title="Copyleft"
target="_blank" rel="noopener"
&gt;copyleft&lt;/a&gt;, ayant pour but d’obliger les services accessibles par le réseau de publier leur code source. Basée sur la &lt;a class="link" href="https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU"
target="_blank" rel="noopener"
&gt;licence GPL&lt;/a&gt;, elle répond à un besoin du projet Affero, qui souhaite que tout opérateur d’un service Web utilisant leur logiciel et l’améliorant publie ces modifications.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Configurer les disques&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une fois sur l’écran suivant, on va configurer la répartition de la volumétrie sur les différents « Logical Volumes » crées par l’installeur. Sélectionner le disque cible voulu, si vous en disposez de plusieurs, puis cliquer sur « &lt;em&gt;Options&lt;/em&gt;« . Voilà, à titre d’exemple, les valeurs que j’utilise :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_remote-console-iso-screen-3.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Comme je suis sympa voilà une explication (traduction) des différents paramètres issus du site officiel :&lt;/p&gt;
&lt;p&gt;Sur le disque sélectionné ci-dessus va être crée un PV rattaché à un VG appelé « pve » puis au sein de ce VG, 3 LVs : « root », « data » et « swap ».&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;hdsize :&lt;/em&gt; Spécifie la taille qui va être allouée au VG « pve ». Elle correspond à la totalité de la volumétrie du disque (ou de la partition) choisie mais on peut la réduire si on souhaite conserver de l’espace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;swapsize :&lt;/em&gt; Ici rien de compliqué, c’est la taille du volume utilisé pour le swap. Sachant que par défaut elle est équivalente à la taille de la mémoire physique avec un maximum 8 Go.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;maxroot :&lt;/em&gt; Désigne la taille maximum du LV « root » qui sera monté sur / dans la limite du quart de la valeur de &lt;em&gt;hdsize&lt;/em&gt; (Ok .. un peu capilotracté mais ça se comprend)&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;maxvz :&lt;/em&gt; (Là en revanche, faut être attentif !) C’est la taille maximum du LV « data » calculé comme suit : &lt;em&gt;datasize&lt;/em&gt; = &lt;em&gt;hdsize&lt;/em&gt; - &lt;em&gt;rootsize&lt;/em&gt; - &lt;em&gt;swapsize&lt;/em&gt; - &lt;em&gt;minfree&lt;/em&gt; &amp;hellip; prenez un peu de temps, je vous laisse méditer si besoin  &amp;hellip;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;minfree :&lt;/em&gt; C’est l’espace libre qui doit être conservé dans le VG « pve ». Sa valeur sera de 16 Go si la taille du VG (&lt;em&gt;hdsize&lt;/em&gt; pour ceux qui n’ont pas décroché) est supérieure à 128 Go ou de &lt;em&gt;hdsize&lt;/em&gt; /8 si &lt;em&gt;hdsize&lt;/em&gt; &amp;lt; 128 Go.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà j’ai essayé d’être le plus clair mais n’hésitez pas à consulter le paragraphe « Advanced LVM Configuration Options » de &lt;a class="link" href="https://pve.proxmox.com/wiki/Installation" target="_blank" rel="noopener"
&gt;la page source&lt;/a&gt; si besoin. Allez on continue &amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Paramétrer le pays, le fuseau horaire et l’agencement du clavier, puis valider&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_remote-console-iso-screen-4.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Renseigner le mot de passe et le contact mail de l’admin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour ceux qui ont l’habitude des console IPMI, rien de spécial, pour les autres, sachez que le mappage clavier est en QWERTY ! Je vous conseille donc d’utiliser un mot de passe simple (qu’on se dépêchera de changer par la suite) pour éviter de devoir faire la correspondance entre ce que vous pensiez avoir écrit en AZERTY et ce que vous avez réellement écrit en QWERTY. Ça parait surement très bête mais imaginez si vous devez faire l’exercice sur un mot de passe complexe de 20 caractères &amp;hellip; (on rigole moins tout de suite). On peut aussi utiliser le champ en clair de l&amp;rsquo;email puis faire un copier/coller via le menu « &lt;em&gt;Keyboard&lt;/em&gt; » de la console. Personnellement j’évite cette méthode car l’@ peut être très compliqué à retrouver si vous l’effacez.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configurer le réseau&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si vous êtes sur un réseau bénéficiant d’un serveur DHCP, ce qui est le cas chez OneProvider et à priori tous les hébergeurs, vous n’avez rien à faire, les champs seront renseignés automatiquement par les données du bail obtenu. Vous pouvez en revanche spécifier un nom d’hôte personnalisé (au format FQDN) si vous disposez d’un nom de domaine. Profitez-en également pour noter votre @IP publique si ce n’est pas déjà fait pour pouvoir accéder à votre serveur en SSH et via la WebUI &amp;hellip; ce sera utile pour la suite.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;S’auto-congratuler&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/07/proxmox-install_remote-console-iso-screen-7.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="rejoindre-la-zr"&gt;Rejoindre la ZR
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Voilà le parachute est plié (bourré en vrac) dans sa housse et vous avez rejoint la zone de rassemblement au pas de course avec vos 60 kilos sur le dos &amp;hellip; la vrai mission va commencer &amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En effet vous disposez à présent d’une belle installation toute propre de votre serveur &amp;hellip; totalement vulnérable avec son mot de simple à six caractères et son iptables en mode ACCEPT ALL. Il va donc  falloir se dépêcher de le sécuriser car pour l’instant il est à la merci de tous les « scripts kiddies » qui écument « l’internet du web ».&lt;/p&gt;
&lt;p&gt;Mais ne vous inquiétez pas, on va s’occuper de tout ça dans &lt;a class="link" href="https://blog.zwindler.fr/2017/07/18/deploiement-de-proxmox-ve-5-sur-un-serveur-dedie-part-2/" &gt;la deuxième partie de cette article&lt;/a&gt; &amp;hellip; (c’est bien foutu quand même) &amp;hellip; et promis j’arrête les pseudo-analogies militaires !&lt;/p&gt;</description></item><item><title>100ème article ! 5 ans de « Zwindler’s Reflection »</title><link>https://blog.zwindler.fr/2015/10/27/100eme-article-5-ans-de-zwindlers-reflection/</link><pubDate>Tue, 27 Oct 2015 20:49:18 +0000</pubDate><guid>https://blog.zwindler.fr/2015/10/27/100eme-article-5-ans-de-zwindlers-reflection/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/10/admin-ajax1.webp" alt="Featured image of post 100ème article ! 5 ans de « Zwindler’s Reflection »" /&gt;&lt;h2 id="5-ans-et-demi"&gt;5 ans (et demi)
&lt;/h2&gt;&lt;p&gt;Non ce n’est pas mon age ! Dur d’imaginer que cela fait déjà plus de 5 ans que j’écris sur ce blog.&lt;/p&gt;
&lt;p&gt;Et il en a vécu des changements ! D’abord hébergé sur une page perso Free, ensuite hébergé sur un compte wordpress.com, et enfin de nouveau sous mon contrôle via un hébergement OVH mutualisé.&lt;/p&gt;
&lt;p&gt;Qui sait, peut être que dans quelques années je déciderai d’installer chez moi un rack 42U contenant une ferme de serveurs dans laquelle sera auto-hébergé -entre autres geekeries indispensables- mon site web ?&lt;br&gt;
Pas sûr d’obtenir le Wife Acceptance Factor cela dit ;-)&lt;/p&gt;
&lt;h2 id="a-hundred"&gt;A hundred
&lt;/h2&gt;&lt;p&gt;Si nous étions dans un jeu vidéo, j’aurai débloqué samedi dernier un succès pour avoir atteint la barre symbolique du 100ème article posté !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/10/100-posts-on-wordpress.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Alors c’est sûr, le style d’écriture a forcément un peu évolué avec le temps vers un registre un peu moins décontracté, mais les objectifs du blogs eux n’ont pas changés :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Essayer de donner quelques tuyaux à mes pairs, de préférence sur des sujets pour lesquels j’ai eu du mal à trouver l’information autre part. Le but n’est pas de faire de l’audience à tout prix, juste de donner un coup de main en remerciement pour tout les blogueurs qui m’ont aidés moi.&lt;/li&gt;
&lt;li&gt;Un choix délibéré du Français plutôt qu’un énième blog en anglais. Tout le monde ne maîtrise pas la langue de Shakespeare et même si mon niveau d’anglais est correct, mes explications sont forcement plus précises dans ma langue maternelle (et la précision, c’est la vie)&lt;/li&gt;
&lt;li&gt;Faire partager mes petites expériences de passionné, mes retours d’expérience du boulot&amp;hellip; et parfois mes grognements de SysAdmin !&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="vous-mes-lecteurs"&gt;Vous, mes lecteurs
&lt;/h2&gt;&lt;p&gt;Pour l’occasion, je vais me permettre de donner quelques informations sur mes lecteurs et ce qu’ils recherchent sur mon blog.&lt;/p&gt;
&lt;h3 id="vmware-incontournable"&gt;VMware, incontournable
&lt;/h3&gt;&lt;p&gt;Les articles qui intéressent le plus sont ceux qui &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=vmware" &gt;traitent de VMware&lt;/a&gt;. J’écris sur le sujet depuis le début, je suis revenu dessus à plusieurs reprises et soyons honnête, dur de passer à côté dans le monde de l’IT. Ce qui est un peu étonnant c’est que le sujet est déjà traité par beaucoup de blogs bien plus connus et dont les auteurs sont plus pointus que moi sur le sujet. Peut être que le côté Francophone joue en ma faveur face à un &lt;a class="link" href="http://www.yellow-bricks.com/" target="_blank" rel="noopener"
&gt;yellow-bricks&lt;/a&gt; ou &lt;a class="link" href="http://www.vladan.fr/" target="_blank" rel="noopener"
&gt;vladan&lt;/a&gt; ?&lt;/p&gt;
&lt;h3 id="des-niches"&gt;Des niches
&lt;/h3&gt;&lt;p&gt;Je peux me targuer fièrement d’être un des seuls bloguer IT Français à donner des astuces et des retours sur &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=vulture" &gt;Vulture WebSSO&lt;/a&gt; !&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ahah ! Ça vous épate ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bon, ok. C’est un peu comme jouer à un sport avec 1000 licenciés dans tout un pays. On arrive beaucoup plus vite au sommet ;-). Et ça ne change en rien la qualité du soft Vulture. C’est juste &amp;hellip; peu courant (pour l’instant) !&lt;/p&gt;
&lt;p&gt;Dans un registre un peu moins confidentiel, mes articles sur Shinken sont généralement bien classés, notamment mon tutoriel sur &lt;a class="link" href="https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-1/" &gt;l’installation et la configuration de la version 2.4 sur CentOS&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="mais-des-surprises"&gt;Mais des surprises
&lt;/h3&gt;&lt;p&gt;Étant &lt;strong&gt;tout&lt;/strong&gt; sauf un fan de la marque à la pomme, je ne pensais vraiment pas, en écrivant un article sur un &lt;a class="link" href="https://blog.zwindler.fr/2015/06/05/la-connexion-bureau-a-distance-ne-peut-pas-verifier-lidentite-depuis-un-macosx-vers-windows-2008/" &gt;message d’erreur RDP sous Mac&lt;/a&gt; (dont je ne connais pratiquement rien) qu’il aurait autant de succès !&lt;/p&gt;
&lt;p&gt;De même, mes articles qui traitent de mes bidouillages avec la &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=orange" &gt;Livebox Orange&lt;/a&gt;, le &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=VDSL2" &gt;VDSL2&lt;/a&gt;, les &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=free" &gt;Freebox V5 et Mini 4K&lt;/a&gt; sont généralement assez bien référencés (on m’a même cité dans des forums à plusieurs reprises). Il est toujours agréable de voir qu’on est pas le seul à galérer sur ces problématiques de routeurs opérateurs !&lt;/p&gt;
&lt;h3 id="last-but-not-least"&gt;Last but not least
&lt;/h3&gt;&lt;p&gt;Mais de tous mes articles, la palme revient sans conteste à celui où je détaille ce script, réécrit à partir d’un script non fonctionnel fourni par OVH (sur leur site officiel) et qui permet de &lt;a class="link" href="https://blog.zwindler.fr/2014/09/22/mise-a-jour-de-votre-dns-chez-ovh-avec-dynhost/" &gt;modifier automatiquement un DynHost dans le cas où votre IP n’est pas dynamique.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;J’ai pu le retrouver à divers endroit du net, amélioré, modifié, adapté. On m’a aidé à en faire une version encore meilleure.&lt;/p&gt;
&lt;p&gt;Cet aspect communautaire, c’est un peu ça que je cherchais lorsque j’ai commencé à écrire. Je suis content d’y être parvenu.&lt;/p&gt;</description></item><item><title>L’enfer des blogs conseils en référencement : sortir de la jungle du clickbait et de l’enfoncement des portes ouvertes</title><link>https://blog.zwindler.fr/2015/07/20/lenfer-des-blogs-conseils-en-referencement-sortir-de-la-jungle-du-clickbait-et-de-lenfoncement-des-portes-ouvertes/</link><pubDate>Mon, 20 Jul 2015 10:30:53 +0000</pubDate><guid>https://blog.zwindler.fr/2015/07/20/lenfer-des-blogs-conseils-en-referencement-sortir-de-la-jungle-du-clickbait-et-de-lenfoncement-des-portes-ouvertes/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/04/nyanonymous2.webp" alt="Featured image of post L’enfer des blogs conseils en référencement : sortir de la jungle du clickbait et de l’enfoncement des portes ouvertes" /&gt;&lt;p&gt;Il y a 6 mois, j’ai pris la décision d’être un peu plus sérieux avec ce blog et avec, de bonnes résolutions : un rythme de publication plus soutenu et surtout plus régulier, un contenu un peu plus large (comprenez « moins de sujets niche ») et un vrai hébergement.&lt;/p&gt;
&lt;h2 id="migration-depuis-wordpresscom-vers-un-hébergement-tiers"&gt;Migration depuis wordpress.com vers un hébergement tiers
&lt;/h2&gt;&lt;p&gt;Ça impliquait forcément de perdre une partie de l’audience car &lt;a class="link" href="https://blog.zwindler.fr/2010/10/18/pages-perso-free-vs-wordpress/" &gt;-je le savais bien depuis le début-&lt;/a&gt; wordpress.com est relativement bridé dans sa partie gratuite, et n’autorise pas les mécanismes de redirection pour migrer votre audience vers un blog externe.&lt;/p&gt;
&lt;p&gt;Sauf si vous payez 13USD/an bien sûr ! Notez que même si je suis un peu ironique, ce n’est pas forcément un mauvais choix si vous avez déjà une petite communauté à faire suivre. Le tarif est salé mais pas prohibitif.&lt;/p&gt;
&lt;p&gt;Une fois que c’est réglé et que votre hébergement (&lt;a class="link" href="https://blog.zwindler.fr/2015/04/11/tutoriel-migrer-facilement-son-blog-de-wordpress-com-vers-un-hebergement-mutualise-ovh/" &gt;voir ici si ce n’est pas encore fait&lt;/a&gt;), encore faut il trouver des lecteurs. Mais comment faire ?&lt;/p&gt;
&lt;p&gt;Simple, demandons à l’Internet son avis sur la question !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; pour ceux qui ne veulent pas saigner des yeux, vous pouvez tout de suite aller lire la fin de l’article pour les liens vers deux sites sérieux (ou cliquer [ici][3])&lt;/p&gt;
&lt;h2 id="faire-de-largent-en-faisant-miroiter-aux-autres-quils-peuvent-en-faire-aussi"&gt;Faire de l’argent en faisant miroiter aux autres qu’ils peuvent en faire aussi
&lt;/h2&gt;&lt;p&gt;Mettez les termes « référencement », « blog », « gratuit », « wordpress » dans un ordre aléatoire dans votre moteur de recherche préféré et vous tomberez d’abord sur une multitude de sites payants pour vous aider à vous faire connaitre. Ils sont suivis par des articles de blogs avec plus ou moins les mêmes conseils pour &lt;em&gt;réussir&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Vous y apprendrez qu’il faut &lt;em&gt;-selon eux-&lt;/em&gt; impérativement poster plusieurs fois par semaine. Il faudrait écrire des articles sur le blog d’un autre blogueur plus connu, sur des forums à forte affluence&amp;hellip; Il faudrait écrire des tutoriels simples pour toucher le public le plus large, illustrés avec des images et des vidéos Youtube. Tout ceci est vrai, un peu &lt;em&gt;obvious&lt;/em&gt; parfois et probablement efficace. Vous finirez par « attirer des visites », même si dans la pratique je ne vois pas comment trouver de la matière intéressante plusieurs fois par semaine sans dégrader la qualité. Je ne vois pas trop l’intérêt d’un vidéo tutoriel pour apprendre à utiliser la commande « reboot ».&lt;/p&gt;
&lt;p&gt;On y apprend également qu’il existe des outils pour optimiser le rendement des moteurs de recherche, notamment via des plugins comme « WordPress SEO by Yoast », « Google XML Sitemaps ». Il faut également utiliser les outils des webmasters fournis par les grands moteurs de recherche, &amp;hellip; Là on commence à toucher du doigt le vrai principe du référencement, mais sans aller jusqu’au bout de la démarche au delà de leur simple paramétrage. Dommage.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/masterblog01.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AHAHAHAHA ! Tu as vraiment cru que j’allais cliquer ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="clickbaiiiiiiiit--click-click-click-je-veux-des-clics"&gt;Clickbaiiiiiiiit : &lt;strong&gt;Click click click&lt;/strong&gt; je veux des clics!
&lt;/h2&gt;&lt;p&gt;C’est le genre de site pour vous aider à référencer gratuitement votre site le plus courant. Et celui là est juste fantastique.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/marketing01.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;J’en connais un qui s’est dit après coup que 10 étapes c’était mieux en terme de marketing&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Le premier conseil donne le ton :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Remplissez soigneusement le titre de votre blog en y insérant vos mots clés, mais au travers d’une phrase qui &lt;strong&gt;donnera envie de cliquer aux internautes&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Et après ça, on a droit à la totale. Une grosse image moche en plein milieu pour « illustrer », des ebook gratuits avec des liens partout. Pratiquement pas de mise en page ou alors elle n’est pas respectée dans tout l’article. Et une vidéo Youtube pour finir. Ça ne s’invente pas ;-).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/marketing02.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pardon, je vais vomir, et je reviens&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/marketing03.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Hum ! Cet ebook TOP SECRET m’a l’air particulièrement passionnant !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/marketing04.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;APPRENEZ A BLOGUER COMME UN PRO EN 2008 §§§§ (désolé la touche verr. maj. était bloquée)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Alors oui, il est très probable que ce blog soit un succès en terme de visites. On tombe &lt;strong&gt;facilement&lt;/strong&gt; sur ce blog (ou d’autres), malgré son contenu mal présenté et ses ebooks envahissants. Et si ce que vous cherchez est du clic (je ne parle pas d’audience) à tout prix, ces conseils sont probablement bons.&lt;/p&gt;
&lt;p&gt;On arrive quand même à trouver &lt;em&gt;quelques&lt;/em&gt; conseils valables en tout début d’article (déjà vus dans le paragraphe précédent), notamment l’utilisation des outils SEO et moteurs de recherche.&lt;/p&gt;
&lt;h2 id="fin"&gt;Des sites un peu plus sérieux
&lt;/h2&gt;&lt;p&gt;Heureusement, à force de recherches, vous finirez par tomber sur des sites un peu plus sérieux qui vous expliqueront de manière &lt;strong&gt;claire&lt;/strong&gt; les bonnes pratiques lorsqu’on se lance dans la rédaction de contenu. C’est particulièrement intéressant car ces sites introduisent d’abord les principes du référencement pour vous aider à &lt;strong&gt;comprendre comment fonctionnent&lt;/strong&gt; les moteurs de recherche, ce qui selon moi est la meilleur façon d’introduire un sujet.&lt;/p&gt;
&lt;p&gt;Je citerai les sites suivants mais il y en a surement beaucoup d’autres :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20220522172541/https://www.commentcamarche.net/faq/38743-optimiser-le-referencement-de-son-blog-wordpress" target="_blank" rel="noopener"
&gt;www.commentcamarche.net/faq/38743-optimiser-le-referencement-de-son-blog-wordpress (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20140814134237/http://www.progresser-en-informatique.com/cours-wordpress/optimiser-le-referencement-dun-site-wordpress/" target="_blank" rel="noopener"
&gt;www.progresser-en-informatique.com/cours-wordpress/optimiser-le-referencement-dun-site-wordpress (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un petit dernier pour la route car j’ai échangé un peu avec Mehdi de blogbooster. Si je ne suis pas forcément en phase avec le style d’écriture, Mehdi donne quelques astuces qui sont rarement mise en avant par d’autres site. Ça peut valoir le coup d’aller y jeter un œil :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blogbooster.fr/comment-referencer-son-blog/" target="_blank" rel="noopener"
&gt;blogbooster.fr/comment-referencer-son-blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Courage, c’est plus long mais c’est la bonne marche à suivre pour réussir :-).&lt;br&gt;
Bon référencement !&lt;/p&gt;</description></item></channel></rss>