Pour les VPS achetés après le 16/05/2023

Dans cet article, nous vous montrons comment ajouter une adresse IPv4 publique supplémentaire sur un VPS sur lequel Ubuntu 20.04, Ubuntu 22.04 ou Debian 12 est installé.

Dans les images de IONOS pour Ubuntu 20.04 et Ubuntu 22.04, la configuration du réseau est effectuée via netplan. La configuration du réseau n'est plus contrôlée par le fichier /etc/network/interfaces, mais par des fichiers avec l'extension .yaml, qui se trouvent dans le répertoire /etc/netplan. S'il y a plusieurs fichiers dans ce répertoire, ils seront chargés dans l'ordre lexical.

Voici comment configurer une autre adresse IPv4 publique dans Ubuntu 20.04 et 22.04 :

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

  • Vous avez ouvert une session sur le serveur.

  • Vous avez noté les adresses IPv4 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, saisissez la commande suivante :

  • 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

Remarque

Si le répertoire /etc/netplan n'existe pas, c'est que netplan n'a pas été installé. Dans ce cas, n'installez pas Netplan, mais suivez dans ce cas les étapes décrites dans l'article suivant :

Ajouter des adresses publiques IPv4 et IPv6 sur un serveur Linux (Ubuntu et Debian)

Déterminer l'interface réseau

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

[root@localhost ~]# ip addr

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

root@ubuntu:/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:95:f5:d9 brd ff:ff:ff:ff:ff:ff
    inet 195.20.234.94/32 scope global dynamic ens6
       valid_lft 463sec preferred_lft 463sec
    inet6 fe80::1:e4ff:fe95:f5d9/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

  • Pour afficher la passerelle par défaut de l'interface active, saisissez la commande suivante :

    [root@localhost ~]# ip 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 195.20.234.1 dev ens6 proto dhcp src 195.20.234.94 metric 100

Ajouter une adresse IPv4

  • 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 
          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 ACTIVE
      version: 2

    Exemple :

    network:
      version: 2
      renderer: networkd
      ethernets:
        ens6:
          addresses:
            - 195.20.234.94/32
            - 195.20.234.86/32
          nameservers:
            addresses:
              - 212.227.123.16
              - 212.227.123.17  
          routes:
            - on-link: true
              to: default
              via: 195.20.234.1
      version: 2

  • Remplacez le caractère générique INTERFACE RESEAU par l'interface Device ens192. Saisissez ensuite l'adresse IPv4 principale et l'adresse IPv4 supplémentaire. Pour ce faire, remplacez les caractères génériques.

 

 

Attention
  • Les indentations 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 ACTIVE par la passerelle IPv4 déterminée.

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

  • Pour modifier les permissions 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 cela, 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 via la console à distance et corriger la configuration.

Plus d'informations

Vous trouverez ici de plus amples informations sur netplan :

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

https://netplan.io/examples/