Blog de Creeper2023-12-24T13:02:58+00:00https://creeper.frTristanadmin@creeper.frRégler correctement les ventilateurs d'un serveur Dell2023-05-05T00:00:00+00:00https://creeper.fr/2023/05/05/DellFans<p>Hello !</p>
<p>J’ai chez moi, depuis un certain temps maintenant, plusieurs serveurs Dell. C’est super, on peut installer plein de choses dessus, mais ça fais aussi <strong>beaucoup de bruit</strong>.
Au début je bidouillais avec l’IPMI la vitesse des ventilateurs dynamiquement en fonction de la température des cœurs du processeur, mais cette solution n’est pas forcément viable car elle ne passe pas nativement sur tous les systèmes d’exploitation.</p>
<p>Après avoir longuement cherché sur internet et effectué plusieurs tests, je peux maintenant vous recommander un <strong>simple réglage dans le BIOS</strong> pour pouvoir <strong>en finir avec les ventilateurs à fond</strong> !</p>
<p>Il est <strong>important</strong> que le <strong>serveur soit fermé</strong> tout au long de son fonctionnement, si l’<strong>iDRAC est en Orange</strong> pour un <strong>problème</strong> d’ouverture ou d’alimentation, il peut augmenter la vitesse des ventilateurs (pour alerter l’utilisateur).</p>
<p><em>Dans cet article, je vais montrer la démarche sur un r440 plutôt récent, mais elle fonctionne également sur mon t620 d’une génération beaucoup plus antérieure.</em></p>
<h3 id="depuis-le-serveur-">Depuis le serveur :</h3>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980601444405289/firefox_K6KeHu3H9E.png" alt="" /></p>
<ol>
<li>Tout d’abord, se rendre dans le bios avec “<strong>F11</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980620780146764/firefox_AisgrucG93.png" alt="" /></p>
<ol>
<li>Ensuite, aller dans “<strong>Launch System Setup</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980662366687242/firefox_nqaCpQDWh0.png" alt="" /></p>
<ol>
<li>Aller dans “<strong>iDRAC Settings</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980696894197850/firefox_wnvL95hlYc.png" alt="" /></p>
<ol>
<li>Descendre et aller dans “<strong>Thermal</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980797800755260/firefox_wccCgAtrYO.png" alt="" /></p>
<ol>
<li>Passer le “<strong>Thermal Profile</strong>” en “<strong>Minimum Power</strong>” (pour que les ventilateurs tournent au <strong>strict minimum</strong>)</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980850674155621/firefox_JATlqm1mn8.png" alt="" /></p>
<p>Et voilà ! Vous pouvez sauvegarder, et après un redémarrage <strong>votre serveur devrait-être bien plus silencieux</strong> !
Je précise qu’il est <strong>nécessaire</strong> que le serveur <strong>démarre sur un OS</strong> <strong>pour qu’il arrête de ventiler</strong> en mode Boot. Une fois un OS chargé, les ventilateurs devraient redescendre tout doucement….</p>
<h3 id="bonus-">Bonus !</h3>
<p>Pour <strong>réduire la consommation énergétique</strong> du serveur j’ai également fait d’autres tests.
Il est possible de gérer plusieurs <strong>profils de performance</strong> depuis le BIOS, voici comment s’y rendre :</p>
<ol>
<li>Toujours depuis le BIOS (<strong>F11</strong>) et dans la rubrique “<strong>System Setup</strong>”, rendez-vous dans “<strong>System BIOS</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980927585099816/firefox_7QZgDB7TZn.png" alt="" /></p>
<ol>
<li>Puis tout en bas dans “<strong>System Profile Settings</strong>”</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103980964872474664/firefox_T4AriQ6tu6.png" alt="" /></p>
<ol>
<li>Il est possible de choisir plusieurs System Profiles….</li>
</ol>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1103981001480347709/firefox_Mc491EJx9q.png" alt="" /></p>
<p>Je recommande d’utiliser “<strong>Performance Per Watt (OS)</strong>” car il délègue une partie de la gestion de l’alimentation à l’OS.</p>
<p>Dans le cas où vous installez <strong>Windows Serve</strong>r, n’oubliez pas d’<strong>installer les pilotes Dell</strong> afin que l’OS puisse <strong>bien gérer l’alimentation</strong>.
Si vous installez un <strong>hyperviseur</strong> comme <strong>Proxmox</strong>/<strong>ESXi</strong>/<strong>Xen</strong> l’hyperviseur est <strong>déjà habitué à gérer l’alimentation</strong> d’un serveur et ne requiert <strong>aucune commande supplémentaires</strong>.</p>
<p>J’espère que cet article vous aura été utile !</p>
Télécharger des .dlc avec JDownloader2022-10-15T00:00:00+00:00https://creeper.fr/2022/10/15/JDownloader2<h1 id="1---installer-jdownloader2">1 - Installer JDownloader2</h1>
<p>Il est nécessaire d’avoir au préalable le logiciel d’installé sur l’ordinateur.
Pour ne pas avoir à installer des logiciels trop douteux, il est préférable d’utiliser le lien suivant : <a href="https://jdownloader.org/jdownloader2">JDownloader Ad-Free</a></p>
<p>Puis de télécharger la version avec le <strong>java le plus récent</strong> :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030854519598354472/firefox_JECZehOnqk.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030854865850728559/firefox_8cb15OvL9H.png" alt="" /></p>
<p>Lors de l’installation, une demande de don peut s’ouvrir, vous pouvez la fermer et faire suivant, suivant, suivant … en toute confiance.</p>
<h1 id="2---configuration-du-logiciel">2 - Configuration du Logiciel</h1>
<p>Une fois le logiciel installé, ouvrez-le</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030855671341645844/Typora_AhRja5cYa6.png" alt="" /></p>
<p>Puis tout en haut, section paramètres, augmentez le nombre de morceaux et téléchargement simultanés à 1 et 4.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030859577169809408/JDownloader2_qFiF7ZbPK5.png" alt="" /></p>
<p>Nous devrions pouvoir commencer à télécharger.
Si besoin, il est possible de modifier le dossier de téléchargement dans la section “Paramètres”, puis “Répertoire de Téléchargement”</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030856316178141264/JDownloader2_nOd1JPRYPC.png" alt="" /></p>
<h1 id="3---télécharger-un-dlc">3 - Télécharger un .DLC</h1>
<p>Télécharger le fichier .dlc qui vous a été envoyé, puis lancez-le.
La recherche de liens devrait débuter, et votre paquet apparaître dans le “Collecteur de liens”</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030856515042684969/j7pEgFp8ie.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030856802499301447/JDownloader2_lR2luu1HuF.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030857005176471623/JDownloader2_qGkaA7eLTs.png" alt="" /></p>
<p>Pour lancer le téléchargement de tous les fichiers, faire clique-droit sur le paquet puis “Démarrer les téléchargements”</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030857476502982847/firefox_klA32EqUWu.png" alt="" /></p>
<p>Les téléchargements devraient débuter</p>
<p><img src="JDownloader2_bWQPS7nZKH.png" alt="" /></p>
<p>Et devrait arriver dans le dossier téléchargement de l’ordinateur.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1030860045308678225/explorer_o4sWT7QmVc.png" alt="" /></p>
<h1 id="4---on-peut-télécharger-beaucoup-plus-que-des-dlc">4 - On peut télécharger beaucoup plus que des DLC</h1>
<p>Il est possible de télécharger des fichiers de n’importe quel hébergeur de fichier (1fichier.com,uptobox,zippyshare et j’en passe…)
Ou bien télécharger des vidéos/musiques Youtube en qualité voulue (sans pubs douteuses)</p>
<p>Pour ce faire, copiez le lien de téléchargement du fichier que vous souhaitez, il devrait apparaitre dans la section “Collecteur de Liens” automatiquement dans JDownloader (il faut que jd soit lancé au préalable).</p>
Réparer la Beta Gratuite de Typora2022-07-31T00:00:00+00:00https://creeper.fr/2022/07/31/Typora<p>Liens de téléchargements de la dernière version Beta :</p>
<p><a href="https://cdn.discordapp.com/attachments/966068954986606643/966069056308404314/typora-update-x64-1117.exe">Windows x64</a>
<a href="https://cdn.discordapp.com/attachments/966068954986606643/966069034581905468/typora-update-ia32-1117.exe">Windows x86</a></p>
<p>Hello !</p>
<p>Typora est un super logiciel, et je l’utilise actuellement pour écrire mes documentations.
Il était gratuit en phase de bêta, puis est devenu payant une fois la version finale sortie.</p>
<p>Je trouve qu’il vaut son prix et je l’ai acheté, cependant beaucoup de personnes souhaitent continuer à l’utiliser gratuitement ou bien l’essayer mais Typora viens de désactiver récemment l’ancienne version beta.</p>
<p>L’erreur suivante s’affiche :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1003398937450905720/vmware_MrnptqreYZ.png" alt="" /></p>
<p><strong>“This beta version of Typora is expired, please download and install a newer version.”</strong></p>
<p>Pour réparer notre Typora encore fonctionnel, il faut modifier un peu le registre !</p>
<p>Ouvrez <code class="language-plaintext highlighter-rouge">regedit</code>, puis rendez vous dans <code class="language-plaintext highlighter-rouge">Ordinateur\HKEY_CURRENT_USER\SOFTWARE\Typora</code></p>
<p>Puis faire clic droit, Autorisations sur la clé Typora</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1003399714206650518/zoYkUgVT3u.png" alt="" /></p>
<p>Puis passer tout les utilisateurs un par un en tout Refusé</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1003400039655276544/vmware_17CYttRBHF.png" alt="" /></p>
<p>Préciser oui lors de l’avertissement</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1003400118252359830/vmware_Iojb12LPsG.png" alt="" /></p>
<p>Une fois tout validé, il devrait normalement être possible de lancer Typora !</p>
<p><strong>Ne faites surtout pas les mises à jour ! Et décochez la vérification des mises à jour automatique ;)</strong></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1003400389158240276/vmware_BUSeUkmKE6.png" alt="" /></p>
Faire du PCI Passtrough sur ESXI 7.02022-05-29T00:00:00+00:00https://creeper.fr/2022/05/29/ESXi-PCI-Passtrough<p>Hello !</p>
<p>J’ai récemment fait du PCI Passtrough sur mon serveur pour jouer dessus via Parsec.
Il est nécessaire d’ajouter les arguments suivants à la configuration de la VM pour bien faire marcher les GPU NVIDIA :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>hypervisor.cpuid.v0 = FALSE
</code></pre></div></div>
<p>Il faut rajouter ces arguments dans les paramètres de la Machine Virtuelle :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919458906198036/firefox_SQmpH7euze.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919376551034930/firefox_BKR927lYtN.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919272762970174/firefox_nfWxg5PCEp.png" alt="" /></p>
Spoof une machine virtuelle ESXI 82022-05-29T00:00:00+00:00https://creeper.fr/2022/05/29/ESXi-Hide-Virtualisation<p>Hello !</p>
<p>Après avoir fait du PCI Passtrough, j’ai certains jeux qui sont bloqués car l’Anti-Cheat n’apprécie pas trop les machines virtuelles.
Heureusement, je ne suis pas un tricheur, et j’ai trouvé quelques arguments afin de faire sauter ce blocage :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>monitor_control.disable_directexec = "true"
monitor_control.disable_chksimd = "true"
monitor_control.disable_ntreloc = "true"
monitor_control.disable_selfmod = "true"
monitor_control.disable_reloc = "true"
monitor_control.disable_btinout = "true"
monitor_control.disable_btmemspace = "true"
monitor_control.disable_btpriv = "true"
monitor_control.disable_btseg = "true"
</code></pre></div></div>
<p>et</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>SMBIOS.reflectHost = TRUE
</code></pre></div></div>
<p>Il faut rajouter ces arguments dans les paramètres de la Machine Virtuelle :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919458906198036/firefox_SQmpH7euze.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919376551034930/firefox_BKR927lYtN.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094919272762970174/firefox_nfWxg5PCEp.png" alt="" /></p>
<p>Normalement vous devriez pouvoir lancer n’importe quel jeu désormais !</p>
Désactiver la compression de repos Git2022-05-29T00:00:00+00:00https://creeper.fr/2022/05/29/Disable-Git-Compression<p>Hello !</p>
<p>Je touche beaucoup à GitHub en ce moment, et je rencontre beaucoup de soucis avec les gros fichiers.
Le fait qu’ils doivent être compressés avant d’être upload ralentis clairement mon workflow.</p>
<p>Voici une commande simple pour désactiver globalement la compression d’assets de votre client git :
(Il faut la faire dans le dossier du projet Git)</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git config core.compression 0
</code></pre></div></div>
<p>Si vous envoyez des fichiers sur GitHub qui ne peuvent pas être compressés, il ne prendra pas 4h et toutes les ressources de votre ordinateur avant de faire le push 😊</p>
Avoir des IPV4/IPV6 chez soi (HMS + WireGuard)2022-01-05T00:00:00+00:00https://creeper.fr/2022/01/05/OVH<p>J’ai <strong>serveur</strong> chez moi sur lequel j’ai installé <strong><a href="https://customerconnect.vmware.com/fr/web/vmware/evalcenter?p=free-esxi8">ESXi</a></strong>, un <strong>hyperviseur</strong> qui me permet de <strong>créer plein de machines virtuelles</strong>. Dans ces machines virtuelles <strong>j’héberge divers services</strong> pour moi et pour d’autres.</p>
<p>Seulement, avec <strong>une seule IP</strong> (résidentielle), je suis <strong>vite limité</strong> par le <strong>nombre de ports</strong> à ma disposition et le <strong>nombre de services</strong> que je souhaite faire tourner dans les <strong>meilleures conditions</strong>.</p>
<p>J’ai donc donc cherché <strong>un moyen d’avoir des IP chez moi</strong>, <strong>dédiées</strong>, <strong>protégées</strong> par un <strong>Anti-DDOS</strong> et <strong>peu cher</strong>. Je n’avais jusqu’ici pas trouvé de résultat convenable, qui fonctionne bien, qui est modulaire, j’ai donc décidé d’en <strong>créer un</strong>.</p>
<p><em>Je précise que je ne suis pas un expert réseau, pour certaines personnes cette technique peut sembler sale ou incomplète, mais pour mon utilité elle semble parfaite.</em> <em>De plus, ce tuto est une seconde version grâce à la contribution de beaucoup de personnes qui m’ont aidé à avoir un résultat très qualitatif et stable, ils sont mentionnés à la fin de cet article.</em></p>
<h2 id="1---les-pré-requis">1 - Les pré-requis</h2>
<ul>
<li>Un VPS <strong><a href="https://www.hostmyservers.fr/">HMS</a></strong></li>
<li><strong>1 ou plusieurs IP Additionnelles</strong> (Ce sont les IPs supplémentaires que nous utiliserons sur nos différents clients)</li>
<li><strong>Debian 11 ≥</strong> (Du moment qu’on a un <strong>Kernel Linux 5.10≥</strong>, qui supporte <strong>nativement</strong> <strong>WireGuard</strong>)</li>
</ul>
<p><strong><em>Justifications :</em></strong></p>
<ul>
<li>
<p><strong>Aujourd’hui</strong>, j’utilise <strong><a href="https://www.hostmyservers.fr/">HostMyServers</a></strong>, un hébergeur français 🇫🇷. C’est le seul autre host que je connaisse qui <strong>propose des ipv4 à tarifs “à vie”</strong>. Il propose lui aussi un <strong>Anti-DDOS</strong> correct, et existe depuis un <a href="https://www.societe.com/societe/hostmyservers-842789000.html"><strong>certain temps</strong></a>.</p>
</li>
<li><strong>J’ai choisi <a href="https://www.wireguard.com/">WireGuard</a></strong> pour notre <strong>tunnel</strong>, un <strong>protocole VPN</strong> qui utilise de <strong>l’UDP</strong>. Il est <strong>compatible</strong> avec <strong>énormément de plateformes</strong>, est <strong>extrêmement léger</strong>, très <strong>facile à déployer</strong> et beaucoup plus <strong>performant</strong> que ses concurrents, tout en restant <strong>sécurisé</strong>. C’est un petit <strong>nouveau</strong> qui viens d’arriver dans le domaine de l’<strong>open-source</strong> et qui as fait ses preuves chez moi ces deux dernières années.</li>
<li><strong>La qualité de l’interconnexion dépendra de votre réseau</strong>, WireGuard <strong>ne nécessite pas une bonne connexion internet</strong>, et <strong>ne réduira pas votre débit</strong>. Cependant, vous devrez rajouter le <strong>ping</strong> entre vous → HMS et HMS → vous.</li>
</ul>
<p><img src="https://korben.info/app/uploads/2020/02/bench.png" alt="" /></p>
<h4 id="-pour-la-suite-de-ce-guide-il-est-nécessaire-que-vous-utilisiez-debian-12-"><strong>⚠ Pour la suite de ce guide, il est nécessaire que vous utilisiez Debian 12> ⚠</strong></h4>
<h4 id="voici-la-grille-tarifaire-dhms-au-29122022--vps-ssd-nvme"><strong>Voici la grille tarifaire d’HMS (au 29/12/2022) :</strong> (VPS SSD NVME)</h4>
<table>
<thead>
<tr>
<th>Modèle</th>
<th>SSD-1</th>
<th>SSD-2</th>
<th>SSD-4</th>
<th>SSD-8</th>
<th>SSD-12</th>
<th>SSD-12’</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Prix mensuel sans engagement (TTC)</em></td>
<td>2,99€</td>
<td>5,99€</td>
<td>9,99€</td>
<td>19,99€</td>
<td>29,99€</td>
<td>39,99€</td>
</tr>
<tr>
<td><em>Bande passante</em></td>
<td>250 Mbit/s</td>
<td>500 Mbit/s</td>
<td>800Mbit/s</td>
<td>1 Gbit/s</td>
<td>2 Gbit/s</td>
<td>3 Gbit/s</td>
</tr>
<tr>
<td><em>vCore(s)</em></td>
<td>1</td>
<td>2</td>
<td>4</td>
<td>8</td>
<td>12</td>
<td>12</td>
</tr>
<tr>
<td><em>Mémoire RAM</em></td>
<td>2 Go</td>
<td>4 Go</td>
<td>8 Go</td>
<td>16 Go</td>
<td>24 Go</td>
<td>32 Go</td>
</tr>
<tr>
<td><em>Stockage SSD</em></td>
<td>20 Go</td>
<td>40 Go</td>
<td>60 Go</td>
<td>120 Go</td>
<td>160 Go</td>
<td>200 Go</td>
</tr>
</tbody>
</table>
<p>Ces offres ne disposent <strong>pas de limites d’IP Failover</strong>, vous pouvez en prendre <strong>autant que vous le souhaitez</strong>. Elles <strong>coûtent 1,99€ à vie</strong>.</p>
<p><strong>Pour commander une IP Additionnelle</strong>, il faut qu’<strong>une fois le VPS Livré</strong>, vous vous rendez dans l’<strong>Espace Client</strong> (<strong>Votre VPS → Configuration → Commander une Nouvelle IP</strong>), une fois la commande passée, un <strong>mail de confirmation</strong> vous <strong>sera envoyé</strong>.</p>
<p>À l’heure où j’écris cette documentation <strong>les débits ne semblent pas bridés côté VPS</strong>. Le <strong>débit indiqué</strong> sur les offres commercialisées sont simplement <strong>une garantie</strong>.</p>
<h4 id="avertissementsconseils-">Avertissements/Conseils :</h4>
<ul>
<li><strong>Ne commandez pas de manière abusive des adresses IPV4</strong>, il n’y en a presque plus aujourd’hui. <strong>Préférez plutôt</strong> l’usage de <strong>l’IPV6</strong> qui (à l’heure actuelle) ne souffre pas encore de pénuries.</li>
<li><strong>WireGuard</strong> est un <strong>protocole</strong> qui rajoute une couche de <strong>chiffrement</strong>, cela demande de la <strong>puissance de calcul</strong> supplémentaire pour le VPS.
Si <strong>vous souhaitez</strong> utiliser <strong>250Mbps</strong>, <strong>1 coeur</strong> devrait suffir
Si <strong>vous souhaitez</strong> utiliser <strong>500Mbps</strong>, je vous recommande <strong>2 coeurs</strong>
Si <strong>vous souhaitez</strong> utiliser <strong>1Gbps+</strong>, je vous recommande <strong>4 cœurs</strong> serait nécessaire au minimum.
Ce <strong>soucis</strong> est <strong>lié</strong> directement au <strong>chiffrement</strong>, <strong>en cas de speedtest</strong> <strong>sur le VPS</strong> en lui-même, <strong>vous verrez bien les débits annoncés</strong>.</li>
<li><strong>L’anti-DDOS</strong> <strong>peut se déclencher</strong> en cas de <strong>fort traffic sur votre tunnel</strong> WireGuard.
WireGuard utilisant l’<strong>UDP</strong>, il sera probablement <strong>filtré</strong> ou <strong>très mal mitigé</strong>, pouvant avoir un <strong>impact sur la qualité de votre tunnel</strong>.
<strong>Pour éviter ce genre de soucis je vous recommande vous limiter à une offre inférieure ou égale à 500Mbps.</strong></li>
</ul>
<h2 id="3---installons-notre-vps">3 - Installons notre VPS</h2>
<p>⚠ Il est important d’avoir (au moins) une IP Additionnelle commandée et livrée pour la suite du tutoriel. ⚠</p>
<p><strong>Connectez-vous en SSH</strong> à votre VPS via les <strong>identifiants</strong> qui vous ont été <strong>transmis par mail</strong> ou que vous avez rentré lors de la <strong>première installation</strong>.</p>
<h3 id="31--préparation-du-réseau-">3.1 ⚠⚠⚠⚠ Préparation du réseau ⚠⚠⚠⚠</h3>
<p><strong>Récemment</strong>, les images des VPS Debian <strong>ont changé</strong>, et utilisent désormais <strong>netplan.io</strong> comme <strong>gestionnaire de réseau</strong>.
Cela <strong>compromettant la documentation</strong>, il est <strong>nécessaire</strong> que nous <strong>revenions à ifupdown</strong>.</p>
<p><strong>Étape 1 : VÉRIFIEZ SI VOUS ÊTES IMPACTÉS :</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl status networking
</code></pre></div></div>
<p><strong>Si la commande ci-dessus vous retourne l’erreur suivante :</strong></p>
<p><img src="https://cdn.discordapp.com/attachments/773225836887277599/1135506287052980294/image.png" alt="" /></p>
<p>Alors vous devez <strong>CONTINUER</strong> les <strong>commandes suivantes</strong>.
<strong>Si elle vous retourne bien comme quoi un service fonctionne</strong>, alors <strong>NE FAITES PAS</strong> <strong>les commandes suivantes</strong>, et <strong>passez au 3.2</strong>.</p>
<p><strong>Étape 2 : Installer ifupdown et resolvconf</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt <span class="nb">install </span>ifupdown net-tools resolvconf <span class="nt">-y</span>
</code></pre></div></div>
<p><strong>Étape 3 : Désinstaller netplan et ses composants</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt-get purge netplan.io <span class="nt">--autoremove</span> <span class="nt">-y</span>
</code></pre></div></div>
<p><strong>Étape 4 : Relancer Cloud-Init pour qu’il re-crée les configurations réseau sous ifupdown</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cloud-init clean
cloud-init init
</code></pre></div></div>
<p><strong>Étape 5 : Activer les services de ifupdown</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl unmask networking
systemctl <span class="nb">enable </span>networking resolvconf
</code></pre></div></div>
<p><strong>Étape 5 : Désactiver tous les services liés à netplan :</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl stop systemd-networkd.socket systemd-networkd systemd-networkd-wait-online
systemctl disable systemd-networkd.socket systemd-networkd systemd-networkd-wait-online
systemctl mask systemd-networkd.socket systemd-networkd systemd-networkd-wait-online
</code></pre></div></div>
<p><strong>Étape 6 : Réparer la résolution DNS</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">rm</span> /etc/resolv.conf
<span class="nb">ln</span> <span class="nt">-s</span> /run/resolvconf/resolv.conf /etc/resolv.conf
</code></pre></div></div>
<p><strong>Étape 7 : Relancer ifupdown (Il va retourner une erreur, ce n’est pas grave)</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl start networking
</code></pre></div></div>
<p><strong>Étape 8 : Redémarrer</strong></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>reboot
</code></pre></div></div>
<p>Le VPS va <strong>redémarrer</strong>, les <strong>empreintes SSH auront changé</strong> il faudra donc <strong>accepter</strong> sur le client les <strong>avertissements</strong> comme quoi il y a eu un <strong>changement</strong>.</p>
<p>Une fois le vps redémarré, <strong>vérifiez que :</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ping google.fr
</code></pre></div></div>
<p><strong>Renvoie bien une IP</strong> et non pas une erreur,</p>
<p>Et que la <strong>commande suivante</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl status networking
</code></pre></div></div>
<p><strong>Vous affiche ceci :</strong></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1135741975946072076/image.png" alt="" /></p>
<p><strong>Si tout est bon</strong>, alors <strong>vous pouvez passer à la suite</strong>.</p>
<p><strong>Sinon</strong>, vous avez peut-être <strong>mal copié-collé</strong> les commandes ci-dessus, ou pire, le réseau à encore changé et je dois apporter une modification à ma documentation. <strong>N’hésitez pas à me contacter.</strong></p>
<h3 id="32-allons-y">3.2 Allons-y</h3>
<p>Commençons par une <strong>mise à jour de l’OS</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>su -
apt update <span class="o">&&</span> apt upgrade <span class="nt">-y</span>
reboot
</code></pre></div></div>
<p>Une fois le redémarrage terminé, <strong>installons les dépendances nécessaires</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>su -
apt <span class="nb">install </span>wireguard wireguard-tools resolvconf bash curl arping wget <span class="nt">-y</span>
</code></pre></div></div>
<p>Une fois ceci fait, nous pouvons maintenant <strong>préparer notre serveur WireGuard</strong>.
Pour cela, j’ai choisi d’utiliser un <a href="https://github.com/angristan/wireguard-install">script maintenu par quelqu’un sur GitHub</a> qui <strong>crée un tunnel</strong> et génère facilement des profils :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-O</span> https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
<span class="nb">chmod</span> +x wireguard-install.sh
bash wireguard-install.sh
</code></pre></div></div>
<p>Une fois ceci fait il va lancer un <strong>petit setup interactif</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Welcome to the WireGuard installer!
The git repository is available at: https://github.com/angristan/wireguard-install
I need to ask you a few questions before starting the setup.
You can leave the default options and just press enter <span class="k">if </span>you are ok with them.
IPv4 or IPv6 public address: <ipvps>
</code></pre></div></div>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Public interface: ens3
</code></pre></div></div>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>WireGuard interface name: wg0
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Server's WireGuard IPv4: 10.66.66.1
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Server's WireGuard IPv6: fd42:42:42::1
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Server's WireGuard port [1-65535]: XXXXXX
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>First DNS resolver to use for the clients: 1.1.1.1
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Second DNS resolver to use for the clients (optional): 1.0.0.1
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>WireGuard uses a parameter called AllowedIPs to determine what is routed over the VPN.
Allowed IPs list for generated clients (leave default to route everything): 0.0.0.0/0,::/0
</code></pre></div></div>
<p><strong>Ne touchez pas aux options</strong>, elles sont très bien auto-générées et on les modifiera par la suite.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Press any key to continue...
</code></pre></div></div>
<p><strong>Une fois</strong> tout ce QCM rempli, <strong>il va tout préparer</strong> et nous <strong>demandera</strong> ensuite <strong>le nom de notre tout premier client</strong>.</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Client name: MaVM
</code></pre></div></div>
<p>Ici, pour lui donner un nom facile à reconnaître je vais l’appeler <strong>MaVM</strong>, mais vous pouvez l’appeler comme vous le souhaitez.</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Client<span class="s1">'s WireGuard IPv4: 10.66.66.2
</span></code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Client's WireGuard IPv6: fd42:42:42::2
</code></pre></div></div>
<p><strong>Il nous demande ici une ip</strong> (qui sera incrémentée pour les futurs clients), on la retirera plus tard, <strong>laissez là comme elle est.</strong></p>
<p><strong>Une fois cette pré-installation terminée</strong>, nous allons pouvoir <strong>nettoyer</strong> ce que ce script à généré. Il est initialement conçu pour router tout le traffic de nos profils sur l’IP du VPS, ce qui n’est pas vraiment ce que nous souhaitons.</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/wireguard/wg0.conf
</code></pre></div></div>
<p>Puis <strong>retirez</strong> les lignes commençant par PostUp et PostDown :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>PostUp = ....................................................
PostDown = ....................................................
</code></pre></div></div>
<p>Une fois ceci fait, nous allons également <strong>ajuster quelques réglages</strong> de notre <strong>réseau</strong> <strong>linux</strong> pour autoriser le passage des <strong>paquets</strong> un peu partout :
Il faut ajouter les lignes suivantes dans :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/sysctl.conf
</code></pre></div></div>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>net.ipv4.ip_forward<span class="o">=</span>1
net.ipv4.conf.all.proxy_arp<span class="o">=</span>1
net.ipv6.conf.all.forwarding<span class="o">=</span>1
</code></pre></div></div>
<p>Une fois ceci fait, nous pouvons <strong>appliquer</strong> avec :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sysctl -p
</code></pre></div></div>
<h2 id="4---fabriquons-nos-profils-wireguard">4 - Fabriquons nos profils WireGuard</h2>
<p>Le Script <strong>à déjà créé</strong> un premier profil (MaVM), <strong>mais</strong> il va maintenant falloir <strong>l’ajuster</strong> pour qu’il ai <strong>sa bonne IP Failover</strong>.
Je précise qu’<strong>à partir, d’ici ce sera la même chose pour n’importe quel profil généré</strong> à l’aide du script.
<em>Pour regénérer un autre profil : <code class="language-plaintext highlighter-rouge">bash wireguard-install.sh</code></em></p>
<p><strong>Adaptons</strong> déjà les paramètres <strong>du côté serveur</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/wireguard/wg0.conf
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>### Client MaVM
[Peer]
PublicKey = jeSuiSuNeCléeVrAimeNtTrèsComPliquÉe==
PresharedKey = jeSuiSuNeCléepArtAgéEVrAimeNtTrèsComPliquÉe==
AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
</code></pre></div></div>
<p><strong>Ce qui nous intéresse ici</strong>, ce sont les <strong>AllowedIPs</strong>, ce sont les <strong>adresses IP</strong> qui ont été <strong>attribuées</strong> <strong>pour le profil</strong> MaVM. <strong>Modifions celle-ci</strong> en <strong>retirant l’IP locale</strong> (<strong>10.66.66.2/32</strong>) et en <strong>rajoutant l’IP FO HMS</strong> (par exemple : <strong>92.122.45.218</strong>) .
Vous <strong>devez</strong> également <strong>retirer l’IPV6</strong>, et en rajouter une manuellement (<strong>voir plus loin</strong>).</p>
<p>Cela devrais <strong>nous donner</strong> ceci :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>AllowedIPs = 92.122.45.218/32
</code></pre></div></div>
<p>Je précise que <strong>sur un VPS il est important de mettre un /32 à la fin de l’IP</strong> pour ne pas avoir de problèmes de routage.</p>
<p><strong>Une fois cette modification réalisée</strong>, nous pouvons sauvegarder puis <strong>effectuer la même du côté de notre client</strong>.
Dans notre dossier nous devrions avoir un <code class="language-plaintext highlighter-rouge">wg0-client-MaVM.conf</code>, <strong>modifions-le</strong> !</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano wg0-client-MaVM.conf
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Interface]
PrivateKey = jeSuiSuNeCléeVrAimeNtTrèsComPliquÉe==
Address = 10.66.66.2/32,fd42:42:42::3/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = jeSuiSuNeCléeVrAimeNtTrèsComPliquÉe==
PresharedKey = jeSuiSuNeCléepArtAgéEVrAimeNtTrèsComPliquÉe==
Endpoint = 54.39.36.154:55563
AllowedIPs = 0.0.0.0/0,::/0
</code></pre></div></div>
<p>Ici également il faut <strong>remplacer</strong> à côté de <strong>Address</strong>, <strong>l’IP Locale</strong> <strong>par</strong> <strong>l’IP Failover</strong> (avec le <strong>/32</strong> à la fin !). Cela devrais <strong>nous donner</strong> ceci :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Address = 92.122.45.218/32
</code></pre></div></div>
<p><strong>Une fois</strong> ce <strong>profil sauvegardé</strong> et nos deux configurations sauvegardées, <strong>veuillez redémarrer votre VPS HMS</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>reboot
</code></pre></div></div>
<p><strong>Si ce n’est pas</strong> la première fois, <strong>un simple redémarrage</strong> du service WireGuard <strong>suffira</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl stop wg-quick@wg0
systemctl start wg-quick@wg0
</code></pre></div></div>
<p>Si après tout ce que nous avons fait, la commande <code class="language-plaintext highlighter-rouge">systemctl status wg-quick@wg0</code> ne vous donne pas d’erreur alors <strong>tout est prêt</strong> !</p>
<h2 id="5---déployons-nos-profils-wireguard-rocket">5 - Déployons nos profils WireGuard :rocket:</h2>
<p>Et voici !</p>
<p>Notre profil est <strong>maintenant prêt à être déployé</strong> sur n’importe quelle plateforme (<strong>Windows</strong>, <strong>Linux</strong>, <strong>Android</strong>, <strong>MacOS</strong>, <strong>IOS</strong>, et <strong>plein d’autres</strong> !)</p>
<p>Je vais vous faire un petit exemple de comment déployer sur linux :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Installer Wireguard (en étant sur Ubuntu 22> ou Debian 11>) :
apt install wireguard wireguard-tools resolvconf
# Installer le profil Wireguard :
nano /etc/wireguard/wg0.conf
(puis coller le profil wireguard modifié à l'intérieur)
# Activer et lancer notre profil wireguard au démarrage :
systemctl enable wg-quick@wg0 --now
# Et voici ! Votre IP est maintenant montée sur cet appareil !
# Vous pouvez vérifier en faisant un
ip a
# ou un
curl ifconfig.me
</code></pre></div></div>
<p>C’est vraiment <strong>très rapide et simple</strong> ! Et ça marche 🤩</p>
<h2 id="profil-qui-ne-fonctionne-pas-">Profil qui ne fonctionne pas ?</h2>
<p>Il peut arriver qu’il y ai un <strong>soucis de routage sur le VPS</strong>, pour <strong>corriger le problème</strong> effectuez la commande suivante <strong>(SUR LE VPS)</strong> :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>arping <span class="nt">-q</span> <span class="nt">-c1</span> <span class="nt">-P</span> <ipfailover> <span class="nt">-S</span> <ipfailover>
</code></pre></div></div>
<p>L’IP est censée de nouveau fonctionner !</p>
<h2 id="bonus--ipv6">Bonus : IPV6</h2>
<p><strong>HMS ne fournissant pas de bloc IPV6</strong>, nous <strong>pouvons</strong> aller en chercher un chez <strong>Hurricane Electric</strong>.
<strong>Cette étape est optionnelle</strong>. Vous avez le droit de ne pas déployer d’IPV6.</p>
<p>Pour commencer, il est nécessaire de <strong>se créer un compte</strong> sur <a href="https://www.tunnelbroker.net/">leur site internet</a>, d’<strong>activer son compte</strong>, puis de se rendre “<strong>Create Regular Tunnel</strong>”.
L<strong>‘IPV4 Endpoint doit-être celle du VPS HMS</strong>, puis choisissez une <strong>localisation proche</strong> (pour ma part, Paris).</p>
<p>Une fois votre <strong>tunnel alloué</strong>, vous pouvez vous rendre dans “<strong>Example Configurations</strong>” et prendre “<strong>Debian/Ubuntu</strong>”
Puis <strong>coller la configuration</strong> affichée dans</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/network/interfaces.d/he
</code></pre></div></div>
<p>Nous devons également <strong>supprimer la configuration ipv6 inclue nativement par HMS</strong> :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/network/interfaces.d/50-cloud-init
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># iface eth0 inet6 static
# address 2001:<delav6>/56
# post-up route add -A inet6 default gw 2001:41d0:404:300::1 || true
# pre-down route del -A inet6 default gw 2001:41d0:404:300::1 || true
</code></pre></div></div>
<p>ll ne faut pas oublier de <strong>remplacer</strong> <strong>ens3</strong> <strong>par</strong> <strong>eth0</strong></p>
<p><strong>Une fois ces deux fichiers modifiés, on peut restart le networking avec</strong></p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl restart networking
</code></pre></div></div>
<p><strong>Si tout fonctionne</strong>, avec la commande <code class="language-plaintext highlighter-rouge">ip a</code>, vous devriez voir <strong>he-ipv6</strong> dans la liste.
Et un <strong>ping google.fr</strong> devrait bien <strong>ping une ipv6</strong>.</p>
<p>Il est <strong>maintenant possible d’allouer des IPv6</strong> à nos profils WireGuard.
<strong>Je ne fournirais pas de documentation supplémentaire car je ne suis pas un expert v6.</strong></p>
<p><em>Je peux vous préciser que votre bloc attribué est le suivant :</em></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/992533665340993627/firefox_fInsEDjMLZ.png" alt="" /></p>
<p>Vous pouvez par exemple utiliser <strong>2001:470:xxxxx:5f:1010/128</strong> comme adresse IP.</p>
<p>Elle apparaitra comme ceci dans votre profil WireGuard :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/992534343505416222/Termius_tAnp470THE.png" alt="" /></p>
<h2 id="bonus--pas-dinternet-dans-les-containers-dockerpterodactyl-">Bonus : Pas d’internet dans les containers Docker/Pterodactyl ?</h2>
<p>J’ai constaté récemment qu’après mise à jour de <strong>Docker</strong> et <strong>Pterodactyl</strong>, certains de mes containers <strong>n’avaient plus ou difficilement internet</strong>.
Ils <strong>bloquaient lors d’un apt update</strong>, ou bien n’arrivaient tout simplement <strong>pas</strong> à faire des <strong>requêtes web</strong> mais les pings semblaient passer.</p>
<p>Après avoir eu confirmation de plusieurs personnes, nous avons trouvé un <strong>fix</strong> qui semble très bien fonctionner.
<strong>Voici la démarche à suivre :</strong></p>
<ol>
<li>
<p><strong>Modifier le fichier</strong> <code class="language-plaintext highlighter-rouge">/etc/pterodactyl/config.yml</code> pour mettre comme <strong>mtu</strong> <strong>1370</strong> :
<img src="https://cdn.discordapp.com/attachments/926788575293472798/1072587176291864576/Termius_aKpvad5n7y.png" alt="" /></p>
</li>
<li>
<p>Si vous souhaitez que ce soit <strong>effectif de manière globale</strong> à <strong>tous</strong> vos <strong>containers</strong> docker, vous pouvez <strong>modifier le service docker</strong> :</p>
<p><strong>Modifiez le fichier suivant</strong> : <code class="language-plaintext highlighter-rouge">/lib/systemd/system/docker.service</code></p>
<p>Et <strong>ajoutez à la fin de la ligne</strong> ExecStart : <code class="language-plaintext highlighter-rouge">--mtu=1370</code></p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">ExecStart</span><span class="o">=</span>/usr/sbin/dockerd <span class="nt">-H</span> fd:// <span class="nt">--containerd</span><span class="o">=</span>/run/containerd/containerd.sock <span class="nv">$DOCKER_OPTS</span> <span class="nt">--mtu</span><span class="o">=</span>1370
</code></pre></div> </div>
<p>Vous pouvez ensuite <strong>recharger la configuration</strong> de systemd (<code class="language-plaintext highlighter-rouge">systemctl daemon-reload</code>)</p>
</li>
<li>
<p>Il faut ensuite <strong>éteindre les services</strong>, <code class="language-plaintext highlighter-rouge">systemctl stop wings docker</code>, puis <strong>supprimer l’interface réseau de docker</strong> <code class="language-plaintext highlighter-rouge">ip link delete docker0</code></p>
</li>
<li>
<p>Une fois ceci fait, vous pouvez <strong>relancer docker</strong> : <code class="language-plaintext highlighter-rouge">systemctl start docker</code>, puis <strong>nettoyer les interfaces réseau et images</strong> de pterodactyl, <code class="language-plaintext highlighter-rouge">docker system prune</code>.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1072587921837797416/Termius_KmXP01V6hS.png" alt="" /></p>
</li>
<li>
<p>Vous pouvez <strong>optionnellement</strong> donner un <strong>petit coup de frais</strong> à votre wings avec la commande suivante : <code class="language-plaintext highlighter-rouge">rm /var/lib/pterodactyl/wings.db</code></p>
</li>
<li>
<p>Et enfin, <strong>relancer wings</strong> : <code class="language-plaintext highlighter-rouge">systemctl start wings</code></p>
</li>
</ol>
<p>Vos containers devraient <strong>désormais avoir de nouveau accès pleinement à internet</strong>.
J’ai utilisé 1370 en MTU car il fallais une valeur plûtot basse. Cependant, si jamais vos services rencontrent des problèmes de stabilité au niveau du réseau, ou bien de débit, cela peut-être lié au MTU trop bas.</p>
<p>Pour les personnes ayant des compétences en réseau, il faudrait essayer de modifier le MTU de WireGuard (sachant qu’il est idéal de le changer également côté serveur) afin de régler le problème pour tous les processus.</p>
<h2 id="6---conclusion--remerciements">(6) - Conclusion & Remerciements</h2>
<p><strong>Et voici</strong>, vous avez maintenant <strong>(16) IP Failovers disponibles chez vous</strong>, <strong>protégées par HMS</strong> sur <strong>n’importe quel appareil</strong> !</p>
<p>Cette astuce m’a permise de <strong>franchir</strong> un <strong>grand pas dans l’auto-hébergement</strong> que ce soit dans des <strong>services</strong> pour moi ou pour les autres car elle m’offre <strong>la puissance d’avoir des VPS</strong> (grâce à un hyperviseur comme <a href="https://www.proxmox.com/en/">Proxmox</a> ou ESXi) avec des <strong>IP dédiées</strong> à <strong>prix réduit</strong> et avec un <strong>service de qualité</strong> similaire.</p>
<p><strong>Ce tutoriel existe initialement depuis Juillet 2020, mais a été remasterisé récemment en Décembre 2022 avec beaucoup d’améliorations et de mises à jour.</strong>
<strong>WireGuard a enfin été merge dans le kernel linux stable et est encore plus simple à installer qu’avant.</strong> <strong>Et ce tutoriel a également été amélioré par la communauté et les personnes qui utilisent actuellement cette solution chez-eux ou autre part.</strong></p>
<h4 id="je-tiens-à-remercier-">Je tiens à remercier :</h4>
<ul>
<li>
<p><a href="https://github.com/Aven678/">@Aven678</a> : <em>Pour avoir simplifié énormément la gestion des IP’s et la création de profils</em>
<em>Et également pour l’intégration de l’IPV6 au sein de cette documentation.</em></p>
</li>
<li>
<p><a href="https://github.com/DrKnaw">@DrKnaw</a> : <em>Pour avoir patché des bugs liés à mon système qui n’était pas tout à fait fini à l’époque</em></p>
</li>
<li>
<p><a href="https://github.com/maelmagnien">Mael</a> : <em>Qui a entièrement est testé le tutoriel pour voir que tout fonctionne</em></p>
</li>
<li>
<p>@Twistky: <em>Qui m’as également fais débugger plusieurs fois ma doc.</em></p>
</li>
<li>
<p>@Diggyworld : <em>Qui a remarqué et passé toute une soirée à trouver une solution pour ces fichus soucis de réseau.</em></p>
</li>
<li>
<p>@titin : <em>Pour m’avoir aidé à trouver pourquoi les ips ne se montaient pas parfois.</em></p>
</li>
</ul>
<p>Et <strong>plein d’autres personnes</strong> qui m’ont envoyé un message sur Discord pour m’aider à <strong>améliorer</strong> cette documentation ou me <strong>remercier</strong>.</p>
<h4 id="liens-utiles-">Liens Utiles :</h4>
<ul>
<li><a href="https://github.com/pirate/wireguard-docs">WireGuard Docs</a></li>
</ul>
<p>Merci d’avoir suivi cette documentation, j’espère qu’elle vous sera très utile.</p>
Installer Office avec la license fournie par la Région Île-de-France2021-09-05T00:00:00+00:00https://creeper.fr/2021/09/05/Office-RIDF<p>Les deux précédentes rentrées, les élèves de seconde ont reçu un prêt d’un ordinateur portable par la région Île de France.
L’intérêt de ceux-ci est d’avoir accès aux livres numériques (qui remplacent désormais ceux papiers), mais également de pouvoir ouvrir des pdf (avec SumatraPDF) et faire du traitement de texte (avec LibreOffice)</p>
<p>Seulement après avoir fouillé tout ce qui se trouvais sur ces ordinateurs, j’ai découvert que nous bénéficions tous d’une licence office student a3, et je vais ici vous expliquer comment la récupérer.</p>
<h2 id="1-notre-compte-microsoft">1. Notre compte “Microsoft”</h2>
<p>Quand nous ouvrons une session sur ces ordinateurs, il nous est pour la première fois demandé un login et un mot de passe @monlycee.net
Cet identifiant est situé sous notre ordinateur sous forme de petit autocollant, et possède pour mot de passe celui de notre session ENT.</p>
<p>Ces sessions fonctionnent grâce à un Azure Active Directory (service de Microsoft) et permettent à tout le monde de se connecter à sa session sur n’importe quel ordinateur qui fait parti du domaine.</p>
<p>Cependant, étant donné qu’il s’agit d’un service Microsoft, ce compte peut également être utilisé comme compte Microsoft Professionnel</p>
<p>Et c’est avec ce compte que nous allons justement toucher le jackpot …</p>
<h2 id="2-comment-se-connecter-à-notre-compte-microsoft-">2. Comment se connecter à notre compte Microsoft ?</h2>
<p>Pour se connecter à notre compte Microsoft, plein de méthodes. Mais vu que nous souhaitons bénificier d’Office, connectons-nous sur <a href="https://office.com">office.com</a>, puis identifions-nous avec notre identifiant monlycee.net :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094918151449346058/loginoffice.png" alt="loginoffice" /></p>
<p>Notre mot de passe est celui de notre ENT.</p>
<h2 id="3-profiter-et-installer-ou-pas-office">3. Profiter et installer (ou pas) Office</h2>
<p>Et voici !</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094918182973747240/officehomepage.png" alt="officehomepage" /></p>
<p>Nous voici sur notre Office365 :happy:</p>
<p>Avec la License A3, nous bénéficions de :</p>
<ul>
<li>10 Appareils (pour notre licence bureau)</li>
<li>Office Online (et applications Android/iOS)</li>
<li>1TB OneDrive (probablement visible par les administrateurs)</li>
</ul>
<p>Vous pouvez utiliser l’application Word/PowerPoint Online, ou bien installer Office avec le bouton en haut à droite “Installer Office”, cependant, certaines permissions administrateur peuvent-être nécessaires.
Vous pouvez donc également utiliser les applications office du Microsoft Store (qui elles, ne nécessitent pas de permissions administratrices)</p>
(vieux) Comment Installer Pterodactyl2021-06-20T00:00:00+00:00https://creeper.fr/2021/06/20/Pterodactyl<p>Bienvenu dans ce petit tutoriel afin d’installer le panel Pterodactyl sur une VM pour pouvoir gérer facilement ses serveurs de jeu et héberger ses amis.</p>
<h2 id="1---prérequis">1 - Prérequis</h2>
<ul>
<li>Un nom de domaine</li>
<li>Ubuntu >20.04</li>
<li>Un VPS LXC (avec compatibilité docker) ou un VPS KVM</li>
</ul>
<p>Connectez-vous à votre VPS en SSH, et on va le mettre à jour pour bien commencer :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt update && apt full-upgrade -y
</code></pre></div></div>
<p>Je précise que ce tutoriel est <strong>basé sur <a href="https://pterodactyl.io/panel/1.0/getting_started.html">la documentation officielle de Pterodactyl</a></strong> qui est susceptible <strong>d’être modifiée dans le futur</strong>. A l’heure où j’écris cette documentation, tout fonctionne, cependant, si dans le futur des dysfonctionnements apparaissent, j’essaierais de les corriger.</p>
<h2 id="2---téléchargeons-la-base-de-notre-pterodactyl">2 - Téléchargeons la base de notre Pterodactyl</h2>
<p>On va déjà installer des dépendances de base en vrac :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt install sudo bash curl wget gnupg software-properties-common apt-transport-https
</code></pre></div></div>
<p>A l’heure actuelle, la nouvelle version de PHP 8.0, mais vous pouvez encore être sur du PHP7, pour vérifier ceci on va voir les paquets PHP disponibles :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt list | grep php
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094921945973280768/pterodactyl3.png" alt="Les paquets disponibles à l'heure actuelle" /></p>
<p>Si on remonte un peu, on peut voir que sur l’exemple ci-dessus, la version encore disponible est <strong>PHP 7.4</strong> on va devoir la <strong>garder pour plus tard</strong></p>
<p>On peut ensuite installer les dépendances nécessaires à Pterodactyl :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt <span class="nt">-y</span> <span class="nb">install </span>php php-<span class="o">{</span>cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip<span class="o">}</span> mariadb-server nginx <span class="nb">tar </span>unzip git redis-server
</code></pre></div></div>
<p>Et supprimer apache2 (car il s’installe tout seul c’est chiant) :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>apt-get purge apache* -y
</code></pre></div></div>
<p>Une fois que tout est propre sur notre machine, on peut continuer en installant composer (pour installer notre environnement php) :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-sS</span> https://getcomposer.org/installer | <span class="nb">sudo </span>php <span class="nt">--</span> <span class="nt">--install-dir</span><span class="o">=</span>/usr/local/bin <span class="nt">--filename</span><span class="o">=</span>composer
</code></pre></div></div>
<p>On peut ensuite créer nos fichiers :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> /var/www/pterodactyl
<span class="nb">cd</span> /var/www/pterodactyl
</code></pre></div></div>
<p>Et on télécharge notre panel :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-Lo</span> panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
<span class="nb">tar</span> <span class="nt">-xzvf</span> panel.tar.gz
<span class="nb">chmod</span> <span class="nt">-R</span> 755 storage/<span class="k">*</span> bootstrap/cache/
</code></pre></div></div>
<h2 id="3---créer-la-base-de-données-mysql-mariadb">3 - Créer la base de données MySQL (MariaDB)</h2>
<p>A partir d’ici, nous allons avoir besoin d’une base de données MySQL pour le bon fonctionnement de notre Pterodactyl.
Par défaut, MariaDB (le serveur MySQL) est installé avec les dépendances qu’on à téléchargé au dessus, vous ne devriez donc pas avoir de problèmes de dépendances.</p>
<p>Connectez-vous à notre mysql :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mysql <span class="nt">-u</span> root
</code></pre></div></div>
<p>Puis créez un compte utilisateur :</p>
<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">USE</span> <span class="n">mysql</span><span class="p">;</span>
<span class="k">CREATE</span> <span class="k">USER</span> <span class="s1">'pterodactyl'</span><span class="o">@</span><span class="s1">'127.0.0.1'</span> <span class="n">IDENTIFIED</span> <span class="k">BY</span> <span class="s1">'somePassword'</span><span class="p">;</span>
</code></pre></div></div>
<p>N’oubliez pas de changer la valeur <code class="language-plaintext highlighter-rouge">somePassword</code> par un mot de passe très sécurisé (surtout que les IP OVH sont <a href="https://blog.ovh.com/fr/blog/rapport-attaques-ddos-observees-par-ovh-en-2017/">victimes de beaucoup d’attaques</a>)</p>
<p>On peut ensuite créer une base de données et donner les permissions à notre utilisateur :</p>
<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">CREATE</span> <span class="k">DATABASE</span> <span class="n">panel</span><span class="p">;</span>
<span class="k">GRANT</span> <span class="k">ALL</span> <span class="k">PRIVILEGES</span> <span class="k">ON</span> <span class="n">panel</span><span class="p">.</span><span class="o">*</span> <span class="k">TO</span> <span class="s1">'pterodactyl'</span><span class="o">@</span><span class="s1">'127.0.0.1'</span> <span class="k">WITH</span> <span class="k">GRANT</span> <span class="k">OPTION</span><span class="p">;</span>
</code></pre></div></div>
<p>Et appliquer toutes nos modifications :</p>
<div class="language-sql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">FLUSH</span> <span class="k">PRIVILEGES</span><span class="p">;</span>
</code></pre></div></div>
<h2 id="4---retournons-à-notre-interface-web">4 - Retournons à notre interface Web</h2>
<p>Nous pouvons ensuite continuer notre installation en installant les dépendances composer :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cp</span> .env.example .env
composer <span class="nb">install</span> <span class="nt">--no-dev</span> <span class="nt">--optimize-autoloader</span>
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922026289987584/pterodactyl4.png" alt="On autorise le root" /></p>
<p>N’oubliez pas de dire <strong>yes</strong> pour faire tourner en tant que root, c’est déconseillé mais bon on va faire avec.</p>
<p>Et on génère les clés de notre interface :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan key:generate <span class="nt">--force</span>
</code></pre></div></div>
<p><strong>Si jamais vous allez bouger votre serveur, gardez une copie de votre fichier .env (/var/www/pterodactyl/.env) car il contiens les clés de chiffrement de votre base de données. Sans celle-ci, toutes les données seront incompréhensible !</strong></p>
<h2 id="5---les-setups-interactifs">5 - Les setups interactifs</h2>
<p>On va commencer la petite partie interactive de ce tutoriel. Je vais mettre des captures d’écrans à chaque propositions.</p>
<p>Lançons le premier setup :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan p:environment:setup
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922068535017512/pterodactyl5.png" alt="" /></p>
<p>Ici, il nous demande un email qui sera affiché comme le créateur des eggs exporté depuis cette installation pterodactyl. Un egg est un petit script d’installation de serveur de jeu, si jamais vous en développez depuis votre instance, il est préférable de donner un email sympa. Sinon ce n’est pas important, vous ne recevrez jamais d’email avec cette option.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922100189433866/pterodactyl6.png" alt="Il nous demande l'URL de notre Pterodactyl" /></p>
<p>Ici, on lui donne notre URL que l’on utilisera dans notre navigateur web. Il est nécessaire de préciser le https:// comme indiqué dans l’image au dessus, car nous allons ensuite générer les certificats SSL. Il n’est pas non plus nécessaire de rajouter un / à la fin.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922120997384212/pterodactyl7.png" alt="On choisit le fuseau horaire de notre installation" /></p>
<p>Ici, il nous demande le fuseau horaire PHP de notre installation. Si vous êtes en France, il faudra alors écrire <code class="language-plaintext highlighter-rouge">Europe/Paris</code>. Si vous êtes dans d’autres pays, vous pouvez consulter <a href="https://www.php.net/manual/en/timezones.php">la liste de PHP</a>.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922146985291786/pterodactyl8.png" alt="On choisit Redis comme serveur de cache" /></p>
<p>Ici, il nous demande quel type de serveur de cache on va utiliser pour notre Pterodactyl. Redis est parfait pour ce genre de situations, on va donc l’utiliser.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922175636586596/pterodactyl9.png" alt="Nous allons utiliser redis pour se souvenir de nos sessions utilisateurs" /></p>
<p>Ici, il nous demande quel type de manière nous allons utiliser pour se souvenir de nos sessions utilisateurs. Redis est également très bon pour faire ce genre d’actions, nous allons donc l’utiliser.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922203574845510/pterodactyl10.png" alt="Ici il nous demande le serveur qui va mémoriser l'ordre des actions" /></p>
<p>Ici, il nous demande le type de serveur qui va se souvenir des actions utilisateurs, nous allons également nous servir de redis.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922225813037066/pterodactyl11.png" alt="On veut modifier en ligne" /></p>
<p>Ici, il nous demande si on souhaite modifier certaines options via l’interface web. On choisit la simplicité et disons yes.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922257496821820/pterodactyl12.png" alt="on touche a rien" /></p>
<p>En ce qui en est des options pour redis, on laisse par défaut. Il n’y a pas de mot de passe, ce n’est qu’un serveur de cache local.</p>
<p>Nous en avons finit avec le premier setup interactif. Si aucune erreur en rouge n’est apparue, on va pouvoir continuer.
Il est maintenant temps de configurer la base de données que nous avons créé auparavant :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan p:environment:database
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922281714712709/pterodactyl13.png" alt="La configuration de la base de données" /></p>
<p>Si vous avez créé votre base de données avec les commandes que nous avions fait au dessus, vous pouvez laisser les valeurs pré-remplies en appuyant sur entrée et entrer le mot de passe lors du Database Password.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922308579246110/pterodactyl14.png" alt="Si il n'y aucune erreur c'est parfait" /></p>
<p>Vous n’êtes pas censé avoir obtenu d’erreurs. Si c’est le cas, vous pouvez retry en disant yes. Normalement vous vous êtes trompé de mot de passe, sinon votre installation d’ubuntu peut ne pas être propre et il peut rester des traces d’autres bases de données. Il serait donc préférable que vous recommenciez avec une installation propre ce tutoriel.</p>
<p>Nous n’allons pas configurer grand chose dans les mails :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan p:environment:mail
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922339109568542/pterodactyl15.png" alt="On touche pas grand chose" /></p>
<p>Ici, je n’ai pas de serveur SMTP et je ne me servirais jamais des mails, je sélectionne donc la fonction mail de PHP. Je ne suis pas sûr qu’elle fonctionne mais dans tous les cas je n’ai aucune utilité des mails donc ce n’est pas important. Cependant, si vous avez besoin des mails pour vos clients, il serait préférable que vous configuriez un serveur SMTP.</p>
<p>On peut maintenant initialiser notre base de données avec cette commande :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan migrate <span class="nt">--seed</span> <span class="nt">--force</span>
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922366053781535/pterodactyl16.png" alt="Il a finit de migrer ..." /></p>
<p>On va voir toutes les entrées se migrer dans la base de données et vous devriez avoir le message ci-dessus. Si ce n’est pas le cas, vous pouvez avoir mal configuré votre base données MySQL avec les commandes qu’on a fait au dessus. Je vous conseil de remonter et de les refaire.
Une fois que cette commande s’est bien passée, on va pouvoir continuer.</p>
<p>Créons notre premier utilisateur (Administrateur de préférence) :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>php artisan p:user:make
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922391697772604/pterodactyl17.png" alt="On crée un utilisateur" /></p>
<p>N’oubliez pas de préciser yes au tout début.</p>
<p>On peut enfin appliquer des permissions sur nos fichiers avec cette commande :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">chown</span> <span class="nt">-R</span> www-data:www-data /var/www/pterodactyl/<span class="k">*</span>
</code></pre></div></div>
<p>Pour terminer notre installation de l’interface web, il va falloir rajouter des lignes à notre crontab :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>crontab -e
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922417434013736/pterodactyl18.png" alt="Nano c'est un bon éditeur" /></p>
<p>Je vous conseille fortement de choisir 1 pour ouvrir nano.</p>
<p>Et vous pouvez ensuite tout en bas rajouter la ligne suivante au fichier :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">*</span> <span class="k">*</span> <span class="k">*</span> <span class="k">*</span> <span class="k">*</span> php /var/www/pterodactyl/artisan schedule:run <span class="o">>></span> /dev/null 2>&1
</code></pre></div></div>
<p>Comme ci-dessous :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922522153193542/pterodactyl19.png" alt="Petite image d'illustration" /></p>
<p>On peut ensuite quitter le fichier avec Contrôle X Y puis Entrée, ou autre si vous avez votre linux en Français (suivez les indications en bas de la fenêtre nano).</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922564595355658/pterodactyl20.png" alt="Parfait" /></p>
<p>Notre crontab est maintenant installée.</p>
<p>Mais ce n’est pas tout, il va également falloir créer un service systemd avec les commandes suivantes :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/systemd/system/pteroq.service
</code></pre></div></div>
<p>Vous pouvez ensuite rajouter le bloc de texte suivant à l’intérieur puis quitter nano :</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Pterodactyl Queue Worker File
# ----------------------------------
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
[Install]
WantedBy=multi-user.target
</code></pre></div></div>
<p>Enfin, on peut activer tous les services dont pterodactyl à besoin pour fonctionner avec les commandes suivantes :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl daemon-reload
<span class="nb">sudo </span>systemctl <span class="nb">enable</span> <span class="nt">--now</span> redis-server pteroq.service
</code></pre></div></div>
<h2 id="6---notre-serveur-web-nginx">6 - Notre Serveur Web (NGINX)</h2>
<p>Maintenant que tout est prêt du côté de nos fichiers, il va falloir préparer notre serveur qui va nous les offrir.</p>
<p>Il est nécessaire à cette étape, que vos règles DNS soient réalisées et propagées. Vous pouvez vérifier la propagation DNS <a href="https://dnschecker.org/">ici</a>.</p>
<p>Nous allons demander un certificat SSL Let’s Encrypt qui est gratuit avec les commandes qui suivent.</p>
<p>Installons tout d’abord Let’s Encrypt :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt <span class="nb">install</span> <span class="nt">-y</span> certbot python3-certbot-nginx
</code></pre></div></div>
<p>Une fois ceci fait on va pouvoir demander nos certificats auprès de let’s encrypt avec les commandes suivantes :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>certbot certonly <span class="nt">--nginx</span> <span class="nt">-d</span> monpanel.monpanel.fr
</code></pre></div></div>
<p>Remplacez le nom de domaine par le votre sans les https.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922617200312371/pterodactyl21.png" alt="On rentre une email d'info" /></p>
<p>Ici, il nous demande notre adresse email sur laquelle on va recevoir les avertissements pour le renouvellement des certificats. C’est un peu important donc essayez de mettre un vrai email.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922640784883712/pterodactyl22.png" alt="Il nous demande d'accepter des trucs" /></p>
<p>Ici, il nous demande si on accepte les TOS, on dit A pour accepter et ensuite il nous demande si on souhaite être abonné à une newsletter pour des projets libres en rapport avec internet, ce n’est pas obligatoire on refuse avec N.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922666512748544/pterodactyl23.png" alt="Let's Encrypt finish" /></p>
<p>Si vous avez un résultat similaire au mien, c’est parfait ! Notre certificat est bien installé sur notre machine on va pouvoir s’en servir.
Si vous obtenez une erreur “Challenge Failed”, vérifiez vos enregistrements DNS et recommencez la commande au dessus.</p>
<p>Pour avoir un renouvellement automatique dans le futur, on peut ajouter à notre crontab la commande suivante :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>crontab -e
</code></pre></div></div>
<p>Puis rajoutez dedans :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>certbot renew
</code></pre></div></div>
<p>On sauvegarde et tout est prêt pour nos certificat SSL.</p>
<p>Il est maintenant temps d’installer notre configuration NGINX pour faire marcher notre Pterodactyl.</p>
<p>Pour ce faire, il va falloir créer un fichier de configuration nginx avec la commande suivante :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/nginx/sites-available/pterodactyl.conf
</code></pre></div></div>
<p>Et vous pouvez copier coller en brut le texte suivant, on va le modifier au fur et à mesure :</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>server_tokens off;
server {
listen 80;
server_name <domain>;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name <domain>;
root /var/www/pterodactyl/public;
index index.php;
access_log /var/log/nginx/pterodactyl.app-access.log;
error_log /var/log/nginx/pterodactyl.app-error.log error;
# allow larger file uploads and longer script runtimes
client_max_body_size 100m;
client_body_timeout 120s;
sendfile off;
# SSL Configuration
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
ssl_prefer_server_ciphers on;
# See https://hstspreload.org/ before uncommenting the line below.
# add_header Strict-Transport-Security "max-age=15768000; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header Content-Security-Policy "frame-ancestors 'self'";
add_header X-Frame-Options DENY;
add_header Referrer-Policy same-origin;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTP_PROXY "";
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
include /etc/nginx/fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922708225118248/pterodactyl24.png" alt="illustration pour les domaines" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922728752033882/pterodactyl25.png" alt="ssl" /></p>
<p>Il faut remplacer “domain” par votre nom de domaine associé au panel.</p>
<p>Ensuite, il va falloir remplacer la version de PHP inclue par défaut, par celle que nous avons installé au dessus. Pour ma part (voir l’exemple tout en haut), c’étais la version 7.4. Je remplace donc mon PHP 8.0 par 7.4 dans la conf comme ci-dessous :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922746040954940/pterodactyl26.png" alt="Avant" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922763443126292/pterodactyl27.png" alt="Après" /></p>
<p>On peut ensuite sauvegarder le fichier, et activer ce fichier avec la commande suivante :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo ln</span> <span class="nt">-s</span> /etc/nginx/sites-available/pterodactyl.conf /etc/nginx/sites-enabled/pterodactyl.conf
</code></pre></div></div>
<p>Une petite verification avec :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nginx -t
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922782183272529/pterodactyl28.png" alt="tout est ok :)" /></p>
<p>Si tout est ok on peut redémarrer nginx et notre interface web devrait être accessible !</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl restart nginx
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922807672057907/pterodactyl29.png" alt="tadam" /></p>
<p>Cependant, <strong>ce n’est pas finit</strong> ! Il va maintenant falloir configurer wings …</p>
<h2 id="7---visite-de-linterface">7 - Visite de l’interface</h2>
<p>Une fois que vous êtes connectés avec vos identifiants, on va pouvoir faire un petit tour du propriétaire.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922836465950881/pterodactyl30.png" alt="Interface de Pterodactyl" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922856875433994/pterodactyl31.png" alt="La partie administrateur" /></p>
<p>Bref c’étais une petite visite courte, on va maintenant pouvoir faire marcher cette interface avec wings.</p>
<h2 id="8---le-daemon-wings">8 - Le daemon (Wings)</h2>
<p>Wings, c’est le daemon qui va créer, gérer, supprimer, les serveurs. Sans lui on n’aurais aucun contrôle et possibilité de création de serveurs sur pterodactyl. Il est donc très important de l’installer sinon vous ne pourrez rien faire …</p>
<p>Pour l’installer nous allons d’abord avoir besoin de Docker (vu que ce sont des containers bien isolés) :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>curl <span class="nt">-sSL</span> https://get.docker.com/ | <span class="nv">CHANNEL</span><span class="o">=</span>stable bash
</code></pre></div></div>
<p>Une fois cette commande fait, vous devez attendre un peu le temps qu’il installe tout et vous devriez finir par avoir un écran comme celui-ci qui vous donne toutes les spécifications techniques de votre serveur :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922886625628220/pterodactyl32.png" alt="wow il est beau le serveur" /></p>
<p>Cela signifie que Docker est bien installé et prêt à fonctionner.</p>
<p>Pour vérifier qu’il fonctionne bien on peut lancer un hello-world :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docker run hello-world
</code></pre></div></div>
<p>Ici, mon VPS n’avais pas le LXC donc j’obtenais une erreur :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922916572958810/pterodactyl33.png" alt="Grave erreyr" /></p>
<p>Si vous avez une erreur similaire, docker n’est pas activé ou n’est pas compatible ! Contactez votre hébergeur pour qu’il vous l’active :(</p>
<p>Si docker est activé vous devriez avoir ceci :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922937871650927/pterodactyl34.png" alt="La sa fonctionne !!" /></p>
<p>Si c’est le cas, parfait ! On va pouvoir continuer.</p>
<p>On peut maintenant activer docker au démarrage :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl <span class="nb">enable</span> <span class="nt">--now</span> docker
</code></pre></div></div>
<p><strong>Si vous êtes sous KVM</strong>, vous pouvez activer le swap dans Grub en modifiant le fichier suivant :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/default/grub
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094922961129054228/pterodactyl35.png" alt="grub" /></p>
<p>Vous pouvez rajouter <code class="language-plaintext highlighter-rouge">swapaccount=1</code> à côté du quiet, puis sauvegarder. Et n’oubliez pas de sauvegarder avec <code class="language-plaintext highlighter-rouge">update-grub</code> et un petit redémarrage <code class="language-plaintext highlighter-rouge">reboot</code>.</p>
<p>Commençons maintenant à installer wings avec les commandes suivantes :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir</span> <span class="nt">-p</span> /etc/pterodactyl
curl <span class="nt">-L</span> <span class="nt">-o</span> /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
<span class="nb">chmod </span>u+x /usr/local/bin/wings
</code></pre></div></div>
<p>On peut ensuite créer un service wings avec :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/systemd/system/wings.service
</code></pre></div></div>
<p>Et vous pouvez coller dedans :</p>
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=docker.service
[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
</code></pre></div></div>
<p>Maintenant que notre wings est prêt à fonctionner, on va devoir l’ajouter dans notre interface web. Retournons dans notre navigateur web.</p>
<p>Ajoutons d’abord un location en allant dans l’onglet “Locations” de notre panel administrateur :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923025658429460/pterodactyl36.png" alt="Locations" /></p>
<p>Et ajoutons en cliquant sur ‘Create New’ une location, les valeurs entrées ne sont pas importantes.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923053663793152/pterodactyl37.png" alt="Nos locations" /></p>
<p>Une fois ceci fait, on va pouvoir créer une nouvelle node, en nous rendant dans l’onget “Nodes”, puis “Create New”</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923073964216380/pterodactyl38.png" alt="Les Nodes" /></p>
<p>Vous pouvez ensuite remplir comme les champs comme ci-dessous :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923096017883157/pterodactyl39.png" alt="Notre config de node" /></p>
<p>Le FQDN doit être identique au nom de domaine du panel (sans https)
Total Memory et Total Disk Space doit être exprimé en MB
Memory & Disk Over-Allocation : -1 permet d’éviter d’être bloqué pour des limites de stockages, cependant si vous avez un espace de stockage plûtot limité, essayez de mettre 0.</p>
<p>Une fois tout rempli, vous pouvez cliquer sur “Create Node”.</p>
<p>On va maintenant pouvoir configurer nos allocations :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923114439245845/pterodactyl40.png" alt="comment qu'ont fait l'ip ?" /></p>
<p>Si vous avez des IP Failover comme chez moi, IP Address doit être définit sur l’ip Lan WireGuard.
Si vous avez un VPS normal, rentrez l’ip publique ou privée de votre VPS.</p>
<p>Ip Alias est le nom de domaine qui sera affiché publiquement dans le panel, vous pouvez définir une autre règle DNS si vous le souhaitez.</p>
<p>Les ports eux peuvent être définis sous forme de range de 100 comme moi ci-dessus (J’alloue tous les ports en 1400 et 1500) ou bien individuellement en les rentrant 1 par 1.</p>
<p>On peut ensuite cliquer sur Submit.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923133640769586/pterodactyl41.png" alt="Nos allocations toutes fraiches" /></p>
<p>On les vois ensuite apparaître.</p>
<p>On peut maintenant charger notre configuration dans l’onglet configuration.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923152171216946/pterodactyl42.png" alt="Notre conf" /></p>
<p>Vous pouvez copier tout le fichier de configuration en sélectionnant tout. Puis le coller dans fichier config.yml :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mkdir /etc/pterodactyl
nano /etc/pterodactyl/config.yml
</code></pre></div></div>
<p>Et vous pouvez tout coller à l’intérieur puis sauvegarder.</p>
<p>Une fois ceci fait, on va pouvoir activer notre Wings et le lancer :</p>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl daemon-reload
systemctl <span class="nb">enable </span>wings <span class="nt">--now</span>
</code></pre></div></div>
<p>On peut voir l’état de notre service avec :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>systemctl status wings
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923174753349692/pterodactyl43.png" alt="L'état de notre service" /></p>
<p>Si tout est vert c’est parfait ! De plus il doit être noté tout en bas “sftp server listening for connections …”</p>
<p>On peut maintenant retourner sur notre interface web et on devrais avoir un peu plus d’info dans About :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923197473890404/pterodactyl44.png" alt="Infos sur la node" /></p>
<p>Et si tout est ok vous devriez avoir un petit cœur vert dans l’onglet nodes :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923215303880805/pterodactyl45.png" alt="Nodes" /></p>
<p>Et voilà ! Notre pterodactyl est maintenant installé et prêt à fonctionner :)</p>
(non terminé) Comment Installer Proxmox ?2021-02-06T00:00:00+00:00https://creeper.fr/2021/02/06/Proxmox<p>Hey ! Bon, beaucoup de personnes m’ont demandé comment je gère mes applications chez moi, comment est fait mon homelab. Seulement quand je leur parle de Proxmox, ils ne sont pas convaincus ou ont peur de se lancer.
Donc aujourd’hui, je vais vous apprendre à installer Proxmox, et on fera une petite visite et présentation des fonctionnalités.</p>
<p>Alors on va déjà introduire cette doc par :</p>
<h3 id="pourquoi-utiliser-proxmox-">Pourquoi utiliser Proxmox ?</h3>
<p>C’est vrai ça, pourquoi utiliser Proxmox et ne pas directement installer un Windows Server ou un Linux sur la machine ?
Déjà, on va pouvoir enlever tout les préjugés :</p>
<ul>
<li>Proxmox <strong>ne consomme pas la moitié de la ram</strong> de votre système. Une installation propre devrais <strong>prendre pas plus que 800mb</strong> de ram.</li>
<li>Proxmox <strong>ne consomme pas non plus 1 coeur de cpu</strong> constament. C’est une couche très très légère.</li>
</ul>
<p>Maintenant qu’on vois qu’il ne prends presque rien en ressource, pourquoi l’utiliser ducoup ? Si c’est une simple couche très légère, on en a sûrement pas besoin…. Eh ben vraiment ! Proxmox est bourré d’utilitaires et petites fonctionnalités sympa :</p>
<ul>
<li><strong>Les sauvegardes</strong> : On peut sauvegarder la nuit sans arrêter notre machine et la restaurer en cas de problème très rapidement (snapshots).</li>
<li><strong>Scalable</strong> : On peut avec modifier les specs d’une VM très facilement et bien départager nos ressources entre nos VM.</li>
<li><strong>LXC</strong> : Au lieu de devoir installer manuellement nos machines manuellement une par une, on peut économiser des ressources et lancer des installs en un clic.</li>
</ul>
<p>Alors, convaincu ? Maintenant, en ce qui en est des requirements y’a pas forcément grand chose d’important. Un processeur classique qui supporte windows et un peu de RAM et tout devrais bien fonctionner.</p>
<h3 id="on-linstalle-comment-">On l’installe comment ?</h3>
<p>Alors déjà il va falloir se munir de l’iso sur leur <a href="https://www.proxmox.com/en/downloads">site internet</a>
On prends bien le <strong>Proxmox Virtual Environment</strong> et la version la plus récente sous forme d’iso (6.3 à l’heure actuelle)</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923407931494521/proxmoxdl.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923481185013800/isoproxmox.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923519990714368/proxmoxfilechoose.png" alt="" /></p>
<p>Une fois qu’on a récupéré notre ISO il va falloir créer notre clé USB d’installation depuis le logiciel <a href="https://rufus.ie">Rufus</a>
Seulement attention, quand vous aller lancer le flash, n’oubliez pas de sélectionner <strong>le disque en mode DD</strong></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923564160925716/rufusdd.png" alt="" />
Une fois notre clé USB prête, on va pouvoir la brancher sur notre ordi (ou serveur) et démarrer dessus depuis le bios.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923605894250657/proxmoxsetup.png" alt="" />
On accepte les conditions générales d’utilisation</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923649657606245/setup1.png" alt="" /></p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923761876217906/setup2.png" alt="" /></p>
<p>Juste au-dessus, il nous demande sur quel disque on va installer Proxmox. Ici, je vais faire un tutoriel pour un setup avec 1 seul disque. Normalement (si j’ai pas la flemme) vers la fin du tuto je vais montrer plein de trucs utiles sur Proxmox :3
Bref, ducoup on séléctionne le bon disque et pas touche aux options, on laisse les trucs par défaut. Normalement pour une personne lambda on ne devrais pas avoir besoin de plus de choses. Puis on clique sur next.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923804691660800/setup3.png" alt="" /></p>
<p>On est bien français de france …</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923856336125982/setup4.png" alt="" /></p>
<p>Ici, on est entrain de définir le mot de passe root. N’oubliez pas qu’on est sur un installateur linux et qu’il peut avoir des problèmes avec qwerty azerty.
En dessous il nous demande notre email. Si plus tard vous configurez les email, il aura la possibilité de vous informer si la backup s’est bien passée etc. On met une vrai email si jamais mais ce n’est pas forcément important.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923915828154498/setup5.png" alt="" /></p>
<p>Ici, il a automatiquement détecté une interface sur laquelle est branchée notre câble réseau. Par défaut il risque de récupérer une IP par le DHCP.
<strong>Cette IP doit être fixe</strong> et ne <strong>changera pas</strong> au cours du temps. Si automatiquement il a choisit une IP pas folle, choisissez plutôt un .250 ou quelque chose de simple à retenir.
En ce qui en est des DNS, on laisse ceux qui sont proposés naturellement. Sinon vous pouvez toujours opter pour la <a href="https://1.1.1.1">Solution Cloudflare</a> 1.1.1.1</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923953060991016/setup6.png" alt="" /></p>
<p>On note tout ce qui est affiché, on vérifie puis on clique sur install pour qu’il commence l’installation. Il devrais (si on a coché la case) redémarrer automatiquement dès qu’il a fini.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094923990843273327/setupend.png" alt="" /></p>
<p>Hop, notre Proxmox viens de démarrer, on peut aller dessus depuis notre navigateur web. On peut partir de notre ordinateur il devrais se gérer tout seul, donc débranchez écran etc.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094924029913202728/proxmoxlogin.png" alt="" /></p>
<p>Et puis tadam ! Bienvenue sur Proxmox :o</p>
<h3 id="comment-bien-le-configurer-">Comment bien le configurer ?</h3>
<p>Quand Proxmox est installé, il n’as pas tout qu’est bien paramétré par défaut. On va déjà aller réparer nos mises à jour.
Rendez vous sur le nom de votre node à gauche :</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094924086393704468/proxmoxupdates1.png" alt="proxmoxupdates1" /></p>
<p>Une fois notre shell de lancé, on va pouvoir exécuter les commandes suivantes :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rm /etc/apt/sources.list.d/pve-enterprise.list
</code></pre></div></div>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094924134166843402/proxmoxupdates2.png" alt="proxmoxupdates2" /></p>
<p>Puis ensuite on va rajouter les lignes suivantes dans <code class="language-plaintext highlighter-rouge">/etc/apt/sources.list</code> :</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>nano /etc/apt/sources.list
(on rajoute les lignes suivantes :)
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
</code></pre></div></div>
<p><img src="img/proxmoxupdates3.png" alt="proxmoxupdates3" /></p>
<p>Une fois cette ligne ajoutée, on peut sauvegarder le fichier à l’aide de CTRL + X, Y, et ENTRÉE.
On peut maintenant cliquer sur Updates, dans la même catégorie où l’on a trouvé Shell.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094924192346034196/proxmoxupdates4.png" alt="proxmoxupdates4" /></p>
<p>Ici, on va d’abord cliquer sur <strong>Refresh</strong>, afin de rechercher les nouvelles mises à jour. Dès que TASK OK est affiché, on peut fermer la petite pop-up, puis cliquer sur Upgrade. Il va nous demander si oui ou non on veut procéder, on dis oui.</p>
<p><img src="https://cdn.discordapp.com/attachments/926788575293472798/1094924219818725438/proxmoxupdates5.png" alt="proxmoxupdates5" /></p>
<p>Une fois ces mises à jour terminer, notre Proxmox est totalement à jour et on va pouvoir effectuer une petite visite. Si vous souhaitez, vous pouvez redémarrer si vous le souhaitez. On va s’occuper d’une petite visites des nombreuses fonctionnalités que nous offre proxmox.</p>
<h3 id="petite-visite-guidée-de-linterface">Petite visite guidée de l’interface</h3>
<p>…..</p>