<?xml version="1.0"?>
<rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:wfw="http://wellformedweb.org/CommentAPI/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
        >
   <channel>
      <title>Derniers articles wiki Fiat Tux</title>
      <link>https://wiki.fiat-tux.fr</link>
      <atom:link href="https://wiki.fiat-tux.fr/rss/pages/new" rel="self" type="application/rss+xml" />
      <description>Les derniers articles du wiki Fiat Tux</description>
      <lastBuildDate>Mon, 13 Apr 2026 17:31:41 +0200</lastBuildDate>
              <item>
            <title>Divers — Pudding de graines de chia au thé matcha</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-diverses/page/pudding-de-graines-de-chia-au-the-matcha</link>
            <description>Recette adaptée de https://healthyalie.com/pudding-de-chia-matcha/
Ingrédients

270 millilitres d...</description>
            <content:encoded><![CDATA[<p id="bkmrk-recette-adapt%C3%A9e-de-h">Recette adaptée de <a href="https://healthyalie.com/pudding-de-chia-matcha/">https://healthyalie.com/pudding-de-chia-matcha/</a></p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-270-millilitres-de-l">
<li>270 millilitres de lait d’avoine</li>
<li>50 grammes de graines de chia</li>
<li>1 cuillère à soupe de sirop d’érable ou de sirop d’agave</li>
<li>1 cuillère à café de thé matcha</li>
</ul>
<p id="bkmrk-pr%C3%A9voir-un-bocal-d%E2%80%99u">Prévoir un bocal d’une contenance de ±400 millilitres.</p>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-mettre-le-lait%2C-le-s">
<li>mettre le lait, le sirop et le thé dans le bocal</li>
<li>refermer le bocal et secouer fortement pour bien mélanger</li>
<li>ajouter les graines de chia, refermer et secouer fortement</li>
<li>placer au frais</li>
<li>15 minutes plus tard, re-secouer fortement :&nbsp;les graines de chia sont «&nbsp;normalement&nbsp;» montées dans la mousse de lait pendant le repos, il faut les faire se mélanger correctement au lait</li>
</ul>
<p id="bkmrk-conserver-au-frais.">Conserver au frais.</p>
<p id="bkmrk-%C3%80-consommer-au-petit">À consommer au petit déjeuner, au goûter, en guise de petit dessert… 🙂</p>
]]></content:encoded>
            <pubDate>Mon, 16 Jun 2025 08:37:03 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-diverses/page/pudding-de-graines-de-chia-au-the-matcha#193</guid>
        </item>
              <item>
            <title>Autres — Tartare d’algues</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/tartare-dalgues</link>
            <description>Recette adaptée de https://vegan-pratique.fr/recettes/tartare-dalgues-cru-vegan/.
Ingrédients

50...</description>
            <content:encoded><![CDATA[<p id="bkmrk-recette-adapt%C3%A9e-de-h">Recette adaptée de <a href="https://vegan-pratique.fr/recettes/tartare-dalgues-cru-vegan/">https://vegan-pratique.fr/recettes/tartare-dalgues-cru-vegan/</a>.</p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-50-grammes-d%E2%80%99algues-">
<li>50 grammes d’algues déshydratées en paillettes (je prends <a href="https://www.primeal.bio/fr/nos-produits/sauces-aides-culinaires/aides-culinaires/salade-du-pecheur-bio-50g">ce mélange tout prêt et bio</a>)</li>
<li>1 échalote</li>
<li>8 cornichons</li>
<li>1 petite gousse d’ail</li>
<li>45 millilitres (3 cuillères à soupe) de jus de citron, ou le jus d’un petit citron</li>
<li>1 cuillère à soupe de vinaigre de cidre</li>
<li>8 cuillère à soupe d’huile d’olive</li>
<li>1 cuillère à soupe de sauce soja</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-mettre-l%E2%80%99%C3%A9chalote%2C-l">
<li>mettre l’échalote, les cornichons et la gousse d’ail dans le bol</li>
<li>mettre le couvercle avec le bouchon et mixer 5 secondes à vitesse 5</li>
<li>ajouter les algues</li>
<li>ajouter tout le reste</li>
<li>mettre le couvercle avec le bouchon et mixer 10 secondes à vitesse 4</li>
<li>transvaser dans un bocal et garder au frais au minimum 15 minutes avant utilisation, le temps que les algues se réhydratent</li>
</ul>
<p id="bkmrk-se-conserve-au-frais">Se conserve au frais.</p>
<h2 id="bkmrk-nota-bene">Nota bene</h2>
<ul id="bkmrk-la-recette-originale">
<li>la recette originale ajoute un peu de poivre ou de mélanges de baies, je trouve que ce n’est pas nécessaire, mais faites-vous plaisir</li>
<li>c’est délicieux tartiné sur du pain, mais aussi dans du riz froid, ou dans n’importe quelle salade</li>
<li>si on n’a pas de thermomix, on peut utiliser un mixer pour exploser les cornichons/échalote/ail ou les couper fin à la main, et mélanger le tout manuellement.</li>
</ul>
]]></content:encoded>
            <pubDate>Sun, 15 Jun 2025 09:44:04 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/tartare-dalgues#192</guid>
        </item>
              <item>
            <title>Système — Du et df donnent un résultat différent : pourquoi ?</title>
            <link>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/du-et-df-donnent-un-resultat-different-pourquoi</link>
            <description>Il arrive que les commandes du et df donnent un résultat différent, parfois de plusieurs centaine...</description>
            <content:encoded><![CDATA[<p id="bkmrk-il-arrive-que-les-co">Il arrive que les commandes <code>du</code> et <code>df</code> donnent un résultat différent, parfois de plusieurs centaines de Gio. Mais pourquoi&nbsp;?</p>
<h2 id="bkmrk-avant-propos">Avant-propos</h2>
<p id="bkmrk-la-commande-du-regar">La commande <code>du</code> regarde la taille du dossier / fichier passé en paramètre alors que <code>df</code> va regarder les métadonnées d’une partition pour en afficher l’occupation.</p>
<p id="bkmrk-donc-la-question-du-">Donc la question du résultat différent ne vaut que si on compare la sortie de <code>du</code> sur un dossier qui est un point de montage et qui ne contient pas d’autres points de montage (ou si on utilise <code>du -x</code>, qui fait que <code>du</code> n’analyse pas les autres points de montage).</p>
<h2 id="bkmrk-plusieurs-r%C3%A9ponses-p">Plusieurs réponses possibles</h2>
<p id="bkmrk-sur-ce-commentaire-s">Sur <a href="https://stackoverflow.com/questions/30772180/df-and-du-giving-different-results/73373010#73373010">ce commentaire sur StackOverflow</a> (<a href="https://web.archive.org/web/20250612063212/https://stackoverflow.com/questions/30772180/df-and-du-giving-different-results/73373010#73373010">lien archive.org</a>), on apprend que plusieurs raisons peuvent expliquer des résultats différents.</p>
<p id="bkmrk-ce-commentaire-nous-">Ce commentaire nous donne 3 exemples&nbsp;:</p>
<ul id="bkmrk-des-applications-qui">
<li>des applications qui utilisent encore des fichiers supprimés. On peut vérifier ça avec la commande <code>lsof +aL1</code></li>
<li>des fichiers plus grands que leur vraie taille, ce qui va tromper <code>du</code> mais pas <code>df</code></li>
<li>si des fichiers étaient présents dans un dossier avant qu’un système de fichier soit monté sur ce dossier, <code>du</code> ne les verra pas et ne les comptabilisera pas, contrairement à <code>df</code></li>
</ul>
]]></content:encoded>
            <pubDate>Thu, 12 Jun 2025 08:07:50 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/du-et-df-donnent-un-resultat-different-pourquoi#191</guid>
        </item>
              <item>
            <title>Divers — Vinaigrette</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-diverses/page/vinaigrette</link>
            <description>Ingrédients (pour ±300ml)

200 grammes d’huile d’olives
81 grammes de vinaigre de cidre
2 cuillèr...</description>
            <content:encoded><![CDATA[<h2 id="bkmrk-ingr%C3%A9dients-%28pour-%C2%B13">Ingrédients (pour ±300ml)</h2>
<ul id="bkmrk-200-grammes-d%E2%80%99huile-">
<li>200 grammes d’huile d’olives</li>
<li>81 grammes de vinaigre de cidre</li>
<li>2 cuillères à café d’herbamare</li>
<li>1,5 cuillères à café d’ail en poudre</li>
<li>48 tours de moulin à poivre</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-tout-m%C3%A9langer-bien-f">
<li>tout mélanger bien fort</li>
</ul>
]]></content:encoded>
            <pubDate>Wed, 04 Jun 2025 17:26:13 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-diverses/page/vinaigrette#190</guid>
        </item>
              <item>
            <title>Plats — Poulet au curry</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-diverses/page/poulet-au-curry</link>
            <description>Ingrédients (pour 3 personnes)

