Gestion du réseau

Préalables

Lisez la partie réseau du cours.

Configuration du réseau

Les fichiers de configuration du réseau se trouvent dans le répertoire /etc/sysconfig. Vous pouvez étudier, notamment

  • /etc/sysconfig/network
  • /etc/sysconfig/network-scripts/ifcfg-lo
  • /etc/sysconfig/network-scripts/ifcfg-enp3s0 (pas toujours présent)

La mise en oeuvre est réalisée automatiquement par le service NetworkManager ou statiquement par le service network.

La configuration est réalisée par l'utilitaire graphique 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.

Défaire la configuration réseau

  • Observez la configuration de la carte réseau et notez les paramètres.
    ifconfig                   # commande historique
    ip addr                    # commande plus récente
    
  • Observez la configuration des routes et notez les paramètres.
    route                      # commande historique
    ip route                   # commande plus récente
    
  • Avec netstat suivez les démons qui écoutent sur un port et les connexions réseau.
    netstat -tap               # commande historique
    ss                         # commande plus récente
    
  • 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).
  • Stoppez le démon de configuration automatique :
    systemctl stop NetworkManager
    
  • Stoppez le service réseau :
    systemctl stop network.target
    
  • Nettoyages des modules du noyau :
    • Recherchez les messages émis par le module lors de la détection de la carte réseau (commande dmesg).
      dmesg | fgrep eth                # ancienne formulation
      journalctl -k -g eth             # avec systemd
      
    • En déduire le nom du module (commande lsmod). Aidez-vous également de la commande ethtool option -i.
    • Supprimez-le (commande rmmod).
    • Avec ip link, repérez les interfaces (sûrement lo et enp0s3) et arrêtez-les avec
      ifconfig nom_interface down               # historique
      ip link set dev nom_interface down        # récente
      
    • Vérifiez que la configuration du réseau a disparu (ifconfig).

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 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).
    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.
    ifconfig enp0s3 votre_ip netmask votre_masque       # historique
    ip addr add votre_ip/votre_masque dev enp0s3        # récente
    
  • Observez maintenant la table de routage du système (commande 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. 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).
    route add default gw passerelle
    
  • 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.
  • Retrouvez sur cette documentation l'ensemble des possibilités (ancienne et nouvelle versions).