Adresse MAC pour IP failover sous Debian 12 ?


Bonjour à tous,

Je me prépare à passer de CentOS 7 (fin de vie en 2024) à Debian 12.
Je rencontre un problème pour l'utilisation des IP failover (nom changé en maintenant Additional IP par OVH). La documentation lors de la livraison de l'IP additionnelle pointe sur :
https://help.ovhcloud.com/csm/fr-dedicated-servers-network-ipaliasing?id=kb_article_view&sysparm_article=KB0043761
mais n'inclut pas Debian 12 (seulement Debian 11 et avant).

J'ai heureusement trouvé une documentation d'OVH plus à jour qui inclut Debian 12 :
https://help.ovhcloud.com/csm/fr-public-cloud-network-configure-additional-ip?id=kb_article_view&sysparm_article=KB0050241
(utilisation de netplan/ et les fichiers .yaml).

Cependant il faut créer une entrée par l'IP additionnelle dans le fichier /etc/netplan/50-cloud-init.yaml :
<br />network:<br /> version: 2<br /> ethernets:<br /> NETWORK_INTERFACE:<br /> dhcp4: true<br /> match:<br /> macaddress: fa:xx:xx:xx:xx:63<br /> set-name: NETWORK_INTERFACE<br /> addresses:<br /> - ADDITIONAL_IP/32<br />


Mes questions :

1) Comment remplir NETWORK_INTERFACE ? Avec la commande "ip a" j'ai déjà l'interface eno1 et eno2, est-ce eno3 qu'il faut utiliser ? Ou alors eno1:1 ? (Note : eno1 contient l'adresse IP principale du serveur nsXXXX.ip-x.x.x.eu, eno2 je ne connais pas son utilité).

2) Comment remplir l'adresse MAC "macaddress: fa:xx:xx:xx:xx:63" ? Il y a une documentation d'OVH
https://help.ovhcloud.com/csm/fr-dedicated-servers-network-virtual-mac?id&#61;kb_article_view&amp;sysparm_article&#61;KB0043804 mais qui
semble destinée aux machines virtuelles, ce qui n'est pas mon cas. D'ailleurs sous CentOS mes IP additionnelles n'ont pas d'adresse MAC et pourtant elles marchent bien.

Merci d'avance pour votre aide.

J'ai finalement réussi à intégrer l'IP additionnelle avec netplan dans mon nouveau serveur sous Debian 12. En faisant des recherches sur Internet, j'ai pu répondre à mes propres questions :-).

1) Pour l'adresse MAC de l'IP additionnelle, c'est celle de l'IP principale, on n'a pas besoin via l'OVH manager d'attribuer une adresse MAC virtuelle.

2) Pour l'interface réseau, il faut garder la même indiquée par la commande "ip a", donc dans mon cas : "eno1".

Voici en vrac mes découvertes à toutes fins utiles.