3 filets de poulets
40 centilitres de crème liquide entière
1 cui...</description>
            <content:encoded><![CDATA[<h2 id="bkmrk-ingr%C3%A9dients-%28pour-3-">Ingrédients (pour 3 personnes)</h2>
<ul id="bkmrk-3-filets-de-poulets-">
<li>3 filets de poulets</li>
<li>40 centilitres de crème liquide entière</li>
<li>1 cuillère à café de poudre de curry jaune</li>
<li>1 cuillère à café de pâte de curry rouge</li>
<li>½ cuillère à café d’herbamare</li>
<li>20 tours de moulin de poivre blanc</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-d%C3%A9tailler-le-poulet-">
<li>détailler le poulet en dés</li>
<li>faire revenir le poulet à la poêle</li>
<li>une fois le poulet un peu doré, ajouter la crème puis tous les autres ingrédients</li>
<li>bien mélanger</li>
<li>faire cuire à petit feu le temps que la crème soit bien chaude</li>
</ul>
<p id="bkmrk-servir-avec-des-p%C3%A2te">Servir avec des pâtes ou du riz.</p>
]]></content:encoded>
            <pubDate>Sat, 03 May 2025 05:42:19 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-diverses/page/poulet-au-curry#189</guid>
        </item>
              <item>
            <title>Mail — Outils pour générer et vérifier ses enregistrements SPF/DKIM/DMARC</title>
            <link>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/outils-pour-generer-et-verifier-ses-enregistrements-spfdkimdmarc</link>
            <description>Le site qui propose une panoplie complète de génération et de vérification de ces enregistrements...</description>
            <content:encoded><![CDATA[<p id="bkmrk-le-site-qui-propose-">Le site qui propose une panoplie complète de génération et de vérification de ces enregistrements et que je trouve trop pratique est <a href="https://dmarcly.com/tools/">https://dmarcly.com/tools/</a>.
Il y a tout ce qu’il faut dessus, et c’est bien expliqué.</p>
<p id="bkmrk-simple.-basique.">Simple. Basique.</p>
]]></content:encoded>
            <pubDate>Mon, 13 Jan 2025 09:10:47 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/outils-pour-generer-et-verifier-ses-enregistrements-spfdkimdmarc#188</guid>
        </item>
              <item>
            <title>Mail — Outils pour les rapports DMARC</title>
            <link>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/outils-pour-les-rapports-dmarc</link>
            <description>Les rapports DMARC sont des fichiers XML, généralement compressés, envoyés par les fournisseurs d...</description>
            <content:encoded><![CDATA[<p id="bkmrk-les-rapports-dmarc-s">Les rapports DMARC sont des fichiers XML, généralement compressés, envoyés par les fournisseurs de mail à l’adresse mail définie par le paramètre <code>rua</code> des enregistrements DMARC.</p>
<p id="bkmrk-diff%C3%A9rents-outils-ex">Différents outils existent pour lire et exploiter ces rapports&nbsp;:</p>
<ul id="bkmrk-lire-un-rapport-en%C2%A0c">
<li>lire un rapport en&nbsp;CLI&nbsp;: <a href="https://github.com/keltia/dmarc-cat">https://github.com/keltia/dmarc-cat</a>&nbsp;;</li>
<li>avec un semblant de GUI, et qui se base sur le précédent&nbsp;: <a href="https://framagit.org/fiat-tux/dmarc-cat-ui">https://framagit.org/fiat-tux/dmarc-cat-ui</a> (juste histoire de pouvoir lire un rapport depuis un mail)&nbsp;;</li>
<li>pour stocker plein de rapports, les filtrer et pouvoir les lire : <a href="https://github.com/techsneeze/dmarcts-report-viewer">https://github.com/techsneeze/dmarcts-report-viewer</a>&nbsp;;</li>
<li>dans le même style, on m’a signalé <a href="https://github.com/liuch/dmarc-srg">https://github.com/liuch/dmarc-srg</a>&nbsp;;</li>
<li>pour avoir des stats agrégées avec plein de jolis graphiques : <a href="https://github.com/debricked/dmarc-visualizer">https://github.com/debricked/dmarc-visualizer</a>.</li>
</ul>
]]></content:encoded>
            <pubDate>Mon, 13 Jan 2025 09:06:09 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/outils-pour-les-rapports-dmarc#187</guid>
        </item>
              <item>
            <title>Boissons sans alcool — Infusion pétillante</title>
            <link>https://wiki.fiat-tux.fr/books/boissons/page/infusion-petillante</link>
            <description>Sur le même principe que le club maté, on peut faire une boisson pétillante avec à peu près n’imp...</description>
            <content:encoded><![CDATA[<p id="bkmrk-sur-le-m%C3%AAme-principe">Sur le même principe que le <a href="https://wiki.fiat-tux.fr/books/boissons/page/club-mate">club maté</a>, on peut faire une boisson pétillante avec à peu près n’importe quelle infusion.</p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-750-ml-d%E2%80%99eau-non-chl">
<li>750 ml d’eau non chlorée (faites reposer de l’eau du robinet dans un cruche pendant une ou deux heures et c’est bon)</li>
<li>50 grammes de sucre</li>
<li>20 grammes de thé, de tisane, etc. Ajustez selon vos essais, mais 20 grammes est une bonne base de test.</li>
<li>50 ml de jus de citron</li>
<li>200 ml de <a href="https://wiki.fiat-tux.fr/books/boissons/page/levain-de-gingembre">levain de gingembre</a></li>
</ul>
<p id="bkmrk-vous-aurez-besoin-d%E2%80%99">Vous aurez besoin d’un bocal avec un joint en caoutchouc, genre le parfait, d’un litre</p>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-mettre-l%E2%80%99eau-dans-le">
<li>mettre l’eau dans le bocal</li>
<li>ajouter le thé, la tisane, etc.</li>
<li>fermer le bocal</li>
<li>laisser infuser 24h</li>
<li>filtrer et remettre l’infusion dans le bocal</li>
<li>ajouter le sucre</li>
<li>secouer jusqu’à dissolution</li>
<li>ajouter le reste des ingrédients</li>
<li>fermer le bocal</li>
<li>laisser fermenter 24h à température ambiante</li>
<li>mettre en bouteille</li>
<li>laisser la bouteille à température ambiante 24h</li>
<li>mettre la bouteille au frigo avant de déguster</li>
</ul>
<p id="bkmrk-pour-plus-de-p%C3%A9tilla">Pour plus de pétillant, vous pouvez laisser la bouteille à température ambiante plus longtemps, mais attention au risque d’explosion.</p>
<p id="bkmrk-la-mise-au-frigo-ral">La mise au frigo ralentit la fermentation mais ne la stoppe pas complètement&nbsp;: ne laissez pas traîner la boisson indéfiniment.</p>
<h2 id="bkmrk-recommandations">Recommandations</h2>
<p id="bkmrk-quelques-th%C3%A9s-et-aut">Quelques thés et autres infusions testées avec succès.</p>
<ul id="bkmrk-th%C3%A9-des-moines-%2820g%2F">
<li><a href="https://www.palaisdesthes.com/fr/d898am-the-des-moines.html">thé des moines</a> (20g/l), un assemblage de thé noir, thé vert, fleurs de jasmin, souci et quelques autres arômes</li>
<li><a href="https://www.palaisdesthes.com/fr/d973am-jardin-des-reines.html">jardin des reines</a> (20g/l), un délice au goût surprenant&nbsp;!</li>
<li><a href="https://fr.openfoodfacts.org/produit/3760239182393/the-vert-earl-grey-bergamote-papilles-du-monde">thé vert earl grey bergamote</a> (15-20g/l). NB&nbsp;: la marque est exclusive des comptoirs de la bio, un groupement de magasins bio, donc ça ne se trouve pas partout</li>
<li><a href="https://www.palaisdesthes.com/fr/a-coeur-joie-bio.html">à cœur joie</a> (20g/l), millepertuis, <a href="https://fr.wikipedia.org/wiki/Ocimum_tenuiflorum">tulsi</a> et orange. NB&nbsp;: attention, <a href="https://fr.wikipedia.org/wiki/Millepertuis_perfor%C3%A9#Effets_secondaires_et_contre-indications">le millepertuis peut interagir avec certains médicaments</a></li>
</ul>
]]></content:encoded>
            <pubDate>Wed, 30 Oct 2024 18:16:28 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/boissons/page/infusion-petillante#186</guid>
        </item>
              <item>
            <title>Boissons sans alcool — Club maté</title>
            <link>https://wiki.fiat-tux.fr/books/boissons/page/club-mate</link>
            <description>Cette recette est moins sucrée que le club maté industriel. Personnellement, je préfère ma versio...</description>
            <content:encoded><![CDATA[<p id="bkmrk-cette-recette-est-mo">Cette recette est moins sucrée que le club maté industriel. Personnellement, je préfère ma version&nbsp;!</p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-750-ml-d%E2%80%99eau-non-chl">
<li>750 ml d’eau non chlorée (faites reposer de l’eau du robinet dans un cruche pendant une ou deux heures et c’est bon)</li>
<li>50 grammes de sucre</li>
<li>20 grammes de maté</li>
<li>50 ml de jus de citron</li>
<li>200 ml de <a href="https://wiki.fiat-tux.fr/books/boissons/page/levain-de-gingembre">levain de gingembre</a>
</li>
</ul>
<p id="bkmrk-vous-aurez-besoin-d%E2%80%99">Vous aurez besoin d’un bocal avec un joint en caoutchouc, genre le parfait, d’un litre</p>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-mettre-l%E2%80%99eau-dans-le">
<li>mettre l’eau dans le bocal</li>
<li>ajouter le maté</li>
<li>fermer le bocal</li>
<li>laisser infuser 24h</li>
<li>filtrer et remettre l’infusion dans le bocal</li>
<li>ajouter le sucre</li>
<li>secouer jusqu’à dissolution</li>
<li>ajouter le reste des ingrédients</li>
<li>fermer le bocal</li>
<li>laisser fermenter 24h à température ambiante</li>
<li>mettre en bouteille</li>
<li>laisser la bouteille à température ambiante 24h</li>
<li>mettre la bouteille au frigo avant de déguster</li>
</ul>
<p id="bkmrk-attention%C2%A0%3A-je-ne-sa">Attention&nbsp;: je ne sais pas à quoi c’est dû dans le maté, mais la pétillance de cette boisson est extrême&nbsp;!
Il faut dégazer la bouteille longtemps avant de pouvoir se servir.
Mettez-vous au-dessus d’un évier pour l’ouvrir.</p>
<p id="bkmrk-la-mise-au-frigo-ral">La mise au frigo ralentit la fermentation mais ne la stoppe pas complètement&nbsp;: ne laissez pas traîner la boisson indéfiniment.</p>
]]></content:encoded>
            <pubDate>Wed, 30 Oct 2024 18:12:49 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/boissons/page/club-mate#185</guid>
        </item>
              <item>
            <title>Boissons sans alcool — Ginger beer</title>
            <link>https://wiki.fiat-tux.fr/books/boissons/page/ginger-beer</link>
            <description>Recette adaptée du livre Boissons fermentées naturelles, de Marie-Claire Frédéric et Guillaume St...</description>
            <content:encoded><![CDATA[<p id="bkmrk-recette-adapt%C3%A9e-du-l">Recette adaptée du livre <a href="https://www.decitre.fr/livres/boissons-fermentees-naturelles-9782072932465.html">Boissons fermentées naturelles</a>, de Marie-Claire Frédéric et Guillaume Stutin.</p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-750-ml-d%E2%80%99eau-non-chl">
<li>750 ml d’eau non chlorée (faites reposer de l’eau du robinet dans un cruche pendant une ou deux heures et c’est bon)</li>
<li>50 grammes de sucre</li>
<li>50 grammes de gingembre</li>
<li>50 ml de jus de citron</li>
<li>150 ml de <a href="https://wiki.fiat-tux.fr/books/boissons/page/levain-de-gingembre">levain de gingembre</a>
</li>
</ul>
<p id="bkmrk-vous-aurez-besoin-d%E2%80%99">Vous aurez besoin d’un bocal avec un joint en caoutchouc, genre le parfait, d’un litre</p>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-couper-le-gingembre-">
<li>couper le gingembre en rondelles</li>
<li>mettre l’eau dans le bocal</li>
<li>ajouter le sucre</li>
<li>secouer jusqu’à dissolution</li>
<li>ajouter le reste des ingrédients</li>
<li>fermer le bocal</li>
<li>laisser fermenter 24h à température ambiante</li>
<li>filtrer et mettre en bouteille</li>
<li>laisser la bouteille à température ambiante 24h</li>
<li>mettre la bouteille au frigo avant de déguster</li>
</ul>
<p id="bkmrk-pour-plus-de-p%C3%A9tilla">Pour plus de pétillant, vous pouvez laisser la bouteille à température ambiante plus longtemps, mais attention au risque d’explosion.</p>
<p id="bkmrk-la-mise-au-frigo-ral">La mise au frigo ralentit la fermentation mais ne la stoppe pas complètement&nbsp;: ne laissez pas traîner la boisson indéfiniment.</p>
]]></content:encoded>
            <pubDate>Wed, 30 Oct 2024 18:05:02 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/boissons/page/ginger-beer#184</guid>
        </item>
              <item>
            <title>Système — Empêcher l’activation d’un service à son installation</title>
            <link>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/empecher-lactivation-dun-service-a-son-installation</link>
            <description>On peut vouloir installer un service mais éviter qu’il ne s’active à l’installation.
