<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IPv4 on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/ipv4/</link><description>Recent content in IPv4 on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Mon, 01 Mar 2021 07:15:00 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/ipv4/index.xml" rel="self" type="application/rss+xml"/><item><title>Le blog en IPv6 : ça aurait du être simple et pourtant…</title><link>https://blog.zwindler.fr/2021/03/01/le-blog-en-ipv6-ca-aurait-du-etre-simple-et-pourtant/</link><pubDate>Mon, 01 Mar 2021 07:15:00 +0000</pubDate><guid>https://blog.zwindler.fr/2021/03/01/le-blog-en-ipv6-ca-aurait-du-etre-simple-et-pourtant/</guid><description>&lt;img src="https://blog.zwindler.fr/2021/02/ipv6-ready.webp" alt="Featured image of post Le blog en IPv6 : ça aurait du être simple et pourtant…" /&gt;&lt;h2 id="cest-lhistoire-dun-collègue-de-boulot"&gt;C’est l’histoire d’un collègue de boulot
&lt;/h2&gt;&lt;p&gt;C’est l’histoire d’un collègue de boulot, qui me dit :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dis donc zwindler, avec toute la veille que tu fais sur ton blog, comment se fait-il qu’il ne soit toujours pas accessible en IPv6 !?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Damned&amp;hellip; Il a raison le bougre !&lt;/p&gt;
&lt;p&gt;Mauvaise réponse : par flemme.&lt;/p&gt;
&lt;p&gt;Encore plus mauvaise réponse : parce que ce n’est pas aussi trivial à implémenter que ça devrait l’être&amp;hellip;&lt;/p&gt;
&lt;p&gt;Allez, je vous embarque !&lt;/p&gt;
&lt;h2 id="dabord-mon-infra"&gt;D’abord mon infra&amp;hellip;
&lt;/h2&gt;&lt;p&gt;J’vais sauter tout de suite le topo comme quoi IPv6 c’est important et surtout là depuis quasiment 25 ans, que IPv4 est dead depuis un an ou deux, qu’IPv6 c’est pas compliqué en vrai (la partie théorique j’entends ; la pratique on va en parler). De toute façon, les tweets récents de @davlgd me laissent à penser qu’un article sur &lt;a class="link" href="https://www.nextinpact.com/" target="_blank" rel="noopener"
&gt;NextInpact &lt;/a&gt;devrait sortir à ce sujet dans peu de temps ;-).&lt;/p&gt;
&lt;p&gt;J’ai changé une énième fois d’infra pour mes besoins persos et me retrouve maintenant avec un serveur hébergé à la maison pour le gros de mes besoins perso, ainsi que deux machines plus modestes (des Atom 2 cœurs, 4 Go) que je loue pour une bouchée de pain pour avoir un cluster Proxmox VE et des réplications ZFS.&lt;/p&gt;
&lt;p&gt;(Oui je ferai un article pour en parler&amp;hellip; promis&amp;hellip; un jour&amp;hellip; peut être).&lt;/p&gt;
&lt;p&gt;On commence déjà pas super bien : mon opérateur Internet ne me propose pas d’IPv6. Impossible donc de proposer mon blog en IPv6 si je l’héberge depuis chez moi.&lt;/p&gt;
&lt;p&gt;Ça tombe bien (sort of), j’ai préféré le laisser sur une des deux machines Atom que je loue, qui suffisent vu le peu de charge que représente le blog. Je pars du principe que les hébergeurs ont de meilleurs taux de dispos que ma maison bourrée de SPOF. L’histoire ne me donne pas forcément raison, mais passons.&lt;/p&gt;
&lt;h2 id="oneprovider"&gt;OneProvider
&lt;/h2&gt;&lt;p&gt;Est-ce que ces machines peuvent être en IPv6 ?&lt;/p&gt;
&lt;p&gt;Je me suis pris la tête avec le support de OneProvider à plusieurs reprises, mais punaise, ils sont tellement peu chers&amp;hellip; J’avais dit « plus jamais ! », mais des Atom à 6€ / mois pour 4 Go de RAM et un stockage correct&amp;hellip; C’est quasiment impossible de trouver mieux.&lt;/p&gt;
&lt;p&gt;Si on se contente de regarder ce qu’on a pour ce prix là, « la question elle est vite répondue ». Il n’y a pas d’IPv6 dans l’interface et on ne peut pas en commander. On est cuit&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/op-net.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="plot-twist"&gt;Plot twist
&lt;/h2&gt;&lt;p&gt;Bon ben voilà, pas de solution, fin de l’article.&lt;/p&gt;
&lt;p&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&amp;hellip; Mais non !&lt;/p&gt;
&lt;p&gt;Car quand on connait un peu les machines à Paris et à Amsterdam de OneProvider, on sait que ce sont en fait des serveurs de chez Online (Scaleway), vendus en marque blanche.&lt;/p&gt;
&lt;p&gt;Et là l’espoir renait car Online ne le met pas en avant sur son site directement, mais dans le wiki il est dit que&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La totalité des réseaux Online/Dedibox est compatible IPv6, et les futurs déploiements auront également de l’IPv6 par défaut.
&lt;a class="link" href="https://documentation.online.net/fr/dedicated-server/network/ipv6/start" target="_blank" rel="noopener"
&gt;https://documentation.online.net/fr/dedicated-server/network/ipv6/start&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/ah.gif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="un-petit-mail-au-support"&gt;Un petit mail au support
&lt;/h2&gt;&lt;p&gt;Je prends mon courage à deux mains et j’écris au support, en espérant que ça ne finisse pas comme les fois précédentes à les engueuler comme du poisson pourri, car ils m’ont dit que « oui oui c’est possible » et finalement me la mette à l’envers avec des options payantes qui ne me servent à rien et qu’on ne peut pas annuler&amp;hellip;&lt;/p&gt;
&lt;p&gt;Bonne surprise, cette fois-ci :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/op-support.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;OK. On peut donc avoir un bloc en IPv6 (un /64 alors que c’est un /56 chez Online, mais on ne va pas faire les fines bouches) tout en gardant l’IPv4 (j’ai préféré leur demander confirmation, connaissant les zozos).&lt;/p&gt;
&lt;p&gt;Les seules difficultés sont donc que l’IP doit être assignée avec un client DHCP (mkay) et qu’on ne peut pas faire de rDNS. Dans mon cas, juste pour que le blog soit en IPv6, c’est suffisant.&lt;/p&gt;
&lt;p&gt;Une fois que j’ai indiqué que c’était bon pour moi, le support m’a rapidement envoyé un /64 ainsi qu’un DUID pour le DHCP.&lt;/p&gt;
&lt;h2 id="la-configuration-du-dhcp"&gt;La configuration du DHCP
&lt;/h2&gt;&lt;p&gt;A partir de là, le « fun » a pu commencer.&lt;/p&gt;
&lt;p&gt;D’abord, il a fallu trouver comment configurer &lt;strong&gt;dhclient&lt;/strong&gt; pour chopper correctement mon IPv6. Heureusement on trouve assez vite de l’aide sur le net, notamment sur le wiki d’Online (et ça tombe bien vu que je suis chez eux).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://documentation.online.net/en/dedicated-server/network/ipv6/prefix" target="_blank" rel="noopener"
&gt;documentation.online.net/en/dedicated-server/network/ipv6/prefix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Long story short; sur des distribs récentes (notamment Proxmox), le plus « simple » est de créer un service systemd qui se lancera au démarrage juste après le réseau&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat &amp;gt; /etc/systemd/system/dhclient.service &amp;lt;&amp;lt; EOF
[Unit]
Description=dhclient for sending DUID IPv6
After=network-online.target
Wants=network-online.target
[Service]
Restart=always
RestartSec=10
Type=forking
ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v vmbr0
ExecStop=/sbin/dhclient -x -pf /var/run/dhclient6.pid
[Install]
WantedBy=network.target
EOF
cat /etc/dhcp/dhclient6.conf
interface &amp;#34;vmbr0&amp;#34; {
send dhcp6.client-id VOTRE:DUID;
request;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Vous remarquerez peut-être que, contrairement à l’article du wiki d’Online, je n’utilise pas l’interface réseau physique (&lt;strong&gt;enp0s20&lt;/strong&gt; dans mon cas) mais un bridge (&lt;strong&gt;vmbr0&lt;/strong&gt;). En fait, on a pas trop le choix (sauf si j’ai mal compris), car on va « brancher » nos VMs sur un bridge pour leur affecter des IPv6 et je n’ai pas réussi à faire marcher ça lorsque l’interface qui porte le /64 &lt;em&gt;n’était pas aussi le bridge&lt;/em&gt;. Si vous avez mieux, je prend les suggestions.&lt;/p&gt;
&lt;p&gt;La « blague » dans l’histoire, c’est que je n’utilise pas du tout cette configuration réseau dans laquelle l’IP de l’hyperviseur est portée par un bridge pour la partie IPv4 (&lt;a class="link" href="https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt" target="_blank" rel="noopener"
&gt;moi j’utilise ça&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Deuxième blague, impossible de faire marcher ça avec un bridge open-vswich ce qui est pourtant vachement plus fun, notamment pour la possibilité d’ajouter des liens GRE entre nodes et ainsi avoir un LAN virtuel unifié dans tout le cluster.&lt;/p&gt;
&lt;p&gt;J’ai donc dû REFAIRE tout mon fichier &lt;strong&gt;/etc/network/interfaces&lt;/strong&gt;…&lt;/p&gt;
&lt;h2 id="le-réseau-du-coup"&gt;Le réseau, du coup
&lt;/h2&gt;&lt;p&gt;J’ai suivi sans succès plusieurs tutos (dont &lt;a class="link" href="https://www.reddit.com/r/ipv6/comments/fos6f3/ipv6_proxmox_56_block_dhcpv6_vm_and_ct/" target="_blank" rel="noopener"
&gt;celui-ci&lt;/a&gt;, &lt;a class="link" href="https://www.kiloroot.com/proxmox-kimsufi-ovh-soyoustart-ipv6-host-multiple-containers-and-virtual-machines-on-a-single-kimsufi-server-using-ipv6-and-proxmox/" target="_blank" rel="noopener"
&gt;celui-là&lt;/a&gt; et &lt;a class="link" href="https://howto.zw3b.fr/linux/reseaux/howto-ipv6-proxmox-online-net" target="_blank" rel="noopener"
&gt;celui-là&lt;/a&gt;). Le dernier était pourtant particulièrement prometteur puisque utilisant à la fois Online et Proxmox&amp;hellip; mais rien n’y a fait. Je me suis coupé la patte un nombre incalculable de fois&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/oneprovider_liveres.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;trolololololo lololo lololooooo&amp;lt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s20
iface enp0s20 inet manual
auto vmbr0
iface vmbr0 inet static
address VOTRE.IP.V.4/24
gateway GATEWAY.IP.V.4
bridge-ports enp0s20
bridge-stp off
bridge-fd 0
iface vmbr0 inet6 static
address VOTRE:IP:V:6::1/64
#ONLINE.NET specific throttling
post-up ip6tables -A OUTPUT -p udp --dport 547 -m limit --limit 10/min --limit-burst 5 -j ACCEPT
post-up ip6tables -A OUTPUT -p udp --dport 547 -j DROP
allow-ovs vmbr1
iface vmbr1 inet static
... blablabla
#La partie masquerading sur un Open vSwitch comme indiquée dans https://pve.proxmox.com/wiki/Network_Configuration#_masquerading_nat_with_tt_span_class_monospaced_iptables_span_tt
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On se retrouve avec un genre de monstre de Frankenstein avec une carte enp0s20 attaché à un bridge (vmbr0) qui sert aussi de bridge pour nos containers IPv6, et d’un bridge (vmbr1) open vswitch pour ce qui reste en v4 et les communications inter-nodes.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Gavé bien !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Notez les iptables v6 en « post-up » dans la partie v6 du vmbr0.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#ONLINE.NET specific throttling
post-up ip6tables -A OUTPUT -p udp --dport 547 -m limit --limit 10/min --limit-burst 5 -j ACCEPT
post-up ip6tables -A OUTPUT -p udp --dport 547 -j DROP
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;D’expérience, ça ne sert à rien. Mais &lt;a class="link" href="https://documentation.online.net/en/dedicated-server/network/ipv6/prefix#traffic_limitation_of_your_client" target="_blank" rel="noopener"
&gt;c’est conseillé par Online dans son wiki sur IPv6&lt;/a&gt;. Personnellement je n’ai vu aucun impact positif en ajoutant ces lignes.&lt;/p&gt;
&lt;h2 id="et-ça-marche-maintenant-"&gt;Et ça marche maintenant ?
&lt;/h2&gt;&lt;p&gt;Ben non, bien sûr. Il va falloir modifier quelques options dans sysctl (notamment le forwarding pour IPv6)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/sysctl.conf
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.default.proxy_ndp = 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sur les recommandations du &lt;a class="link" href="https://documentation.online.net/en/dedicated-server/network/ipv6/slaac" target="_blank" rel="noopener"
&gt;wiki d’Online (IPv6 SLAAC)&lt;/a&gt;, j’ai rajouté les paramètres suivants :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#Online specific (SLAAC)
net.ipv6.conf.vmbr0.autoconf = 0
net.ipv6.conf.vmbr0.accept_ra = 2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pas sûr que ce soit très efficace, j’ai vu d’autres procédures mettre &lt;strong&gt;accept_ra&lt;/strong&gt; à 1. Je vous laisse tester les deux.&lt;/p&gt;
&lt;p&gt;Mais ça ne suffit pas, parce que quelqu’un (pas trop sûr de qui) a décidé de rajouter des paramètres par défaut qui bloquent l’IPv6 sur ces serveurs. Malin !&lt;/p&gt;
&lt;p&gt;J’ai été sauvé par ce &lt;a class="link" href="https://gist.github.com/DonSYS91/03623c2b8270fd05a76a436c55b95c50" target="_blank" rel="noopener"
&gt;Gist de DonSYS91&lt;/a&gt; (MERCI !) qui indique une partie des pièces manquantes à mon puzzle.&lt;/p&gt;
&lt;p&gt;D’abord dans &lt;strong&gt;/etc/modprobe.d/local.conf&lt;/strong&gt;, il y a une ligne ipv6 disable à 1, qu’il faut passer à 0&amp;hellip; Si vous ne changez pas cette valeur, &lt;strong&gt;peu importe ce que vous mettrez dans votre sysctl.conf, IPv6 sera systématiquement désactivé au boot !&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/modprobe.d/local.conf
# Local module settings
# Created by the Debian installer
options ipv6 disable=0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Après reboot, tout fonctionne. Je ping bien (avec &lt;strong&gt;ping6&lt;/strong&gt;) des serveurs IPv6 only et j’ai pu affecter des IPv6 à mes containers LXC.&lt;/p&gt;
&lt;h2 id="ca-ma-pas-du-tout-détendu-cette-histoire-dipv6-"&gt;&lt;strong&gt;CA M’A PAS DU TOUT DÉTENDU CETTE HISTOIRE D’IPV6 !&lt;/strong&gt;
&lt;/h2&gt;&lt;p&gt;Et encore, j’ai même pas de DNS IPv6 car OVH ne sait pas le faire sur leurs DNS !&lt;/p&gt;
&lt;p&gt;Ni du fait que dans certains cas, 90% des requêtes sont perdues, mais uniquement sur les DC2/DC3 d’Online à Paris, ce que confirment a priori plusieurs personnes qui font aussi de l’IPv6 sur des machines hostées chez Online&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/statuscake.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;And that’s what we call « flapping »&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Mais je m’en fous, le blog est accessible en IPv6.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/02/ipv6-ready-1.avif"
loading="lazy"
&gt;&lt;/p&gt;</description></item><item><title>[En bref] Désactiver IPv6 sur les Windows Server</title><link>https://blog.zwindler.fr/2015/11/14/reminder-desactiver-ipv6-sur-les-windows-server/</link><pubDate>Sat, 14 Nov 2015 11:30:12 +0000</pubDate><guid>https://blog.zwindler.fr/2015/11/14/reminder-desactiver-ipv6-sur-les-windows-server/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/11/wikipedia_slash8.webp" alt="Featured image of post [En bref] Désactiver IPv6 sur les Windows Server" /&gt;&lt;p&gt;IPv6, c’est un standard qui devrait être correctement supporté aujourd’hui, et par tout le monde. On devrait même aller jusqu’à dire qu’on devrait &lt;a class="link" href="https://fr.wikipedia.org/wiki/%C3%89puisement_des_adresses_IPv4" target="_blank" rel="noopener"
&gt;arrêter d’utiliser IPv4 aujourd’hui&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mais franchement, il faut le reconnaitre, attribuer des adresses sur 128 bits (donc 32 caractères héxa), c’est une vraie tannée pour les administrateurs systèmes (même si il y a des astuces pour réduire la taille des adresses) !&lt;/p&gt;
&lt;p&gt;Alors c’est vrai, c’est mal (car non pérenne), mais certains sont donc tentés de ne pas utiliser IPv6, voire même désactiver complément la fonctionnalité. &lt;strong&gt;&lt;em&gt;[Edit] Ça peut surtout bloquer certains composants et/ou provoquer des effets de bords difficilement décelables&amp;hellip; Autant vous le dire tout de suite, Microsoft n’approuve pas.[/Edit]&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="le-cas-windows-server"&gt;Le cas Windows Server
&lt;/h2&gt;&lt;p&gt;Même si vous n’utiliser pas IPv6, les serveurs ont souvent sur leur carte le double adressage. Ce n’est pas gênant tant que vous ne l’utilisez pas &amp;hellip; sauf pour les Windows Server en domaine Active Directory.&lt;/p&gt;
&lt;p&gt;Pour simplifier l’administration des DNS, les serveurs Windows dans un domaine sont automatiquement enregistrés dans le DNS fournit par les serveurs DC. Même les adresses IPv6. et des fois, ça provoque des effets de bord quand l’IPv6 répond en premier.&lt;/p&gt;
&lt;h2 id="comme-le-désactiver-"&gt;Comme le  désactiver ?
&lt;/h2&gt;&lt;p&gt;On peut donc honteusement vouloir désactiver IPv6, pour se simplifier la vie et éviter de polluer son DNS Active Directory. Mais &amp;hellip; décocher la case dans l’interface d’administration des connexions réseau &amp;hellip; ne sert à rien !&lt;/p&gt;
&lt;p&gt;La seule façon de le faire, c’est de modifier le registre avec regedit (en tant qu’administrateur bien entendu).&lt;/p&gt;
&lt;p&gt;Naviguer dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters&lt;/p&gt;
&lt;p&gt;Avec un [clic droit], ajouter une nouvelle clé &lt;strong&gt;DisabledComponents&lt;/strong&gt; en type &lt;strong&gt;DWORD (32-bit)&lt;/strong&gt; et lui donner la valeur &lt;del&gt;0xFFFFFFFF (voir commentaires)&lt;/del&gt; 0xFF.&lt;/p&gt;
&lt;p&gt;[MAJ du 25/01]Ou alors vous pouvez créer un fichier « .reg » à exécuter sur la machine :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
&amp;#34;DisabledComponents&amp;#34;=dword:000000ff
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;[/MAJ]&lt;/p&gt;
&lt;p&gt;Au reboot, IPv6 sera totalement désactivé sur le serveur.&lt;/p&gt;
&lt;h2 id="aller-plus-loin"&gt;Aller plus loin
&lt;/h2&gt;&lt;p&gt;Si vous ne voulez pas le faire à la mimine, que vous avez un accès simple vers Internet et que vous n’avez pas peur de faire confiance aveuglément à Microsoft, le &lt;a class="link" href="https://support.microsoft.com/fr-fr/kb/929852" target="_blank" rel="noopener"
&gt;KB de Microsoft sur le sujet&lt;/a&gt; donne des boutons de paramétrages « one click » pour désactiver ou réactiver simplement IPv4 et/ou IPv6.&lt;/p&gt;</description></item></channel></rss>