Pour les VPS acquis après le 16/05/2023

Lorsque vous attribuez une adresse IPv4 et une ou deux adresses IPv6 à un VPS, ces adresses IP sont automatiquement configurées dans le système d'exploitation.

Dans cet article, nous vous montrons comment configurer manuellement les adresses IPv4 et IPv6 publiques dans le système d'exploitation d'un VPS sur lequel Ubuntu 20.04, Ubuntu 22.04 ou Debian 12 est installé. Cela est nécessaire lorsque vous attribuez deux adresses IPv4 et au moins une adresse IPv6au VPS .

La configuration du réseau est effectuée dans les images IONOS pour Ubuntu 20.04, Ubuntu 22.04 et Debian 12 via netplan. La configuration du réseau est contrôlée par des fichiers avec l'extension .yaml qui se trouvent dans le répertoire /etc/netplan. Si plusieurs fichiers sont présents dans ce répertoire, ils sont chargés dans l'ordre lexical.

Voici comment configurer une adresse IPv4 publique supplémentaire dans Ubuntu 20.04, Ubuntu 22.04 et Debian 12 :

Conditions préalables
  • Vous avez attribué une adresse IPv6 publique supplémentaire à votre serveur dans le Cloud Panel.

  • Vous avez ouvert une session sur le serveur.

  • Vous avez noté les adresses IPv6 du serveur.

Vérifier si netplan est utilisé pour la configuration du réseau

Pour vérifier si votre serveur utilise déjà netplan pour la configuration du réseau, procédez comme suit :

  • Allez dans le répertoire /etc/netplan.

    [root@localhost ~]# cd /etc/netplan

  • Vérifiez qu'il n'y a pas déjà un fichier de configuration dans ce répertoire. Pour cela, saisissez la commande suivante :

    [root@localhost ~]# ls

Déterminer l'interface réseau

Déterminez le nom de fichier de l'interface réseau. Pour cela, saisissez la commande suivante :

[root@localhost ~]# ip addr

Dans cet exemple, le nom de l'interface réseau est ens6 :

root@localhost:/etc/netplan# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 02:01:e4:5c:32:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    inet 82.165.34.29/32 metric 100 scope global dynamic ens6
       valid_lft 429sec preferred_lft 429sec
    inet6 2a02:247a:21f:9c00::/128 scope global dynamic noprefixroute
       valid_lft 3598sec preferred_lft 2598sec
    inet6 2a02:247a:21f:9c00::1/128 scope global dynamic noprefixroute
       valid_lft 3598sec preferred_lft 2598sec
    inet6 fe80::1:e4ff:fe5c:324e/64 scope link
       valid_lft forever preferred_lft forever

Afficher le serveur DNS par défaut

  • Pour afficher les serveurs DNS utilisés, saisissez la commande suivante :

    [root@localhost ~]# resolvectl --no-pager |grep Server

    Ensuite, les serveurs DNS utilisés seront affichés à la fin de la sortie.

    Exemple :

    [root@localhost ~]# resolvectl --no-pager |grep Server
    Current DNS Server: 212.227.123.16
           DNS Servers: 212.227.123.16 212.227.123.17

  • Notez les serveurs DNS.

Afficher la passerelle pour IPv4 et IPv6

  • Pour afficher la passerelle par défaut de l'interface active, saisissez les commandes suivantes :

    IPv4 :

    [root@localhost ~]# ip route show | grep 'default'

    IPv6 :

    [root@localhost ~]# ip -6 route show | grep 'default'

  • Notez les adresses IP des passerelles. Elles sont listées directement après la partie default via. Exemple :

    Passerelle IPv4

    root@ubuntu:~# ip route show | grep 'default'
    default via 82.165.34.1 dev ens6 proto dhcp src 195.20.234.94 metric 100

    Passerelle IPv6

    root@localhost:~# ip -6 route show | grep 'default'
    default via fe80::1 dev ens192 proto ra metric 100 expires 4sec pref high

    Dans cet exemple, fe80::1 est la passerelle IPv6.

Ajouter des adresses IPv4 et IPv6

  • Vérifiez qu'il n'y a pas déjà un fichier de configuration dans ce répertoire. Pour cela, saisissez les commandes suivantes :

    [root@localhost ~]# cd /etc/netplan
    [root@localhost ~]# ls /etc/netplan

  • Si un fichier de configuration se trouve dans ce répertoire, renommez-le. Pour ce faire, saisissez la commande suivante et remplacez les caractères génériques.

    root@localhost ~]# mv ANCIEN_FICHIER_DE_CONFIGURATION.yaml ANCIEN_FICHIER_DE_CONFIGURATION.yaml.old

    Exemple :

    [root@localhost ~]# mv 50-cloud-init.yaml 50-cloud-init.yaml.old

