Ajouter une adresse IP sous Linux : lier une IPv4 supplémentaire sur Ubuntu, Debian, CentOS et Rocky Linux

16 min de lecture 4 vues 0
Sommaire

Si vous avez commandé des adresses supplémentaires pour un serveur cloud JUSTG ou un bloc /24 pour un serveur dédié à Johannesburg ou Moscou, vous devez ajouter l'adresse IP supplémentaire sous Linux avant qu'elle ne réponde au trafic. Ce guide montre comment lier une IPv4 temporairement avec ip addr add, comment la rendre persistante avec netplan sous Ubuntu, /etc/network/interfaces sous Debian et nmcli sous CentOS/Rocky/AlmaLinux, comment gérer des IP d'un autre sous-réseau avec le routage par source, et comment lier un /24 complet avec une boucle. Les exemples utilisent des plages de documentation ; remplacez-les par l'IP, le préfixe et la passerelle indiqués pour votre service dans l'espace client.

Une erreur réseau peut couper votre session SSH. Gardez à portée de main la console VNC ou IPMI de l'espace client (Espace client, Mes produits et services, choisissez le serveur, puis Gérer ou Panneau de contrôle ; si vous ne la trouvez pas, ouvrez un ticket) et ne liez que les adresses qui vous ont été attribuées.

Étape 1 : Vérifier le nom de l'interface et les IP actuelles

La vue abrégée de ip liste chaque interface avec ses adresses. Notez l'interface qui porte l'IP principale (souvent eth0, ens3 ou enp1s0) et la passerelle par défaut.

ip -br a
ip route show default

Étape 2 : Ajouter l'IP temporairement avec ip addr add (pour tester)

Le moyen le plus rapide de tester une nouvelle adresse est de l'ajouter à chaud. Elle disparaît au redémarrage, ce qui rend ce premier essai sans risque.

# add the extra IPv4 (not persistent, lost after reboot)
ip addr add 203.0.113.11/24 dev eth0

# confirm and test outgoing traffic from the new address
ip -br a show eth0
ping -c 3 -I 203.0.113.11 1.1.1.1

# remove it again if needed
ip addr del 203.0.113.11/24 dev eth0

Si le ping depuis la nouvelle adresse source fonctionne, l'IP est correctement routée vers votre serveur et vous pouvez la rendre permanente.

Étape 3 : Rendre l'IP supplémentaire persistante avec netplan sous Ubuntu

Ubuntu stocke sa configuration réseau dans des fichiers YAML sous /etc/netplan/. Ajoutez la nouvelle adresse à la liste addresses de l'interface. L'indentation doit utiliser uniquement des espaces.

# /etc/netplan/50-cloud-init.yaml (the file name may differ)
network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 203.0.113.10/24
        - 203.0.113.11/24
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
netplan try      # rolls back automatically if you lose access and do not confirm
netplan apply

Si le serveur a été déployé par cloud-init et que vos modifications sont écrasées au redémarrage, désactivez la gestion réseau de cloud-init :

echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Étape 4 : Ajouter l'IP sous Debian avec /etc/network/interfaces

Debian avec ifupdown accepte plusieurs blocs iface pour la même interface ; chaque bloc supplémentaire ajoute une adresse.

# /etc/network/interfaces
auto eth0
iface eth0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1

iface eth0 inet static
    address 203.0.113.11/24

Appliquez la modification depuis la console VNC, ou redémarrez pendant une fenêtre de maintenance :

systemctl restart networking

Étape 5 : Ajouter l'IP sous CentOS, Rocky Linux ou AlmaLinux avec nmcli

Ces systèmes utilisent NetworkManager. Le nom de la connexion peut être System eth0, eth0 ou Wired connection 1 : listez-le d'abord. Le préfixe + ajoute l'adresse au lieu de remplacer l'adresse principale.

nmcli con show                       # find the connection name
nmcli con mod "System eth0" +ipv4.addresses 203.0.113.11/24
nmcli con up "System eth0"
nmcli -g ipv4.addresses con show "System eth0"

