Comment configurer plusieurs interfaces réseau sur CentOS 8
S'il existe 2 interfaces réseau ou plus avec des adresses IP publiques dans le système, il ne suffit pas de définir les paramètres réseau corrects pour garantir leur disponibilité à partir d'Internet. L'inconvénient du routage par défaut est que tous les paquets réseau quitteront l'hôte via la passerelle par défaut. Et en même temps, peu importe à quelle interface ils sont venus initialement. Dans ce didacticiel, nous allons configurer la disponibilité de plusieurs interfaces réseau depuis l'extérieur dans CentOS 8 en utilisant le routage basé sur la source.
Interface réseau parameters
Serveurs cloud dans Serverspace ont pour fonction de configurer automatiquement les interfaces réseau lors de leur ajout ou de la création d'un serveur. Par conséquent, si vous les utilisez, passez à l'étape suivante. Sinon, vous devez d'abord définir le bon parammètre des interfaces réseau.
Ouvrez le fichier de paramètres d'interface réseau. Leurs noms peuvent être consultés à l'aide de la ip a commande, ou définissez-en de nouvelles si elles ne sont pas configurées.
nano /etc/sysconfig/network-scripts/ifcfg-enp0s5
Vous pouvez copier la configuration ci-dessous et remplacer les valeurs suivantes par les vôtres :
- nom de l'interface (enp0s5)
- passerelle (GATEWAY)
- Adresse MAC (HWADDR)
- Adresse IP (IPADDR)
- masque de sous-réseau (NETMASK)
BOOTPROTO=none
DEFROUTE=yes
DEVICE=enp0s5
GATEWAY=54.43.32.1
HWADDR=56:67:78:89:01:ab
IPADDR=54.43.32.11
MTU=1500
NETMASK=255.255.255.0
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
Configurez toutes les interfaces réseau de la même manière. GATEWAY pour les deuxième, troisième, etc., les interfaces ne sont pas spécifiées, puisqu'il s'agit de la passerelle par défaut et qu'il ne devrait y en avoir qu'une seule.
Désactiver le gestionnaire de réseau
Nous allons configurer le routage basé sur des règles à l'aide de scripts réseau, nous allons donc désactiver Gestionnaire de réseau et prestations associées :
systemctl mask NetworkManager.service
systemctl stop NetworkManager.service
systemctl mask NetworkManager-wait-online.service
systemctl mask NetworkManager-dispatcher.service
Installez l' scripts réseau paquet.
dnf install network-scripts
Commençons le service réseau:
systemctl enable network
systemctl start network
Configuration du routage basé sur la source
Vérifions si le iproute le paquet est présent. Sinon, installez-le.
dnf install iproute
Ajoutez de nouvelles tables pour configurer les politiques de routage.
nano /etc/iproute2/rt_tables
Ajoutez des enregistrements à la fin du fichier :
400 400
401 401
Chaque ligne est une nouvelle table. Format d'enregistrement - priorité espace nom de la table. Ces valeurs doivent être uniques par rapport aux autres entrées du fichier. Les priorité est numérique, et le nom de la table peut contenir des lettres. Ajoutez autant de nouvelles tables qu'il y a d'interfaces que vous configurez.
Les fichiers suivants contiendront les paramètres de routage. Pour chaque interface, vous devez créer une paire de fichiers : règle-eth-nom, route-eth-name, Où eth-nom doit être remplacé par le nom de l'interface. Exemple pour enp0s5 interface:
nano /etc/sysconfig/network-scripts/rule-enp0s5
Insérez-y la ligne suivante avec l'adresse IP actuelle au lieu de 54.43.32.11 et le nom de la table créée à l'étape précédente au lieu de 400:
from 54.43.32.11 lookup 400
Deuxième fichier :
nano /etc/sysconfig/network-scripts/route-enp0s5
remplacer 54.43.32.0/24 avec l'adresse de votre sous-réseau, enp0s5 avec le nom de l'interface, 400 avec le nom de la table correspondante, et 54.43.32.1 avec la passerelle pour le routage du trafic et insérez-la dans le fichier ouvert :
54.43.32.0/24 dev enp0s5 table 400
default dev enp0s5 via 54.43.32.1 table 400
Après avoir créé de tels fichiers pour chaque interface réseau, redémarrez le service réseau et notre objectif est atteint.
systemctl restart network