Par exemple,...</description>
            <content:encoded><![CDATA[<p id="bkmrk-on-peut-vouloir-inst">On peut vouloir installer un service mais éviter qu’il ne s’active à l’installation.</p>
<p id="bkmrk-par-exemple%2C-pour-ch">Par exemple, pour changer sa configuration avant utilisation, ou parce qu’un autre service écoute déjà sur le port que le service. J’ai cherché comment faire en voulant installer <a href="https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/chapter/bases-de-donn%C3%A9es%C2%A0-postgresql">PostgreSQL</a> sur un serveur où il y avait déjà un PostgreSQL installé par un autre paquet (le PostgreSQL fourni par Gitlab, en l’occurence).</p>
<p id="bkmrk-la-solution-est-fort">La solution est fort simple et utilise les <a href="https://manpages.debian.org/bookworm/systemd/systemd.preset.5.en.html"><em>preset</em> d’activation de systemd</a>.</p>
<p id="bkmrk-exemple-avec-mariadb">Exemple avec MariaDB (le nom du fichier doit suivre le modèle <code>&lt;priority&gt;-&lt;policy-name&gt;.preset</code>, voir la page de manuel)&nbsp;:</p>
<pre id="bkmrk-mkdir--p-%2Fetc%2Fsystem"><code class="language-bash">mkdir -p /etc/systemd/system-preset
vi /etc/systemd/system-preset/85-systemd.preset
</code></pre>
<p id="bkmrk-et-dedans%2C-mettre%C2%A0%3A">Et dedans, mettre&nbsp;:</p>
<pre id="bkmrk-disable-mariadb.%2A"><code>disable mariadb.*
</code></pre>
<p id="bkmrk-on-peut-aussi-forcer">On peut aussi forcer l’activation avec <code>enable</code> à la place de <code>disable</code>.</p>
<p id="bkmrk-je-vous-laisse-voir-">Je vous laisse voir la page de manuel pour plus de détails.</p>
]]></content:encoded>
            <pubDate>Wed, 30 Oct 2024 11:44:21 +0100</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/empecher-lactivation-dun-service-a-son-installation#183</guid>
        </item>
              <item>
            <title>Divers — Mon shell : zsh</title>
            <link>https://wiki.fiat-tux.fr/books/logiciels/page/mon-shell-zsh</link>
            <description>J’ai choisi zsh comme shell, histoire d’avoir un truc avec plus de fonctions que bash sans pour a...</description>
            <content:encoded><![CDATA[<p id="bkmrk-j%E2%80%99ai-choisi-zsh-comm">J’ai choisi <a href="https://www.zsh.org/">zsh</a> comme <em>shell</em>, histoire d’avoir un truc avec plus de fonctions que <code>bash</code> sans pour autant avoir un truc trop peu connu.</p>
<p id="bkmrk-en-effet%2C-divers-out">En effet, divers outils proposent des fichiers d’autocomplétion. Pour <code>bash</code> en premier lieu et s’ils supportent d’autres <em>shell</em>, zsh sera le deuxième sur la liste.</p>
<h2 id="bkmrk-th%C3%A8me">Thème</h2>
<p id="bkmrk-pour-avoir-un-th%C3%A8me-">Pour avoir un thème sympa avec un <em>prompt</em> qui me donne un certain nombre d’informations, j’utilise <a href="https://github.com/romkatv/powerlevel10k">powerlevel10k</a>.</p>
<h2 id="bkmrk-gestion-des-virtuale">Gestion des virtualenv Python</h2>
<p id="bkmrk-pour-charger-et-d%C3%A9ch">Pour charger et décharger automatiquement les <code>virtualenv</code> Python, j’utilise <a href="https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv">zsh-autoswitch-virtualenv</a>, en le modifiant un peu pour personnaliser le nom des dossiers contenant les <code>virtualenv</code>.</p>
]]></content:encoded>
            <pubDate>Thu, 26 Sep 2024 15:25:32 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/logiciels/page/mon-shell-zsh#182</guid>
        </item>
              <item>
            <title>Plats — Riz de chou-fleur au poulet à la crème</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-diverses/page/riz-de-chou-fleur-au-poulet-a-la-creme</link>
            <description>Ingrédients (pour 2 personnes)