- netplan est un nouvel utilitaire pour configurer le réseau, il travaille avec les fichiers .yaml qui exigent une syntaxe et une indentation rigoureuses (pas d'utilisation de tabulations, seulement des espaces). Il est fortement conseillé d'installer le package "yamllint" : apt-get install yamllint, qui permet de vérifier que le fichier .yaml est correct avant de l'essayer avec la commande "netplan try", ou "netplan --debug try" (pour debug). En tout cas il ne faut jamais faire "netplan apply" avant de faire "netplan try" avec aucune erreur signalée. Si on laisse passer des erreurs sans utiliser yamllint, la commande "netplan try" va être bloquée, le réseau coupé, et votre connexion SSH perdue ! Heureusement, comme c'est "try", la configuration correcte avant le try est restaurée après 2 minutes environ, et vous pouvez vous reconnecter en SSH.

- Les versions précédentes de Debian utilisent le package ifupdown avec /etc/network/interfaces pour configurer le réseau. L'IP additionnelle est considérée comme une alias d'où les notations eth0:0, eth0:1 etc… Avec les versions récentes de Debian (comme Debian 12), c'est netplan qui est utilisé avec les fichiers de configuration .yaml dans /etc/netplan/.

- J'ai toujours fait des full-upgrade depuis Debian 10 vers Debian 11 puis Debian 12 sur une machine virtuelle Vmware pour me familiariser. Mais ce processus d'upgrade n'est pas équivalent à une installation vierge de Debian 12. C'est ainsi que je découvre netplan qui n'existe pas sur Debian 12 upgradée depuis Debian 10.

- A noter que le fichier originel /etc/netplan/50-cloud-init.yaml (qu'il faut modifier pour l'ajout de l'IP additionnelle) contient déjà des erreurs et warnings signalées par yamllint ! A corriger donc. D'ailleurs ce fichier doit être en chmod 600, sinon un warning est émis.

- Debian contient et lance d'office le démon systemd-resolved qui est apparemment une cache DNS, et qui me semble inutile. Il écoute sur les ports 53 et 5355. Pour supprimer cette fonction de cache DNS, j'ai suivi l'article https://www.reddit.com/r/Fedora/comments/xopx1f/how_can_i_disable_the_open_port_5355_service_llmnr/
puis éditer le fichieri /etc/systemd/resolved.conf
puis activer les lignes
<br /> LLMNR&#61;no<br /> DNSStubListener&#61;no<br />

suivi d'une relance du démon (systemctl restart systemd-resolved).

- Ci-après le contenu originel de /etc/netplan/50-cloud-init.yaml (certaines informations masquées) :

<br /># This file is generated from information provided by the datasource. Changes<br /># to it will not persist across an instance reboot. To disable cloud-init&#39;s<br /># network configuration capabilities, write a file<br /># /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:<br /># network: {config: disabled}<br />network:<br /> version: 2<br /> ethernets:<br /> eno1:<br /> accept-ra: false<br /> addresses:<br /> - 2001:41d0:XXXX:XXXX::/64<br /> dhcp4: true<br /> gateway6: 2001:41d0:XXXX:XXff:ff:ff:ff:ff<br /> match:<br /> macaddress: ZZ:ZZ:ZZ:ZZ:ZZ:ZZ<br /> nameservers:<br /> addresses:<br /> - 2001:41d0:XXXX:XXXX::1<br /> routes:<br /> - to: 2001:41d0:XXXX:XXff:ff:ff:ff:ff/128<br /> via: &#39;::&#39;<br /> set-name: eno1<br />

- Ci-après le contenu de /etc/netplan/50-cloud-init.yaml avec l'ajout de l'IP v4 additionnelle a.b.c.d

<br /># This file is generated from information provided by the datasource. Changes<br /># to it will not persist across an instance reboot. To disable cloud-init&#39;s<br /># network configuration capabilities, write a file<br /># /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:<br /># network: {config: disabled}<br />---<br />network:<br /> version: 2<br /> ethernets:<br /> eno1:<br /> accept-ra: false<br /> addresses:<br /> - 2001:41d0:XXXX:XXXX::/64<br /> - a.b.c.d/32<br /> dhcp4: true<br /> match:<br /> macaddress: ZZ:ZZ:ZZ:ZZ:ZZ:ZZ<br /> nameservers:<br /> addresses:<br /> - 2001:41d0:YYYY:YYYY::1<br /> routes:<br /> - to: 2001:41d0:XXXX:XXff:ff:ff:ff:ff/128<br /> via: &#39;::&#39;<br /> set-name: eno1<br />

- Lors de l'exécution de "netplan try" ou "netplan apply", il y a un message de warning qui apparemment n'a pas de conséquence :
<br />WARNING:Cannot call openvswitch: ovsdb-server.service is not running.<br />

- Des modèles de fichier .yaml selon les configurations réseau sont dans /usr/share/doc/netplan/examples .

Bonjour @hapx,

Je vous remercie d'avoir apporté la solution à votre propre sujet :slight_smile:

Passez une excellente journée et une bonne navigation sur Community.

^FabL