07.06.2023

Comment configurer plusieurs interfaces réseau sur Ubuntu 18.04

Pour assurer le bon fonctionnement de plusieurs interfaces réseau avec des adresses IP publiques sur Ubuntu 18.04 en même temps, il ne suffit pas d'écrire pa de baserameters pour eux dans Netplan. Dans ce cas, tous les paquets quitteront le serveur via la passerelle par défaut, ce qui signifie que le serveur ne sera disponible qu'à une seule adresse IP publique. C'est le moins du routage par le destinatadresse ionique. Ici, nous allons ajouter les paramètres nécessaires dans Netplan pour que plusieurs interfaces réseau fonctionnent correctement sur Ubuntu 18.04.

Désactiver le réglage automatique de Netplan

Lorsque vous créez un Ubuntu 18.04 serveur dans Serverspace ou ajoutez-y de nouvelles interfaces réseau depuis le panneau de configuration, le pa de connexionramLes compteurs sont automatiquement configurés. De plus, lors d'un redémarrage du système, le fichier de configuration Netplan est également écrasé par le pa réel.rameters. Par conséquent, toutes les modifications apportées en mode manuel seront perdues. Pour éviter cela, désactivons cette fonction.
Assurez-vous d'abord que vous avez ajouté le nombre requis d'adaptateurs réseau au serveur, puis créez un fichier :

nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Avec le contenu suivant :

réseau : {config : désactivé}

Après avoir enregistré le fichier, la fonction de configuration automatique des interfaces réseau sera désactivée.

Routage pour plusieurs interfaces réseau

La tâche d'assurer la disponibilité du serveur via plusieurs connexions réseau et adresses IP sera résolue avec l'utilisation d'un routage basé sur des politiques, à savoir sur la base de l'adresse de l'expéditeur. Ainsi, chaque paquet sera envoyé depuis le serveur via la même adresse par laquelle il est arrivé. Tout d'abord, vous devez créer des tables de routage à cet effet, et pour cela, vous avez besoin du iproute2 forfait. S'il n'est pas présent dans le système, vous devez l'installer :

apt-get installer iproute2

Ouvrez maintenant le fichier :

nano /etc/iproute2/rt_tables

Il faut ajouter autant de tables à sa fin qu'il y a d'interfaces réseau à configurer. Un tableau est une seule ligne de deux nombres séparés par un space. Le premier chiffre est le priorité et le second est le nom de la table. Par exemple:

+60 (60)XNUMX XNUMX
+61 (61)XNUMX XNUMX
+62 (62)XNUMX XNUMX

Ainsi, nous ajouterons 3 tables. Il est maintenant temps d'ajouter des paramètres de routage à Netplan, ouvrez sa configuration à /etc/netplan/ des .yaml extension (le nom du fichier peut différer sur votre système) :

nano /etc/netplan/50-cloud-init.yaml

Netplan est sensible au formatage dans le fichier de configuration. Il est très important de garder le bon nombre de spaces et de ne pas utiliser d'onglets, sinon le résultat ne passera pas la vérification. Un exemple valide est présenté ci-dessous. Il montre un bloc de paramètres pour une interface (enp0s5), vous verrez les mêmes blocs dans la configuration pour chacune des connexions. Vous devez ajouter le routes ainsi que politique de routage paramètres dans chacun des blocs et laissez le reste des paramètres tels quels. Expliquernation des valeurs ajoutées :

  • à - n'importe quelle destinationnatIP du sous-réseau d'ions - 0.0.0.0/0
  • via - passerelle IP de la connexion réseau actuelle
  • table - nom de l'une des tables ajoutées à rt_tables. Doit correspondre pour routes ainsi que politique de routage de chaque connexion. Mais pour différentes interfaces - différentes tables.
  • de - adresse IP de cette interface
  • priorité - peut être laissé tel quel
réseau : version : 2 ethernets : enp0s5 : adresses : - 12.34.56.78/24 gateway4 : 12.34.56.1 match : macaddress : ee:ff:gg:hh:ii:jj mtu : 1500 nameservers : adresses : - 8.8.8.8 - 1.1.1.1 .8.8.4.4 - 0 recherche : [] set-name : enp5s0.0.0.0 routes : - to : 0/12.34.56.1 via : 60 table : 12.34.56.78 routing-policy : - from : 60 table : 300 priority : XNUMX

Après avoir terminé la modification de la configuration, vérifions qu'elle est correcte :

netplan générer

Si la sortie est vide, alors tout a été fait correctement. S'il y a des erreurs, vous verrez quelque chose comme ceci :

/etc/netplan/50-cloud-init.yaml:24:1 : YAML non valide : les tabulations ne sont pas autorisées pour l'indentation : - à : 0.0.0.0/0 ^

Des onglets ont été trouvés dans cet exemple. Après avoir corrigé les erreurs et réussi la validation, appliquez les modifications :

netplan appliquer

Désormais, le serveur sera accessible à toutes les adresses IP configurées de cette manière.