Ensuite, lancez ip -br a pour vérifier que les deux adresses sont bien présentes sur l'interface.

Étape 6 : Routage par source lorsque les IP sont dans des sous-réseaux différents

Si l'IP supplémentaire appartient à un autre sous-réseau avec sa propre passerelle, les réponses peuvent sortir par la passerelle principale avec une mauvaise source et être rejetées. Le routage par politique fait sortir le trafic de l'IP supplémentaire par sa propre passerelle :

# extra IP 198.51.100.10 with its own gateway 198.51.100.1
ip addr add 198.51.100.10/24 dev eth0
ip route add default via 198.51.100.1 dev eth0 table 100
ip rule add from 198.51.100.10 table 100
ip rule show

Pour le conserver après redémarrage, utilisez les réglages persistants équivalents :

# netplan: add under eth0
      routes:
        - to: default
          via: 203.0.113.1
        - to: default
          via: 198.51.100.1
          table: 100
      routing-policy:
        - from: 198.51.100.10
          table: 100

# nmcli (CentOS / Rocky / AlmaLinux)
nmcli con mod "System eth0" +ipv4.routes "0.0.0.0/0 198.51.100.1 table=100" \
  +ipv4.routing-rules "priority 100 from 198.51.100.10 table 100"
nmcli con up "System eth0"
Si le bloc supplémentaire est routé vers votre IP principale sans passerelle distincte, le routage par politique est inutile ; ajoutez simplement les adresses avec un préfixe /32.

Étape 7 : Lier un /24 complet sur un serveur dédié JUSTG

Un /24 contient 256 adresses. Vérifiez la passerelle et la plage utilisable dans votre attribution ; dans l'exemple ci-dessous, .1 est la passerelle et .2 à .254 sont utilisables. Une boucle les ajoute toutes pour un test :

# example: 198.51.100.0/24, gateway 198.51.100.1, usable .2 - .254
for i in $(seq 2 254); do
  ip addr add 198.51.100.$i/24 dev eth0
done
ip -4 -o addr show dev eth0 | wc -l

Pour une configuration permanente, générez-la plutôt que de taper 253 lignes à la main :

# Ubuntu (netplan): print the address lines, then paste them under "addresses:"
for i in $(seq 2 254); do echo "        - 198.51.100.$i/24"; done

# Debian (/etc/network/interfaces): one line inside the eth0 stanza
    up for i in $(seq 2 254); do ip addr add 198.51.100.$i/24 dev eth0; done

# CentOS / Rocky / AlmaLinux (NetworkManager)
ADDRS=$(for i in $(seq 2 254); do printf "198.51.100.%s/24," "$i"; done)
nmcli con mod "System eth0" +ipv4.addresses "${ADDRS%,}"
nmcli con up "System eth0"

Après un redémarrage, comptez les adresses avec ip -4 -o addr show dev eth0 | wc -l pour confirmer qu'elles sont toutes revenues.

Questions fréquentes

Comment obtenir plus d'adresses IPv4 pour mon VPS ?

Chaque serveur cloud JUSTG inclut une IPv4. Des IPv4 supplémentaires se commandent via les options de mise à niveau de l'espace client, et tous les serveurs cloud peuvent utiliser l'IPv6 gratuitement.

La nouvelle IP apparaît dans ip -br a mais reste injoignable. Que vérifier ?

Comparez le préfixe et la passerelle avec votre attribution, vérifiez que le pare-feu autorise le service sur cette adresse et testez avec ping -I. Si cela échoue encore, l'IP n'est peut-être pas encore routée vers votre serveur.

Quelle adresse le serveur utilise-t-il pour les connexions sortantes ?

L'adresse principale (la première) du sous-réseau. Les applications peuvent se lier à une IP précise, ou vous pouvez définir l'option src sur une route.

Si le problème persiste, ouvrez un ticket auprès du support technique JUSTG en joignant votre attribution d'IP et la sortie de ip -br a.

Cette réponse était-elle pertinente?