du riz de chou-fleur


Sauce :

2 oignons
2 filets de poulet
1 br...</description>
            <content:encoded><![CDATA[<h2 id="bkmrk-ingr%C3%A9dients-%28pour-2-">Ingrédients (pour 2 personnes)</h2>
<ul id="bkmrk-du-riz-de-chou-fleur">
<li>du <a href="https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/riz-de-chou-fleur">riz de chou-fleur</a>
</li>
</ul>
<p id="bkmrk-sauce-%3A">Sauce :</p>
<ul id="bkmrk-2-oignons-2-filets-d">
<li>2 oignons</li>
<li>2 filets de poulet</li>
<li>1 briquette de crème</li>
<li>1 bouillon cube de volaille</li>
<li>sel</li>
<li>poivre</li>
<li>huile d’olive</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-d%C3%A9tailler-les-filets">
<li>détailler les filets de poulet en petits cubes/morceaux&nbsp;;</li>
<li>couper les oignons en demi-rondelles&nbsp;;</li>
<li>faire chauffer une sauteuse avec un peu d’huile d’olive&nbsp;;</li>
<li>quand la sauteuse est chaude, ajouter les oignons et remuer fréquemment&nbsp;;</li>
<li>c’est le moment de lancer la cuisson du riz de chou-fleur&nbsp;;</li>
<li>quand les oignons sont un peu translucides, ajouter le poulet et remuer fréquemment&nbsp;;</li>
<li>quand le poulet est cuit, ajouter la crème, quelques tours de moulin à poivre et le bouillon cube et bien remuer pour le dissoudre&nbsp;;</li>
<li>laisser au chaud à feu doux pendant la cuisson du riz de chou-fleur&nbsp;;</li>
<li>goûter et ajouter un peu de sel au besoin&nbsp;;</li>
<li>quand le riz de chou-fleur est cuit, servir avec le riz de chou-fleur et napper de sauce.</li>
</ul>
]]></content:encoded>
            <pubDate>Fri, 20 Sep 2024 13:47:06 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-diverses/page/riz-de-chou-fleur-au-poulet-a-la-creme#181</guid>
        </item>
              <item>
            <title>Autres — Riz de chou-fleur</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/riz-de-chou-fleur</link>
            <description>Ingrédients (pour 2 personnes)

1 chou-fleur
un peu d’huile d’olive pour la cuisson
sel

Préparat...</description>
            <content:encoded><![CDATA[<h2 id="bkmrk-ingr%C3%A9dients-%28pour-2-">Ingrédients (pour 2 personnes)</h2>
<ul id="bkmrk-1-chou-fleur-un-peu-">
<li>1 chou-fleur</li>
<li>un peu d’huile d’olive pour la cuisson</li>
<li>sel</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-d%C3%A9tailler-le-chou-fl">
<li>détailler le chou-fleur en fleurets&nbsp;;</li>
<li>exploser les fleurets au thermomix 10 secondes&nbsp;à vitesse 5&nbsp;;</li>
<li>faire chauffer une poêle avec l’huile&nbsp;;</li>
<li>quand la poêle est chaude, ajouter le chou-fleur explosé&nbsp;;</li>
<li>ajouter un peu de sel&nbsp;;</li>
<li>remuer fréquemment&nbsp;;</li>
<li>quand le chou-fleur commence à rôtir, continuer encore un peu pour avoir suffisamment de chou-fleur rôti pour votre goût.</li>
</ul>
]]></content:encoded>
            <pubDate>Fri, 20 Sep 2024 13:43:34 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/riz-de-chou-fleur#180</guid>
        </item>
              <item>
            <title>Divers — Ajouter des couleurs à ses scripts shell</title>
            <link>https://wiki.fiat-tux.fr/books/d%C3%A9veloppement/page/ajouter-des-couleurs-a-ses-scripts-shell</link>
            <description>Repris de https://stackoverflow.com/a/28938235.
