Every day: The server does not have an IPv6 address / Chaque jour : Le serveur ne dispose pas d'une adresse IPv6

:france: Coucou les ami-es,

Après 1 semaine de bataille acharnée nous y sommes parvenu-es :partying_face: Merci mille fois pour votre aide précieuse, encourageante et réconfortante :man_bowing: :hugs:

Merci particulièrement à @lab.8916100448256, @rodinux et @jarod5001 pour leur perspicacité, leur générosité et leur patience :face_blowing_a_kiss:

Alors je m’en suis bien sorti avec netplan mais ça a été laborieux :sweat_smile: Je vous fais un résumé de la solution qui fonctionne pour définir des adresses IPv4 et IPv6 statiques en lignes de commandes :wink:

1. Pour commencer il faut recueillir des informations qui vont nous servir pour la configuration :

  • Obtenir le nom de son interface réseau, ses adresses IP publiques, ses passerelles et ses DNS avec une seule commande : # networkctl status

2. Puis créer son fichier de configuration :

  • Vérifier si un fichier de configuration existe déjà # ls /etc/netplan

  • Si un fichier existe il faut le renommer pour le garder en sauvegarde, par exemple # sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.old

  • Puis créer un nouveau fichier de configuration, avec le même nom d’origine pas de problème # sudo nano /etc/netplan/50-cloud-init.yaml

  • Dans ce fichier vous mettez ¹ :

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:           # Nom de l'interface réseau (via networkctl status)
      accept-ra: no   # Désactiver DHCP pour IPv6 (dhcp6 ci-dessous ne suffit pas)
      dhcp4: false    # Désactiver DHCP pour IPv4
      dhcp6: false    # Désactiver DHCP pour IPv6
      addresses:
      - 37.156.46.63/24            # Votre adresse IPv4 CIDR (via networkctl status)
      - 2001:1600:16:10::603/128   # Votre adresse IPv6 CIDR (via networkctl status)
      routes:
      - to: default                       # Route par défaut pour IPv4
        via: 37.156.46.11                 # Passerelle IPv4 (via networkctl status)
      - to: "::/0"                        # Route par défaut pour IPv6 
        via: fe80::f816:3eff:fe2a:dd391   # Passerelle IPv6 (via networkctl status)
      nameservers:
        addresses:
        - 9.9.9.9           # Serveur DNS primaire IPv4 (dans cet exemple quad9)
        - 149.112.112.112   # Serveur DNS secondaire IPv4 (dans cet exemple quad9)
        - 2620:fe::fe       # Serveur DNS primaire IPv6 (dans cet exemple quad9)
        - 2620:fe::9        # Serveur DNS secondaire IPv6 (dans cet exemple quad9)

CTRL + O pour enregistrer puis CTRL + X pour quitter

  • Protéger le fichier créé # sudo chmod 600 /etc/netplan/50-cloud-init.yaml

  • Tester le fonctionnement du fichier # sudo netplan try -timeout 30

  • Appliquer le fichier en production, il sera mis en place à chaque (re-)démarrage du système # sudo netplan --debug apply

Je pense n’avoir rien oublié, dites-moi si vous voyez quelque chose qui ne va pas ou si vous avez un soucis, je suis maintenant un peu plus compétent pour vous aider :smiling_face:

Vive Yunohost et sa communauté :victory_hand:

¹ Assurez-vous que le fichier YAML est correctement indenté car l’indentation est importante dans les fichiers YAML.


:united_kingdom: Hello friends,

After a week of fierce battle, we made it :partying_face: Thank you so much for your invaluable, encouraging, and comforting help :man_bowing: :hugs:

Special thanks to @lab.8916100448256, @rodinux, and @jarod5001 for their insight, generosity, and patience :face_blowing_a_kiss:

So I did well with netplan, but it was laborious :sweat_smile: Here’s a summary of the solution that works for setting static IPv4 and IPv6 addresses from the command line :wink:

1. To begin, we need to gather some information that will be useful for the configuration:

  • Obtain the name of your network interface, your public IP addresses, your gateways, and your DNS with a single command: # networkctl status

**2. Then create your configuration file:

  • Check if a configuration file already exists: # ls /etc/netplan

  • If a file exists, rename it to keep it as a backup, for example: # sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.old

  • Then create a new configuration file, with the same original name (no problem): # sudo nano /etc/netplan/50-cloud-init.yaml

  • In this file, put:

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:           # Network interface name (via networkctl status)
      accept-ra: no   # Disable DHCP for IPv6 (dhcp6 below is not sufficient)
      dhcp4: false    # Disable DHCP for IPv4
      dhcp6: false    # Disable DHCP for IPv6
      addresses:
      - 37.156.46.63/24            # Your IPv4 CIDR address (via networkctl status)
      - 2001:1600:16:10::603/128   # Your IPv6 CIDR address (via networkctl status)
      routes:
      - to: default                       # Default route for IPv4
        via: 37.156.46.11                 # IPv4 gateway (via networkctl status)
      - to: "::/0"                        # Default route for IPv6
        via: fe80::f816:3eff:fe2a:dd391   # IPv6 gateway (via networkctl status)
      nameservers:
        addresses:
        - 9.9.9.9           # Primary IPv4 DNS server (in this example quad9)
        - 149.112.112.112   # Secondary IPv4 DNS server (in this example quad9)
        - 2620:fe::fe       # Primary IPv6 DNS server (in this example quad9)
        - 2620:fe::9        # Secondary IPv6 DNS server (in this example quad9)

CTRL + O to save then CTRL + X to exit

  • Protect the created file: # sudo chmod 600 /etc/netplan/50-cloud-init.yaml

  • Test the file’s functionality: # sudo netplan try -timeout 30

  • Apply the file in production, it will be installed each time the system is (re-)started: # sudo netplan --debug apply

I don’t think I’ve missed anything. Let me know if you see anything wrong or if you have a problem. I’m now a little more qualified to help you :smiling_face:

Long live Yunohost and its community :victory_hand:

¹ Make sure the YAML file is correctly indented as indentation is important in YAML files.

2 Likes