Base documentaire GNU/Linux et développement

Fiches techniques pour la configuration de machines GNU/Linux, de réseau et de développement logiciel

Outils pour utilisateurs

Outils du site


administration-systemes:reseau:gestion-reseau

Gestion du réseau

La gestion du réseau s’effectue sous RHEL, CentOS et Fedora de deux façons, en fonction du contexte. Dans un environnement limité faisant fonctionner des serveurs, on utilisera plutôt le service networks, alors que dans des environnements graphiques, on pourra préférer, parce que les configurations évolueront plus souvent, NetworkManager.

Le premier utilise des scripts de configuration localisés dans /etc/sysconfig/network-scripts alors que le second est un service utilisant DBus. Dans tous les cas, les deux fonctionnent très bien ensemble et répondent aux mêmes besoins.

Avec les scripts réseau

Les interfaces réseaux gérées sont configurées par des fichiers de description placés dans /etc/sysconfig/network-scripts/. Une documentation complète est fournie par RedHat. Le service du gestion du réseau networks utilise un ensemble de fichiers de configuration présents dans ce répertoire. Ces fichiers sont gérés par les commandes ifup et ifdown.

Divers fichiers sont présents dans ce répertoire :

  • ifcfg-* : description des interfaces, lorsqu’une interface est démarrée, elle se configure avec les informations qui y sont précisées ;
  • route-* : description des routes liées à une interface (ex : route-eth0). Elle sont exécutées comme des appels à ip route add <ligne_fichier> ;
  • rule-* : description des règles liées à une interface. Elles sont exécutées comme des appels à ip rule add <ligne_fichier>.

Configuration d’une interface réseau et routage statique

Création d’une interface réseau

Dans le cas d’une installation du routeur orion avec une image spécifique à l’infonuagique, elle n’est pas prévue pour faire fonctionner deux interfaces réseau. La seconde qui est ajoutée à la création de la machine virtuelle n’est pas gérée par un fichier de configuration d’interface. Pour demande au service network de gérer cette interface, on créera un fichier /etc/sysconfig/network-scripts/ifcfg-eth0. Tous les mots clefs sont disponibles sur la documentation RedHat. :

BOOTPROTO=dhcp
DEVICE=eth0
USERCTL=no
HWADDR=52:54:00:00:01:02
TYPE=Ethernet
DEFROUTE=yes
ONBOOT=yes

Dès lors, l’interface disposant de l’adresse MAC mentionnée dans ce fichier sera démarrée et recevra son adresse IP du serveur DHCP auquel elle est rattachée.

Configuration statique du routage

Dans le cas de la topologie virtuelle gérée par virt, c’est l’interface virbrint qui sera considérée sur la machine hôte, suivant les règles de routage précisées pour router en fonction de la source d’un paquet. Ces descriptions sont gérées par les scripts présents dans le répertoire de configuration.

NEW De récentes modifications ont introduit la possibilité de configurer un politique de routage basée sur les adresses sources (BZ #1436531)

Gestion des règles

Les règles sont décrites dans dans le fichier /etc/sysconfig/network-scripts/rule-virbrint :

from 192.168.123.0/24 table interne

Il est évidemment nécessaire d’ajouter la table interne dans le fichier /etc/iproute2/rt_tables. Les commandes doivent être écrites en considérant qu’elles sont utilisées comme arguments de ip rule add ligne-fichier.

Gestion des routes

Les routes sont décrites dans le fichier /etc/sysconfig/network-scripts/route-virbrint :

192.168.123.0/24 via 172.18.0.253 dev virbrext table main
192.168.123.0/24 dev virbrint table interne

Les commandes doivent être écrites en considérant qu’elles sont utilisées comme arguments de ip route add ligne-fichier.

Avec NetworkManager

NetworkManager se configure en ligne de commandes via nmcli, ou via l’interface graphique nm-connection-editor. Une interface est également disponible en mode texte. nmcli est cependant le plus complet. Des exemples peuvent être trouvés dans le manuel nmcli-examples.

Configuration d’une interface réseau

Pour ajouter un profil de connexion pour une interface, on utilise nmcli connection add, par exemple pour une connection Ethernet :

nmcli connection add type ethernet ifname enp2s0

On peut ajouter différent types de connection :

nmcli connection add -h

Gestion des paramètres IPv4

Il est possible de modifier les paramètres IPv4, par exemple avec la commande nmcli connection mod ou nmcli c m :

nmcli c m ethernet-enp2s0 ipv4.gateway 192.168.1.1 ipv4.dns 192.168.1.1 ipv4.dns-search guillaume-bernard.fr ipv4.address 192.168.1.12

Et afficher les paramètres en question :

nmcli c s ethernet-enp2s0

Création d’un pont

Un pont réseau est utile lorsque l’on doit partager une unique interface physique avec plusieurs interfaces logiques, par exemple pour utiliser des machines virtuelles aisément et adressées sur le même réseau que l’interface physique. Ce document est un résumé appliqué à un cas d’utilisation de la documentation fournie par RedHat.

Ici, je vais créer un pont sur CentOS 7 pour mon interface physique enp2s0. L’interface de ce pont sera br0 et son nom pour NetworkManager sera bridge-br0.

nmcli con add type bridge ifname br0
nmcli con add type bridge-slave ifname enp2s0 master bridge-br0

Il peut être utile, sur certains réseau de désactiver le « Spanning Tree Protocol (STP) » :

nmcli con modify bridge-br0 bridge.stp no

Enfin, on désactive la connextion enp2s0 pour activer la connexion via le pont bridge-br0 :

nmcli con down Ethernet # enp2s0
nmcli con up bridge-br0
administration-systemes/reseau/gestion-reseau.txt · Dernière modification: 2018/05/11 18:38 par Guillaume Bernard