Attention !

Si le fichier 00-Public_network.yaml se trouve dans le répertoire, ne le renommez pas, car ce fichier est nécessaire pour le réseau public.

  • Créez le fichier /etc/netplan/01-netcfg.yaml avec l'éditeur vi. Pour cela, saisissez la commande suivante :

    [root@localhost ~]# vi etc/netplan/01-netcfg.yaml

Remarque

L'éditeur vi dispose d'un mode d'insertion et d'un mode de commande ou d'instruction. Vous pouvez accéder au mode d'insertion en appuyant sur la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour accéder au mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

  • Ajoutez les informations suivantes :

    network:
      version: 2
      renderer: networkd
      ethernets:
        INTERFACE RESEAU :
          addresses:
            - ADRESSE IPv4 PRINCIPALE/32
            - ADRESSE IPv4 SUPPLEMENTAIRE/32
            - ADRESSE IPv6 PRINCIPALE/64
            - ADRESSE IPv6 SUPPLEMENTAIRE_1/64 
     
          nameservers:
            addresses:
              - ADRESSE IP DU SERVEUR DE NOM 1
              - ADRESSE IP DU SERVEUR DE NOM 2 
          routes:
            - on-link: true
              to: default
              via: PASSERELLE PAR DEFAUT DE L'INTERFACE ACTIF
      version: 2

    Exemple :

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens6:
          addresses:
            - 82.165.34.29/32
            - 195.20.236.17/32
            - 2a02:247a:21f:9c00::1/64
            - 2a02:247a:021f:9c00:0000:0000:0000:0000/64 
          nameservers:
            addresses:
              - 212.227.123.16
              - 212.227.123.17  
          routes:
            - on-link: true
              to: default
              via: 82.165.34.1
      version: 2

  • Remplacez le caractère générique INTERFACE RESEAU par l'interface réseau que vous avez déterminée. Saisissez ensuite l'adresse IPv4 principale, l'adresse IPv4 supplémentaire et les adresses IPv6. Pour ce faire, remplacez les caractères génériques.

Attention

Les indentations (espaces en début de ligne) font partie de la syntaxe du format YAML. Veillez donc à ce qu'elles soient correctement respectées. Dans le cas contraire, la configuration ne peut pas être reprise correctement et le serveur peut ne plus être accessible. Utilisez toujours la barre d'espace pour les indentations.

  • Remplacez les caractères génériques ADRESSE IP DU SERVEUR DE NOM 1 et ADRESSE IP DU SERVEUR DE NOM 2 par les serveurs de noms déterminés.

  • Remplacez le caractère de remplacement PASSERELLE PAR DEFAUT DE L'INTERFACE ACTIF par la passerelle IPv4 déterminée.

  • Pour quitter vi et enregistrer le fichier, saisissez la commande :wq et appuyez ensuite sur la touche Entrée.

  • Pour modifier les autorisations du fichier 01-netcfg.yaml de sorte que seul le compte root puisse lire et modifier le fichier, saisissez la commande suivante :

    root@localhost:~# sudo chmod 600 /etc/netplan/01-netcfg.yaml

  • Pour vérifier le fichier de configuration, saisissez la commande suivante :

    root@localhost:~# netplan --debug apply

Attention

Les modifications que vous avez apportées au fichier /etc/netplan/01-netcfg.yaml restent valables et vous devez les modifier si elles ne sont pas correctes. Dans le cas contraire, le système d'exploitation tentera de les charger après un redémarrage.

  • Effectuez un redémarrage du serveur pour que les modifications soient prises en compte. Pour ce faire, saisissez la commande suivante :

    root@localhost:~# systemctl reboot

  • Pour vérifier si l'adresse IPv4 supplémentaire a été correctement configurée, saisissez la commande suivante :

    root@localhost:~# ip addr

Remarque

Si le serveur n'est plus accessible en raison d'une erreur de configuration, vous pouvez vous connecter au serveur à l'aide de la Console à distance et corriger la configuration.

Plus d'informations

Pour plus d'informations concernant netplan, consultez les sites suivants (en anglais) :

http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html

https://netplan.io/examples/