Gestion du réseau

Préalables

Travail à faire : Lisez la partie réseau du cours.
Travail à faire : Pour utiliser les commandes historiques, installez les packages suivants  :
dnf -y install tcpdump net-tools pciutils

Configuration du réseau

  • Dans les anciennes versions, les fichiers de configuration du réseau se trouvaient dans le répertoire /etc/sysconfig. Ce n'est plus le cas.
  • La mise en oeuvre est réalisée automatiquement par le service NetworkManager ou statiquement par le service network. Retrouvez les fichiers de configuration dans le répertoire /etc/NetworkManager.
  • La configuration est réalisée par l'utilitaire nmtui de connexions réseau pour les deux parties.
  • Les serveurs utilisent de préférence une configuration statique et les postes de travail une configuration automatique.
Travail à faire : Vérifiez quel est le système utilisé sur votre machine.

Observer le réseau

  • Observez les cartes réseau PCI (avec lspci ) :
lspci | fgrep -i ethernet
  • Observez la détection faite par le noyau (le 03:00 provient de la commande précédente) :
journalctl | fgrep 03:00
  • Observez les cartes réseau disponibles : ip link (ou l'historique ifconfig ).
  • Observez la configuration des cartes et notez les paramètres : ip addr (ou l'historique ifconfig ).
  • Observez la configuration des routes et notez les paramètres : ip route (ou l'historique route ).
  • Suivez les démons qui écoutent sur un port et les connexions réseau : ss -lp -tcp (ou l'historique netstat -tap ).
  • Avec tcpdump tracez les connexions réseau utilisant ping et/ou ssh entre deux machines particulières (une des deux doit être la votre !).
tcpdump host votre_machine
  • Vous pouvez également utiliser la commande wireshark (package wireshark).

Défaire la configuration réseau

Stopper
  • Stoppez le démon de configuration automatique :
    systemctl stop NetworkManager
    
  • Stoppez le service réseau :
    systemctl stop network.target
    
Nettoyage des modules du noyau :
  • Repérez les interfaces Ethernet (avec ip link ).
  • Arrêtez-les avec
    ifconfig nom-interface down               # historique
    ip link set dev nom-interface down        # récente
    
  • Vérifiez que les interfaces sont DOWN (avec ip addr ).
  • Recherchez les messages émis par le module lors de la détection de la carte réseau :
    dmesg | fgrep eth                # ancienne formulation
    journalctl -k -g eth             # avec systemd
    
  • Autre solution pour trouver le nom du module (driver) qui gère l'interface réseau (avec ethtool ) :
    ethtool -i interface
    
  • Supprimez-le (avec rmmod ).
  • Vérifiez que les interfaces n'existent plus (avec ip link ).

Reconstruire le réseau

  • Commencez par charger le module du noyau qui gère votre carte réseau (commande modprobe ) et observez les messages générés par ce module lors de son initialisation (commande dmesg ou journalctl -k).
  • Configurez l'interface (si c'est nécessaire) loopback avec la commande ci-dessous. Vous devez être capable de joindre votre machine (à partir d'elle même) en utilisant l'interface lo (adresse 127.0.0.1).
    Seulement si c'est nécessaire
    ifconfig lo 127.0.0.1                               # historique
    ip addr add 127.0.0.1 dev lo                        # récente
    
  • Configurez ensuite l'interface ethernet avec la commande ci-dessous et vérifiez qu'elle fonctionne correctement.
    Configuration de l'interface
    ifconfig enp0s3 votre_ip netmask votre_masque       # historique
    ip addr add votre_ip/votre_masque dev enp0s3        # récente
    
    Activer l'interface
    ifconfig enp0s3 up                                  # historique
    ip link set dev enp0s3 up                           # récente
    
    Utilisation de l'interface afin de contacter le routeur
    ping -c 2 10.0.2.2
    
  • Observez maintenant la table de routage du système (commandes route ou ip route ). A ce stade, vous devez être capable de joindre votre propre machine via son adresse IP publique (sur enp0s3) mais vous ne pouvez pas joindre d'autres machines (par exemple le seurveur DNS de google 8.8.8.8).
  • Ajoutez la route par défaut vers la passerelle qui permet aux paquets de sortir du réseau privé (la passerelle est sûrement la 10.0.2.2).
    ip route add default via passerelle dev interface
    
  • Retrouvez sur cette documentation l'ensemble des possibilités (ancienne et nouvelle versions).

Transformation des adresses ethernet (MAC) en adresse IP.

  • En faisant des ping sur votre machine et le routeur du réseau privé, vous pouvez observer l'acquisition des adresses MAC dans la table ARP avec la commande arp . Je vous conseille de suivre également le protocole ARP via l'outil wireshark.