Comment ajouter une adresse IP supplémentaire à votre serveur Linux
Agence web » Actualités du digital » Comment ajouter une adresse IP supplémentaire à votre serveur Linux

Comment ajouter une adresse IP supplémentaire à votre serveur Linux

La plupart des serveurs Linux, y compris les serveurs privés virtuels, sont livrés avec une adresse IP publique à laquelle vous pouvez vous connecter. Cependant, la carte réseau physique utilisée pour effectuer la connexion peut prendre en charge n’importe quel nombre d’adresses IP. Voici comment en ajouter un nouveau à votre serveur.

Pourquoi utiliser une autre adresse IP ?

Avoir plusieurs adresses est génial pour un certain nombre de raisons. Le principal avantage est de pouvoir exécuter plusieurs applications sur le même port, mais sur des adresses différentes. Par exemple, vous ne pouvez pas exécuter NGINX et Apache en même temps, car ce sont deux serveurs Web qui doivent utiliser le port 80. Cependant, si vous exécutez NGINX lié à une adresse IP et Apache lié à une autre, vous pouvez le faire sans aucun conflit.

Dans ce cas de diffusion de contenu Web, vous pouvez également résoudre ce problème avec un proxy inverse, un type de serveur Web qui se trouve devant votre contenu, écoute sur un port et dirige le contenu vers d’autres emplacements, souvent plusieurs emplacements différents.

Cependant, avoir plusieurs adresses IP réelles peut être beaucoup plus simple sans configuration de proxy inverse à maintenir. Vous démarrez simplement les services sur la bonne adresse, et il écoutera directement sur cette adresse.

Plusieurs adresses fonctionnent également très bien avec Docker, qui est un outil qui peut regrouper des applications dans des conteneurs portables et les exécuter n’importe où. Avoir plusieurs adresses IP externes pour lier les conteneurs permet à votre serveur d’exécuter facilement de nombreuses applications différentes sur une seule machine.

Comment puis-je obtenir plus d’adresses IP ?

Il reste un nombre fini d’adresses IP publiques dans le monde, et la plupart sont déjà attribuées à des sociétés Internet. Pour en obtenir plus, vous devrez les acheter ou les louer auprès de votre hébergeur. La plupart des fournisseurs de cloud traditionnels auront une option pour des adresses IP supplémentaires, mais la configuration dépendra de ce que vous utilisez.

Par exemple, si vous êtes sur AWS, vous avez probablement déjà une adresse IP Elastic pour vos instances EC2. Cependant, vous pouvez simplement ajouter plus d’adresses IP élastiques, au prix de 3,65 $ par mois pour chacune.

D’autres fournisseurs de cloud peuvent vous permettre d’acheter des blocs entiers d’adresses. OVH, l’un des plus grands fournisseurs de serveurs dédiés, propose des blocs CIDR d’une taille allant jusqu’à /24, moyennant des frais uniques.

Les grandes entreprises qui souhaitent posséder et contrôler directement une grande quantité d’espace d’adressage IPv4 peuvent également acheter des blocs entiers directement auprès de l’IANA (via une société de courtage). Cependant, cela coûte cher – souvent plus de 50 $ par adresse, et les gros blocs coûtent des dizaines, voire des centaines de milliers de dollars.

Comment fonctionnent plusieurs adresses IP ?

La mise en réseau Linux est un peu bizarre. Chaque carte réseau physiquement connectée à votre serveur apparaîtra dans ip addr show en tant qu’interface réseau comme eth0 ou eno1. Il peut également exister différents types d’interfaces virtuelles, mais toutes les connexions réelles sortant du serveur passent par une interface réseau physique.

Les adresses IP sont différentes – ce ne sont pas des éléments tangibles associés à l’interface réseau de votre serveur, ce sont simplement une abstraction utilisée pour identifier les serveurs pour le routage. Votre fournisseur d’hébergement recevra une demande, et si elle est destinée à une adresse IP que vous possédez, elle sera acheminée vers votre serveur en utilisant la configuration de routage de l’hôte.

L’élément clé est que l’interface réseau de votre serveur doit être configuré dans le logiciel pour recevoir cette demande. Si votre serveur n’a pas l’adresse ajoutée à la configuration d’une interface réseau, il ne répondra pas. Vous pouvez techniquement configurer votre serveur pour qu’il écoute sur n’importe quelle adresse, même celles que vous ne possédez pas, même si cela ne ferait rien.

Les adresses IP sont allouées en blocs, représentés en notation CIDR. Le plus petit est /32, qui représente une seule adresse. Plus le nombre diminue, plus le nombre d’adresses augmente.

192.168.0.0/24 -> 192.168.0.0 to 192.168.0.255

Configuration de Linux pour utiliser plusieurs adresses IP

La configuration du réseau Linux peut être difficile et il existe plusieurs outils pour la rendre plus facile. L’un des meilleurs est netplan, créé par l’équipe derrière Ubuntu. Il configure les interfaces réseau à l’aide de modèles YAML simples. Il devrait être installé par défaut sur la plupart des systèmes.

Créer un nouveau modèle dans /etc/netplan/config.yaml:

sudo nano /etc/netplan/config.yaml

Ensuite, ajoutez votre configuration. Notez que cet exemple est pour l’interface eno1qu’il faudra peut-être remplacer par eth0 ou quelque chose de similaire.

network:
    version: 2
    ethernets:
        eno1:
            addresses:
            - 123.1.2.3/32

Vous pouvez spécifier ici plusieurs blocs d’adresses ou des adresses IP uniques au singulier /32 blocs.

Une fois configuré, exécutez netplan try pour le tester. Si la configuration est défectueuse, elle sera annulée.

sudo netplan try

Si cela fonctionne, appliquez la configuration :

sudo netplan apply

Vous pouvez déboguer votre routage en exécutant tcpdump pour afficher les requêtes envoyées à une interface :

★★★★★