Parce que la vie est plus agréable avec des coule...</description>
            <content:encoded><![CDATA[<p id="bkmrk-repris-de-https%3A%2F%2Fst">Repris de <a href="https://stackoverflow.com/a/28938235">https://stackoverflow.com/a/28938235</a>.</p>
<p id="bkmrk-parce-que-la-vie-est">Parce que la vie est plus agréable avec des couleurs, j’aime bien agrémenter mes scripts avec des couleurs.</p>
<p id="bkmrk-outre-le-fait-que-ce">Outre le fait que ce soit plus joli, cela permet aussi de rendre plus lisible la sortie d’un script (un texte en rouge, on se doute que tout ne s’est pas bien passé avant même de lire le texte).</p>
<p id="bkmrk-je-note-donc-ici-les">Je note donc ici les codes pour écrire en couleur dans des scripts shell, en tant que pense-bête.</p>
<h2 id="bkmrk-les-codes">Les codes</h2>
<h3 id="bkmrk-remise-%C3%A0-z%C3%A9ro-du-for">Remise à zéro du formatage</h3>
<pre id="bkmrk-nc%3D%27%5C033%5B0m%27"><code class="language-bash">NC='\033[0m'
</code></pre>
<h3 id="bkmrk-couleurs-de-base">Couleurs de base</h3>
<pre id="bkmrk-black%3D%27%5C033%5B0%3B30m%27-r"><code class="language-bash">BLACK='\033[0;30m'
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[0;37m'
</code></pre>
<h3 id="bkmrk-en-couleur-et-en-gra">En couleur et en gras</h3>
<p id="bkmrk-en-gras%2C-c%E2%80%99est-bold-">En gras, c’est <em>bold</em> en anglais, d’où le préfixe <code>B</code>.</p>
<pre id="bkmrk-bblack%3D%27%5C033%5B1%3B30m%27-"><code class="language-bash">BBLACK='\033[1;30m'
BRED='\033[1;31m'
BGREEN='\033[1;32m'
BYELLOW='\033[1;33m'
BBLUE='\033[1;34m'
BPURPLE='\033[1;35m'
BCYAN='\033[1;36m'
BWHITE='\033[1;37m'
</code></pre>
<h2 id="bkmrk-utilisation">Utilisation</h2>
<pre id="bkmrk-red%3D%27%5C033%5B0%3B31m%27-nc%3D"><code class="language-bash">RED='\033[0;31m'
NC='\033[0m'
echo -e "${RED}Hello world${NC}"
</code></pre>
<p id="bkmrk-on-notera-ici-trois-">On notera ici trois choses&nbsp;:</p>
<ol id="bkmrk-l%E2%80%99encadrement-de-la-">
<li>l’encadrement de la variable par des accolades, pour la séparer du texte (sinon le shell essayerait d’interpréter la variable <code>$REDHello</code>, qui n’existe pas)&nbsp;;</li>
<li>l’utilisation de l’option <code>-e</code> d’echo&nbsp;: selon le shell utilisé, le comportement sera différent (les shells bash, dash, zsh (et les autres aussi, sans doute) utilisent leur propre commande <code>echo</code>). L’option <code>-e</code> est nécessaire pour activer l’interprétation des backslash pour <code>/usr/bin/echo</code>, pas pour le <code>echo</code> de zsh. Dans le doute, il faut utiliser cette option.</li>
<li>l’utilisation de la variable de remise à zéro à la fin de la phrase. Certains shells vont conserver le changement de formatage de texte après le <code>echo</code> (bash, dash), d’autres non (zsh). Encore une fois, dans le doute, on remet le formatage à zéro.</li>
</ol>
<p id="bkmrk-on-m%E2%80%99a-signal%C3%A9-que-p">On <a href="https://framapiaf.org/@lanodan@queer.hacktivis.me/113146093517044986">m’a signalé</a> que <code>printf</code> était plus standardisé, donc au comportement plus constant entre les shells.
Avec <code>printf</code>, ça donne&nbsp;:</p>
<pre id="bkmrk-red%3D%27%5C033%5B0%3B31m%27-nc%3D-1"><code class="language-bash">RED='\033[0;31m'
NC='\033[0m'
printf "${RED}Hello world${NC}\n"
</code></pre>
<p id="bkmrk-%C3%80-noter%2C-le-%5Cn-final">À noter, le <code>\n</code> final, car <code>printf</code> ne fait pas de retour à la ligne automatiquement.</p>
]]></content:encoded>
            <pubDate>Mon, 16 Sep 2024 08:43:35 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/d%C3%A9veloppement/page/ajouter-des-couleurs-a-ses-scripts-shell#178</guid>
        </item>
              <item>
            <title>Divers — Pour surveiller des pages web : urlwatch</title>
            <link>https://wiki.fiat-tux.fr/books/logiciels/page/pour-surveiller-des-pages-web-urlwatch</link>
            <description>Si je veux surveiller l’évolution d’une page web qui ne propose pas de flux de syndication (quell...</description>
            <content:encoded><![CDATA[<p id="bkmrk-si-je-veux-surveille">Si je veux surveiller l’évolution d’une page web qui ne propose pas de flux de syndication (quelle honte&nbsp;!) comme par exemple <a href="https://community.limesurvey.org/releases/">la page des releases de limesurvey</a>, j’utilise <a href="https://thp.io/2008/urlwatch/">urlwatch</a>.</p>
<p id="bkmrk-c%E2%80%99est-pas-joli%2C-c%E2%80%99es">C’est pas joli, c’est du CLI, mais ce qui est formidable, c’est que c’est très flexible (on peut enchaîner des modificateurs, genre <code>sed</code>, <code>grep</code>, etc.) et que ça peut se mettre en cron sur un serveur avant de s’oublier&nbsp;: je recevrais alors les notifications de modifications par mail.</p>
<p id="bkmrk-c%E2%80%99est-low-tech%2C-%C3%A7a-v">C’est low-tech, ça va à l’essentiel, j’adore.</p>
]]></content:encoded>
            <pubDate>Tue, 10 Sep 2024 10:40:15 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/logiciels/page/pour-surveiller-des-pages-web-urlwatch#176</guid>
        </item>
              <item>
            <title>Divers — Sauce bolognaise</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-diverses/page/sauce-bolognaise</link>
            <description>Ingrédients (pour 3 personnes)

400 grammes de viande hachée
1 à 2 oignons, selon leur taille et ...</description>
            <content:encoded><![CDATA[<h2 id="bkmrk-ingr%C3%A9dients-%28pour-3-">Ingrédients (pour 3 personnes)</h2>
<ul id="bkmrk-400-grammes-de-viand">
<li>400 grammes de viande hachée</li>
<li>1 à 2 oignons, selon leur taille et votre goût</li>
<li>2 boîtes de tomates concassées de 400g chacune (800 grammes au total, donc)</li>
<li>200 grammes de purée de tomates</li>
<li>1 cuillère à café d’<a href="https://avogel.fr/blog/epicerie/herbamare-tout-ce-quil-faut-savoir/">herbamare</a> ou de sel</li>
<li>1 bouillon cube de volaille</li>
<li>1 cuillère à café de sucre</li>
<li>1 cuillère à café d’origan</li>
<li>1 cuillère à café de thym</li>
<li>½ cuillère à café d’ail en poudre</li>
<li>½ cuillère à café de curry</li>
<li>huile d’olive</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-ciseler-le-ou-les-oi">
<li>ciseler le ou les oignons</li>
<li>dans une sauteuse, faire chauffer un peu d’huile d’olive</li>
<li>faire revenir l’oignon</li>
<li>une fois celui-ci devenu translucide, faire revenir la viande hachée</li>
<li>une fois la viande cuite, baisser le feu</li>
<li>ajouter tous les autres ingrédients, bien remuer</li>
<li>faire mijoter 45 minutes à feu doux avec un couvercle</li>
</ul>
<p id="bkmrk-%C3%89ventuellement%2C-en-f">Éventuellement, en fin de cuisson, si la sauce est trop épaisse, ajouter de la purée de tomates pour délayer à votre goût.</p>
]]></content:encoded>
            <pubDate>Fri, 30 Aug 2024 19:14:19 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-diverses/page/sauce-bolognaise#174</guid>
        </item>
              <item>
            <title>Boissons sans alcool — Levain de gingembre</title>
            <link>https://wiki.fiat-tux.fr/books/boissons/page/levain-de-gingembre</link>
            <description>Recette tirée du livre Boissons fermentées naturelles, de Marie-Claire Frédéric et Guillaume Stut...</description>
            <content:encoded><![CDATA[<p id="bkmrk-recette-tir%C3%A9e-du-liv">Recette tirée du livre <a href="https://www.decitre.fr/livres/boissons-fermentees-naturelles-9782072932465.html">Boissons fermentées naturelles</a>, de Marie-Claire Frédéric et Guillaume Stutin.</p>
<p id="bkmrk-un-levain-de-gingemb">Un levain de gingembre, ou <em>ginger bug</em> dans la langue d’outre-Manche, est vraiment comme un levain (au sens classique du terme) pour le pain&nbsp;: il permet la fermentation (non pas de pain, mais de boissons diverses et variées).</p>
<p id="bkmrk-bien-%C3%A9videmment%2C-c%E2%80%99e">Bien évidemment, c’est avec ce levain qu’on fait de la <em>ginger beer</em> (article à venir), mais aussi bien d’autres boissons.</p>
<h2 id="bkmrk-ingr%C3%A9dients">Ingrédients</h2>
<ul id="bkmrk-1-racine-de-gingembr">
<li>1 racine de gingembre, bio de préférence</li>
<li>du sucre blanc ou roux (j’utilise du blanc)</li>
<li>de l’eau non chlorée (faites reposer de l’eau du robinet quelques heures dans un récipient ouvert et c’est bon)</li>
<li>un bocal (genre «le Parfait», c’est top)</li>
<li>une <a href="https://fr.wikipedia.org/wiki/%C3%89tamine_(tissu)">étamine</a>
</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<p id="bkmrk-comme-un-levain-pour">Comme un levain pour le pain, la préparation du levain de gingembre prend plusieurs jours</p>
<h3 id="bkmrk-1er-jour">1er jour</h3>
<ul id="bkmrk-versez-200ml-d%E2%80%99eau-d">
<li>versez 200ml d’eau dans le bocal</li>
<li>ajoutez 3 cuillerées à soupe de tranches de gingembre (non pelées)</li>
<li>ajoutez 3 cuillerées à soupe de sucre</li>
<li>mélangez</li>
<li>fermez le bocal avec l’étamine et un élastique pour la tenir en place</li>
<li>laissez le bocal à température ambiante (si c’est l’hiver, évitez qu’il soit trop au froid)</li>
</ul>
<p id="bkmrk-l%E2%80%99%C3%A9tamine-est-l%C3%A0-pou">L’étamine est là pour que le levain soit à l’air libre sans pour autant laisser les mouches venir dans le levain.</p>
<h3 id="bkmrk-jours-2-%C3%A0-5">Jours 2 à 5</h3>
<p id="bkmrk-ajoutez-chaque-jour-">Ajoutez chaque jour 3 cuillerées à soupe de tranches de gingembre et 3 cuillerées à soupe de sucre. Mélangez et remettez l’étamine.</p>
<p id="bkmrk-aux-alentours-du-5e-">Aux alentours du 5e jour, vous devriez pouvoir voir de fines bulles dans le levain et l’entendre pétiller.</p>
<p id="bkmrk-votre-levain-est-pr%C3%AA">Votre levain est prêt&nbsp;!</p>
<p id="bkmrk-vous-pouvez-alors-en">Vous pouvez alors enlever l’étamine et fermer le couvercle du bocal.</p>
<h3 id="bkmrk-utilisation-et-conse">Utilisation et conservation</h3>
<p id="bkmrk-apr%C3%A8s-utilisation-se">Après utilisation selon la recette de la boisson à préparer, remettez de l’eau (autant que ce que vous avez utilisé de gingembre) et une ou deux cuillerées à soupe de sucre.</p>
<p id="bkmrk-entre-deux-utilisati">Entre deux utilisations, conservez le levain au frigo.</p>
<p id="bkmrk-de-temps-en-temps%2C-c">De temps en temps, changez le gingembre du bocal. Si vous ne l’utilisez pas pendant longtemps, donnez-lui un peu de sucre de temps à autre.</p>
<p id="bkmrk-si-vous-avez-besoin-">Si vous avez besoin de plus de levain que ce que vous avez, ajoutez de l’eau sucrée autant que nécessaire, en comptant 70 grammes de sucre par litre d’eau, ainsi que quelques tranches de gingembre. Laissez fermentez 24 heures avant de l’utiliser.</p>
]]></content:encoded>
            <pubDate>Thu, 22 Aug 2024 10:43:23 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/boissons/page/levain-de-gingembre#173</guid>
        </item>
              <item>
            <title>Soupes — Soupe aux champignons</title>
            <link>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/soupe-aux-champignons</link>
            <description>Recette tirée de https://yummix.fr/creme-veloute-champignons-thermomix/.
Ingrédients (pour 2 pers...</description>
            <content:encoded><![CDATA[<p id="bkmrk-recette-tir%C3%A9e-de-htt">Recette tirée de <a href="https://yummix.fr/creme-veloute-champignons-thermomix/">https://yummix.fr/creme-veloute-champignons-thermomix/</a>.</p>
<h2 id="bkmrk-ingr%C3%A9dients-%28pour-2-">Ingrédients (pour 2 personnes)</h2>
<ul id="bkmrk-1-oignon-250-grammes">
<li>1 oignon</li>
<li>250 grammes de champignons de Paris</li>
<li>10 grammes d’huile d’olive</li>
<li>1 branche de thym frais</li>
<li>½ tablette de bouillon de volaille</li>
<li>300 grammes d’eau</li>
<li>sel</li>
<li>poivre</li>
</ul>
<h2 id="bkmrk-pr%C3%A9paration">Préparation</h2>
<ul id="bkmrk-placer-l%E2%80%99oignon-coup">
<li>placer l’oignon coupé en quatre et les champignons dans le bol</li>
<li>hacher 10 secondes, vitesse 4</li>
<li>ajouter 10 grammes d’huile d’olive</li>
<li>faire revenir <strong>sans le gobelet</strong> 5 minutes, varoma, vitesse 0,5</li>
<li>ajouter les 300 grammes d’eau, la branche de thym, la ½ tablette de bouillon de volaille émiettée, ½ cuillère à café rase de sel et quelques tours de moulin à poivre</li>
<li>faire cuire 13 minutes à 98°C, vitesse 2</li>
<li>retirer la branche de thym</li>
<li>mixer 40 secondes, vitesse 10</li>
</ul>
]]></content:encoded>
            <pubDate>Sat, 25 May 2024 19:10:21 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/recettes-au-thermomix/page/soupe-aux-champignons#172</guid>
        </item>
              <item>
            <title>Système — Firewalld : un firewall simple à utiliser</title>
            <link>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/firewalld-un-firewall-simple-a-utiliser</link>
            <description>Firewalld est un pare-feu que je trouve très agréable à utiliser, où on peut « cacher » la comple...</description>
            <content:encoded><![CDATA[<p id="bkmrk-firewalld-est-un-par">Firewalld est un pare-feu que je trouve très agréable à utiliser, où on peut «&nbsp;cacher&nbsp;» la complexité de certains éléments de configuration derrière des noms simples à utiliser.</p>
<p id="bkmrk-par-exemple%2C-je-peux">Par exemple, je peux avoir un service qui n’a pas spécialement de port dédié, donc qui n’est pas proposé par firewall. Mettons un <a href="https://fr.wikipedia.org/wiki/WireGuard">wireguard</a> qui écoute sur le port 9879. Plutôt que d’utiliser <code>9879/udp</code> dans ma configuration, je vais créer un service <code>wireguard</code>, et c’est ce service que j’autoriserai.</p>
<p id="bkmrk-ce-sera-bien-plus-pa">Ce sera bien plus parlant quand je relirai la configuration.</p>
<p id="bkmrk-liens%C2%A0%3A">Liens&nbsp;:</p>
<ul id="bkmrk-documentation-offici">
<li>Documentation officielle&nbsp;: <a href="https://firewalld.org/documentation/">https://firewalld.org/documentation/</a></li>
<li><a href="https://www.linuxtricks.fr/wiki/firewalld-le-pare-feu-facile-sous-linux">https://www.linuxtricks.fr/wiki/firewalld-le-pare-feu-facile-sous-linux</a></li>
<li><a href="https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/">https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/</a></li>
<li><a href="https://kb.vander.host/security/firewalld-cheat-sheet/">https://kb.vander.host/security/firewalld-cheat-sheet/</a></li>
</ul>
<h2 id="bkmrk-principes">Principes</h2>
<p id="bkmrk-en-tr%C3%A8s-gros-et-en-t">En très gros et en très résumé, on va avoir des zones, qui sont des ensembles d'adresses IP et la zone <code>public</code> qui concerne toutes les IPs, sauf celles qui sont dans d’autres zones.</p>
<p id="bkmrk-on-va-aussi-avoir-de">On va aussi avoir des services, qui décrivent... des services&nbsp;: port et protocole (ex: <code>5666</code> et <code>tcp</code> pour nrpe).</p>
<p id="bkmrk-on-va-aussi-avoir-de-1">On va aussi avoir des «&nbsp;rich rules » dans les zones, des exceptions aux règles appliquées dans la zone.</p>
<p id="bkmrk-toute-la-configurati">Toute la configuration est dans des fichiers XML très simples à lire, c'est très agréable. Tant qu'on ne surcharge pas la configuration par défaut, les fichiers sont dans <code>/usr/lib/firewalld/</code> mais dès qu'on modifie un élément de configuration, celui-ci se retrouvera copié dans <code>/etc/firewalld/</code> et modifié.</p>
<h2 id="bkmrk-test-de-configuratio">Test de configuration</h2>
<p id="bkmrk-si-on-modifie-de-la-">Si on modifie de la configuration à la main (en écrivant dans <code>/etc/firewalld</code>, on prendra soin de tester la configuration avec les commandes suivantes&nbsp;:</p>
<p id="bkmrk-si-firewalld-est-cou">Si <code>firewalld</code> est coupé&nbsp;:</p>
<pre id="bkmrk-firewall-offline-cmd"><code class="language-bash">firewall-offline-cmd --check-config
</code></pre>
<p id="bkmrk-si-firewalld-est-lan">Si <code>firewalld</code> est lancé&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---check"><code class="language-bash">firewall-cmd --check-config
</code></pre>
<h2 id="bkmrk-attention">Attention</h2>
<p id="bkmrk-quand-on-installe-fi">Quand on installe firewalld, le firewall démarre de suite en n’autorisant en public que <code>ssh</code> (et <code>dhcpv6-client</code>).</p>
<p id="bkmrk-il-est-donc-pr%C3%A9f%C3%A9rab">Il est donc préférable de l’installer et de le couper directement après&nbsp;:</p>
<pre id="bkmrk-apt-install-firewall"><code class="language-bash">apt install firewalld &amp;&amp;
  systemctl stop firewalld
</code></pre>
<p id="bkmrk-on-pourra-cr%C3%A9er-la-c">On pourra créer la configuration tranquillement avec la commande <code>firewall-offline-cmd</code> et lancer le service une fois la configuration terminée.</p>
<h2 id="bkmrk-changements-permanen">Changements permanents</h2>
<p id="bkmrk-si-on-veut-rendre-un">Si on veut rendre un changement permanent (c-à-d qu'il soit écrit dans la config au lieu d'être juste appliqué jusqu'au redémarrage), il faut ajouter ça aux commandes&nbsp;:</p>
<pre id="bkmrk---permanent"><code>--permanent
</code></pre>
<p id="bkmrk-par-contre%2C-avec---p">Par contre, avec <code>--permanent</code>, il faut recharger la configuration pour appliquer les modifications (ou alors on applique une fois avec <code>--permanent</code> et une fois sans)&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---reloa"><code class="language-bash">firewall-cmd --reload
</code></pre>
<p id="bkmrk-%C3%80-l%E2%80%99inverse%2C-on-peut">À l’inverse, on peut créer des règles sans le <code>--permanent</code> et ensuite écrire ces règles dans la configuration permanent avec la commande suivante&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---runti"><code class="language-bash">firewall-cmd --runtime-to-permanent
</code></pre>
<p id="bkmrk-nb%C2%A0%3A-certaines-comma"><strong>NB</strong>&nbsp;: certaines commandes nécessitent forcément le <code>--permanent</code>.</p>
<h2 id="bkmrk-bloquer-une-adresse-">Bloquer une adresse IP</h2>
<p id="bkmrk-on-peut-soit-ajouter">On peut soit ajouter les adresses aux zones <code>drop</code> ou <code>block</code>&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone%3D"><code class="language-bash">firewall-cmd --zone=drop --add-source 192.0.2.0/24
firewall-cmd --zone=drop --add-source 192.0.2.0/24 --permanent
</code></pre>
<p id="bkmrk-soit-ajouter-une-ric">Soit ajouter une <code>rich-rule</code> (<code>man firewalld.richlanguage</code>) à la zone <code>public</code>&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone-"><code class="language-bash">firewall-cmd --zone public --add-rich-rule "rule family=ipv4 source address=192.0.2.0/24 reject"
firewall-cmd --zone public --add-rich-rule "rule family=ipv4 source address=192.0.2.0/24 reject" --permanent
</code></pre>
<p id="bkmrk-pour-enlever-un-bloc">Pour enlever un blocage&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--1"><code class="language-bash">firewall-cmd --zone drop   --remove-source 51.159.0.0/16
firewall-cmd --zone drop   --remove-source 51.159.0.0/16 --permanent
</code></pre>
<pre id="bkmrk-firewall-cmd---zone--2"><code class="language-bash">firewall-cmd --zone public --remove-rich-rule "rule family=ipv4 source address=51.159.0.0/16 reject"
firewall-cmd --zone public --remove-rich-rule "rule family=ipv4 source address=51.159.0.0/16 reject" --permanent
</code></pre>
<p id="bkmrk-pour-voir-les-blocag">Pour voir les blocages par <code>rich-rule</code> (la 1ère commande donne les blocages actuellement activés, l’autre ceux qui sont dans les fichiers de configuration. Il peut y avoir une différence… ou pas&nbsp;!)&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---list-"><code class="language-bash">firewall-cmd --list-rich-rules
firewall-cmd --list-rich-rules --permanent
</code></pre>
<p id="bkmrk-pour-bloquer-un-ipse">Pour bloquer un ipset (voir plus bas) :</p>
<pre id="bkmrk-firewall-cmd---zone%3D-1"><code class="language-bash">firewall-cmd --zone=drop --add-source ipset:le_nom_de_l_ipset
firewall-cmd --zone=drop --add-source ipset:le_nom_de_l_ipset --permanent
</code></pre>
<h2 id="bkmrk-zones">Zones</h2>
<p id="bkmrk-voir-les-zones-dispo">Voir les zones disponibles&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---get-z"><code class="language-bash">firewall-cmd --get-zones
</code></pre>
<p id="bkmrk-nb%C2%A0%3A-la-zone-public%2C">NB&nbsp;: la zone <code>public</code>, par défaut, n'autorise que le SSH et dhcpv6-client. L'installation de firewalld sur une machine va donc couper l'accès aux services. Il faut donc stopper firewalld juste après son installation, regarder les ports utilisés sur la machine et modifier la zone <code>public</code> soit en copiant <code>/usr/lib/firewalld/zones/public.xml</code> dans <code>/etc/firewalld/zones/</code>, soit en préparant une ligne de commande à lancer juste après le démarrage de firewalld.</p>
<p id="bkmrk-nb%C2%A0%3A-les-zones-peuve">NB&nbsp;: les zones peuvent avoir une <code>target</code>, l'action à appliquer aux connexions qui correspondent à la zone. Voir <a href="https://firewalld.org/documentation/zone/options.html">la
doc</a>.</p>
<p id="bkmrk-nb%C2%A0%3A-une-adresse-ip-">NB&nbsp;: Une adresse IP ne peut se trouver que dans une seule zone mais on peut ajouter dans une zone un réseau qui contient une adresse IP déjà présente dans une autre zone. Cependant, le comportement peut ne pas être celui attendu. Il vaut mieux ajouter une <code>rich-rule</code> à la zone pour faire une exception aux règles de la zone.</p>
<p id="bkmrk-voir-la-zone-par-d%C3%A9f">Voir la zone par défaut (celle sur laquelle s'appliqueront les modifications si on ne spécifie pas la zone)&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---get-d"><code class="language-bash">firewall-cmd --get-default-zone
</code></pre>
<p id="bkmrk-d%C3%A9finir-la-zone-par-">Définir la zone par défaut&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---set-d"><code class="language-bash">firewall-cmd --set-default-zone work
</code></pre>
<p id="bkmrk-voir-la-configuratio">Voir la configuration de la zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---info-"><code class="language-bash">firewall-cmd --info-zone lazone
</code></pre>
<p id="bkmrk-voir-la-configuratio-1">Voir la configuration de toutes les zones&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---list--1"><code class="language-bash">firewall-cmd --list-all-zones
</code></pre>
<p id="bkmrk-cr%C3%A9er-une-zone%C2%A0%3A">Créer une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma"><code class="language-bash">firewall-cmd --permanent --new-zone mazone
firewall-cmd --reload
</code></pre>
<p id="bkmrk-supprimer-une-zone%C2%A0%3A">Supprimer une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-1"><code class="language-bash">firewall-cmd --permanent --delete-zone mazone
firewall-cmd --reload
</code></pre>
<p id="bkmrk-chaque-interface-du-">Chaque interface du système peut être attribuée à une zone. Pour ajouter l’interface ens192 à la zone work en l’enlevant de sa précédente zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---chang"><code class="language-bash">firewall-cmd --change-interface ens192 --zone work [--permanent]
</code></pre>
<p id="bkmrk-pour-retirer-l%E2%80%99inter">Pour retirer l’interface ens192 de la zone work :</p>
<pre id="bkmrk-firewall-cmd---remov"><code class="language-bash">firewall-cmd --remove-interface ens192 --zone work [--permanent]
</code></pre>
<p id="bkmrk-pour-ajouter-l%E2%80%99inter">Pour ajouter l’interface ens192 à la zone work (interface qui ne soit pas être affectée à une zone) :</p>
<pre id="bkmrk-firewall-cmd---add-i"><code class="language-bash">firewall-cmd --add-interface ens192 --zone work [--permanent]
</code></pre>
<p id="bkmrk-ajouter-des-adresses">Ajouter des adresses IP ou un réseau à une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--3"><code class="language-bash">firewall-cmd --zone work --add-source 192.0.2.0/24 [--permanent]
firewall-cmd --zone work --add-source 192.0.2.200 [--permanent]
</code></pre>
<p id="bkmrk-retirer-des-adresses">Retirer des adresses IP ou un réseau d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--4"><code class="language-bash">firewall-cmd --zone work --remove-source 192.0.2.0/24 [--permanent]
firewall-cmd --zone work --remove-source 192.0.2.200 [--permanent]
</code></pre>
<p id="bkmrk-pour-basculer-une-ad">Pour basculer une adresse IP ou un réseau d'une zone à une autre&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--5"><code class="language-bash">firewall-cmd --zone l_autre_zone --change-source 192.0.2.0/24 [--permanent]
firewall-cmd --zone l_autre_zone --change-source 192.0.2.200 [--permanent]
</code></pre>
<p id="bkmrk-si-l%27adresse-ip-%2F-le">Si l'adresse IP / le réseau était dans une autre zone, ça équivaut à un <code>--remove-source</code> suivi d'un <code>--add-source</code>, si ce n'était pas le cas, ça fait juste comme un <code>--add-source</code>.</p>
<p id="bkmrk-voir-la-target-d%27une">Voir la <code>target</code> d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-2"><code class="language-bash">firewall-cmd --permanent --get-target --zone drop
</code></pre>
<p id="bkmrk-d%C3%A9finir-la-target-d%27">Définir la <code>target</code> d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-3"><code class="language-bash">firewall-cmd --permanent --set-target [default|ACCEPT|DROP|REJECT] --zone drop
</code></pre>
<p id="bkmrk-pour-voir-dans-quell">Pour voir dans quelle zone est une adresse IP&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---get-z-1"><code class="language-bash">firewall-cmd --get-zone-of-source=&lt;adresse IP ou réseau en notation CIDR ou adresse MAC ou ipset&gt;
</code></pre>
<p id="bkmrk-si-%C3%A7a-r%C3%A9pond-no-zone">Si ça répond <code>no zone</code>, c’est que l’IP ou le réseau n’est pas explicitement associé à une zone.<br>
<strong>Attention</strong> : si un réseau est enregistré dans une zone, lancer la commande sur une IP du réseau ne renverra pas la zone en question !</p>
<h2 id="bkmrk-services">Services</h2>
<p id="bkmrk-voir-les-services-ex">Voir les services existants&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---get-s"><code class="language-bash">firewall-cmd --get-services
</code></pre>
<p id="bkmrk-voir-le-d%C3%A9tail-d%27un-">Voir le détail d'un service :</p>
<pre id="bkmrk-firewall-cmd---info--1"><code class="language-bash">firewall-cmd --info-service ssh
</code></pre>
<p id="bkmrk-cr%C3%A9er-un-nouveau-ser">Créer un nouveau service&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-4"><code class="language-bash">firewall-cmd --permanent --new-service influxdb
firewall-cmd --permanent --service influxdb --set-description InfluxDB
firewall-cmd --permanent --service influxdb --add-port 8086/tcp
</code></pre>
<p id="bkmrk-ajouter-un-service-%C3%A0">Ajouter un service à une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--6"><code class="language-bash">firewall-cmd --zone public --add-service nrpe [--permanent]
</code></pre>
<p id="bkmrk-retirer-un-service-d">Retirer un service d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--7"><code class="language-bash">firewall-cmd --zone public --remove-service nrpe [--permanent]
</code></pre>
<p id="bkmrk-voir-les-services-d%27">Voir les services d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---list--2"><code class="language-bash">firewall-cmd --list-services --zone work
</code></pre>
<p id="bkmrk-si-on-ne-souhaite-pa">Si on ne souhaite pas créer de service mais autoriser un certain port et protocole, on peut les ajouter directement à la zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--8"><code class="language-bash">firewall-cmd --zone work --add-port 1234/udp [--permanent]
</code></pre>
<p id="bkmrk-et-pour-les-supprime">Et pour les supprimer&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--9"><code class="language-bash">firewall-cmd --zone work --remove-port 1234/udp [--permanent]
</code></pre>
<p id="bkmrk-pour-voir-les-ports%2F">Pour voir les ports/protocoles d'une zone (ça ne listera pas les services&nbsp;!) :</p>
<pre id="bkmrk-firewall-cmd---list--3"><code class="language-bash">firewall-cmd --list-ports --zone work
</code></pre>
<h2 id="bkmrk-ipset%C2%A0%3A-groupes-d%27ad">IPSet&nbsp;: groupes d'adresses</h2>
<p id="bkmrk-doc%C2%A0%3A-https%3A%2F%2Faccess">Doc&nbsp;: <a href="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-setting_and_controlling_ip_sets_using_firewalld">https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-setting_and_controlling_ip_sets_using_firewalld</a></p>
<p id="bkmrk-cas-d%27usage%C2%A0%3A-on-voi">Cas d'usage&nbsp;: on voit plein de spammeurs venant du VPN d'Avast. On fait un <code>whois</code>, on voit le numéro d'<a href="https://fr.wikipedia.org/wiki/Autonomous_System">AS</a> des serveurs d'Avast, on va sur <a href="https://asnlookup.com/">https://asnlookup.com/</a> pour choper leur liste
d'adresses IP et on en fait un ipset pour les bloquer.</p>
<p id="bkmrk-nb%C2%A0%3A-un-ipset-ne-peu">NB&nbsp;: un ipset ne peut contenir qu'un type d'adresses, IPv4 ou IPv6, pas les deux.</p>
<p id="bkmrk-nb%C2%A0%3A-fail2ban%2C-lorsq">NB&nbsp;: <a href="/kb/securite/fail2ban">Fail2ban</a>, lorsqu'il utilise firewalld, utilise des ipset, mais à un niveau un peu plus bas (nftables). Ces ipset ne sont pas vus par firewalld. On peut voir tous les ipset, même bas niveau avec la commande <code>ipset list -name</code> (<code>ipset list le_nom_de_l_ipset</code> pour voir les adresses et le détail de l'ipset).</p>
<p id="bkmrk-un-ipset-sert-%C3%A0-regr">Un ipset sert à regrouper des adresses pour leur appliquer des règles facilement.</p>
<p id="bkmrk-voir-les-types-d%27ips">Voir les types d'ipset disponibles&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---get-i"><code class="language-bash">firewall-cmd --get-ipset-types
</code></pre>
<p id="bkmrk-voir-les-ipsets-exis">Voir les ipsets existants&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-5"><code class="language-bash">firewall-cmd --permanent --get-ipsets
</code></pre>
<p id="bkmrk-cr%C3%A9er-un-ipset%C2%A0%3A">Créer un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-6"><code class="language-bash">firewall-cmd --permanent --type hash:net --new-ipset test
</code></pre>
<p id="bkmrk-pour-un-ipset-ipv6%C2%A0%3A">Pour un ipset IPv6&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-7"><code class="language-bash">firewall-cmd --permanent --type hash:net --option "family=inet6" --new-ipset test-v6
</code></pre>
<p id="bkmrk-supprimer-un-ipset%C2%A0%3A">Supprimer un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---perma-8"><code class="language-bash">firewall-cmd --permanent --delete-ipset test
</code></pre>
<p id="bkmrk-voir-les-infos-d%27un-">Voir les infos d'un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---info--2"><code class="language-bash">firewall-cmd --info-ipset test [--permanent]
</code></pre>
<p id="bkmrk-ajouter-une-adresse-">Ajouter une adresse IP à un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---ipset"><code class="language-bash">firewall-cmd --ipset test --add-entry 192.0.2.1 [--permanent]
</code></pre>
<p id="bkmrk-supprimer-une-adress">Supprimer une adresse IP d'un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---ipset-1"><code class="language-bash">firewall-cmd --ipset test --remove-entry 192.0.2.1 [--permanent]
</code></pre>
<p id="bkmrk-voir-les-adresses-ip">Voir les adresses IP d'un ipset&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---ipset-2"><code class="language-bash">firewall-cmd --ipset test --get-entries [--permanent]
</code></pre>
<p id="bkmrk-ajouter-un-paquet-d%27">Ajouter un paquet d'IP d'après un fichier&nbsp;:</p>
<pre id="bkmrk-cat-%3E-iplist.txt-%3C%3Ce"><code class="language-bash">cat &gt; iplist.txt &lt;&lt;EOL
192.0.2.2
192.0.2.3
198.51.100.0/24
203.0.113.254
EOL
firewall-cmd --ipset test --add-entries-from-file iplist.txt [--permanent]
</code></pre>
<p id="bkmrk-supprimer-un-paquet-">Supprimer un paquet d'IP d'après un fichier&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---ipset-3"><code class="language-bash">firewall-cmd --ipset test --remove-entries-from-file iplist.txt [--permanent]
</code></pre>
<p id="bkmrk-ajouter-un-ipset-dan">Ajouter un ipset dans une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--10"><code class="language-bash">firewall-cmd --zone drop --add-source ipset:test [--permanent]
</code></pre>
<p id="bkmrk-supprimer-un-ipset-d">Supprimer un ipset d'une zone&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--11"><code class="language-bash">firewall-cmd --zone drop --remove-source ipset:test [--permanent]
</code></pre>
<h2 id="bkmrk-cr%C3%A9er-des-exceptions">Créer des exceptions avec des règles riches</h2>
<p id="bkmrk-cas-classique%C2%A0%3A-on-b">Cas classique&nbsp;: on <a href="#blocage_geoip">bloque un pays</a> avec des ipset et quelqu'un a besoin d'accéder à nos services depuis là-bas.</p>
<p id="bkmrk-l%27ipset-est-dans-la-">L'ipset est dans la zone <code>drop</code>. On va ajouter une <code>rich-rule</code> pour faire une exception&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--12"><code class="language-bash">firewall-cmd --zone drop             --add-rich-rule='rule family="ipv4" source address="192.0.2.29" port port="443" protocol="tcp" accept'
firewall-cmd --zone drop             --add-rich-rule='rule family="ipv4" source address="192.0.2.29" port port="80" protocol="tcp" accept'
firewall-cmd --zone drop --permanent --add-rich-rule='rule family="ipv4" source address="192.0.2.29" port port="443" protocol="tcp" accept'
firewall-cmd --zone drop --permanent --add-rich-rule='rule family="ipv4" source address="192.0.2.29" port port="80" protocol="tcp" accept'
</code></pre>
<p id="bkmrk-pour-supprimer-l%27exc">Pour supprimer l'exception&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--13"><code class="language-bash">firewall-cmd --zone drop             --remove-rich-rule 'rule family="ipv4" source address="192.0.2.29" port port="80" protocol="tcp" accept'
firewall-cmd --zone drop             --remove-rich-rule 'rule family="ipv4" source address="192.0.2.29" port port="443" protocol="tcp" accept'
firewall-cmd --zone drop --permanent --remove-rich-rule 'rule family="ipv4" source address="192.0.2.29" port port="80" protocol="tcp" accept'
firewall-cmd --zone drop --permanent --remove-rich-rule 'rule family="ipv4" source address="192.0.2.29" port port="443" protocol="tcp" accept'
</code></pre>
<p id="bkmrk-on-peut-utiliser-des">On peut utiliser des services dans les règles riches&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--14"><code class="language-bash">firewall-cmd --zone drop --add-rich-rule='rule family="ipv4" source address="192.0.2.29" service name=https accept'
</code></pre>
<p id="bkmrk-on-peut-utiliser-des-1">On peut utiliser des ipset dans les règles riches&nbsp;:</p>
<pre id="bkmrk-firewall-cmd---zone--15"><code class="language-bash">firewall-cmd --zone drop --add-rich-rule='rule family="ipv4" source ipset="test-v6" service name=https accept'
</code></pre>
<p id="bkmrk-nb%C2%A0%3A-ajouter-l%27adres"><strong>NB</strong>&nbsp;: ajouter l'adresse IP en source dans la zone <code>public</code> ne servirait strictement à rien.</p>
<h2 id="bkmrk-blocage-geoip">Blocage geoIP</h2>
<p id="bkmrk-on-peut-se-baser-sur">On peut se baser sur le script de <a href="https://github.com/simonbouchard/geoip-blocking-w-firewalld">https://github.com/simonbouchard/geoip-blocking-w-firewalld</a> (le <a href="https://github.com/framasoft/geoip-blocking-w-firewalld/tree/force-lowercase-for-curl">fork</a> de Framasoft).</p>
<p id="bkmrk-on-modifie-les-pays-">On modifie les pays à bloquer dans <code>/etc/default/firewalld-geoip</code> et on lance le script. À mettre dans un cron pour mettre à jour les adresses.</p>
<h2 id="bkmrk-faire-du-nat">Faire du NAT</h2>
<p id="bkmrk-voir-la-partie-netwo">Voir la partie <code>Network Address Translation (NAT)</code> de <a href="https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/">https://www.rootusers.com/how-to-use-firewalld-rich-rules-and-zones-for-filtering-and-nat/</a>. Je n’ai pas eu l’occasion de tester ça.</p>
]]></content:encoded>
            <pubDate>Wed, 22 May 2024 14:54:21 +0200</pubDate>
            <guid>https://wiki.fiat-tux.fr/books/administration-syst%C3%A8mes/page/firewalld-un-firewall-simple-a-utiliser#171</guid>
        </item>
         </channel>
</rss>
