🐧 Linux : Commandes réseau

Cette fiche présente les commandes réseau essentielles sous Linux. Ces outils vous permettent de configurer, surveiller et diagnostiquer les connexions réseau sur votre système.

📑 Sommaire

🖧 Interfaces et adresses IP

Commandes pour afficher et gérer les interfaces réseau :

ip a                        # Affiche les interfaces réseau et adresses IP
ip addr show                # Même fonction, forme longue
ip link show                # Affiche les interfaces réseau (état physique)
ip route                    # Affiche la table de routage (passerelles)
ip route show default       # Affiche uniquement la passerelle par défaut
ifconfig                    # Ancienne commande (souvent remplacée par ip)
hostname -I                 # Affiche uniquement les adresses IP de l'hôte

Activer/désactiver une interface réseau :

sudo ip link set eth0 up     # Active l'interface eth0
sudo ip link set eth0 down   # Désactive l'interface eth0

Configurer une adresse IP :

sudo ip addr add 192.168.1.100/24 dev eth0   # Ajoute une adresse IP
sudo ip addr del 192.168.1.100/24 dev eth0   # Supprime une adresse IP

📡 Tests de connectivité

Outils pour tester la connectivité réseau :

ping 8.8.8.8                # Test de connexion vers l'IP de Google DNS
ping -c 4 google.fr         # Envoie 4 paquets seulement
ping6 ipv6.google.com       # Test en IPv6
traceroute google.fr        # Affiche le chemin vers un hôte
tracepath example.com       # Alternative sans privilèges root
mtr google.com              # Combinaison de ping et traceroute (interactif)

Test de résolution DNS :

nslookup google.com         # Interroge les serveurs DNS pour un nom
dig google.com              # Outil DNS avancé avec plus de détails
host google.com             # Alternative simple à dig
dig -x 8.8.8.8              # Recherche inverse (IP vers nom)
whois example.com           # Informations sur le propriétaire du domaine

🔌 Analyse des ports

Vérifier les ports et connexions réseau actives :

ss -tuln                    # Ports en écoute (TCP, UDP, numérique)
ss -tap                     # Connexions TCP actives avec processus
netstat -tuln               # Ancienne commande pour les ports en écoute
netstat -tap                # Connexions actives avec processus
lsof -i                     # Liste les fichiers réseau ouverts
lsof -i :22                 # Vérifier quel processus utilise le port 22
fuser 80/tcp                # Identifie les processus utilisant le port 80

Analyse réseau plus détaillée :

ss -s                       # Statistiques des sockets
netstat -s                  # Statistiques réseau détaillées
iptraf-ng                   # Moniteur de trafic interactif (à installer)

⚙️ Configuration réseau

Configuration des interfaces réseau :

# Fichiers de configuration (varient selon la distribution)
/etc/network/interfaces     # Debian/Ubuntu (configuration traditionnelle)
/etc/netplan/*.yaml         # Ubuntu récent (netplan)
/etc/sysconfig/network-scripts/ifcfg-*  # CentOS/RHEL

# Redémarrer le réseau
sudo systemctl restart networking     # Debian/Ubuntu
sudo netplan apply                   # Ubuntu avec netplan
sudo systemctl restart NetworkManager # Distributions avec NetworkManager

Configurer une route :

sudo ip route add 192.168.2.0/24 via 192.168.1.1   # Ajoute une route
sudo ip route del 192.168.2.0/24                   # Supprime une route

📶 Gestion du Wi-Fi

Commandes pour gérer les connexions Wi-Fi :

nmcli device wifi list       # Liste les réseaux Wi-Fi disponibles
nmcli device wifi connect "SSID" password "mot_de_passe"  # Connexion à un réseau

# Outils plus traditionnels (si installés)
iwconfig                    # Affiche/configure les interfaces Wi-Fi
iwlist wlan0 scan           # Recherche les réseaux Wi-Fi disponibles

# Gestion du Wi-Fi avec wpa_supplicant
wpa_cli                     # Interface interactive pour wpa_supplicant

🔍 Configuration DNS

Gérer la résolution de noms DNS :

# Fichiers de configuration DNS
/etc/hosts                  # Table statique de noms d'hôtes
/etc/resolv.conf            # Configuration des serveurs DNS
/etc/nsswitch.conf          # Ordre de recherche pour la résolution de noms

# Configurer les serveurs DNS avec resolvconf
sudo nano /etc/resolvconf/resolv.conf.d/head
# Ajouter : nameserver 8.8.8.8
sudo resolvconf -u          # Mettre à jour

Avec NetworkManager :

nmcli connection modify "Connexion 1" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up "Connexion 1"

🧰 Outils avancés

Outils d'analyse et de diagnostic réseau avancés :

tcpdump -i eth0              # Capture le trafic sur une interface
tcpdump host 192.168.1.10   # Capture le trafic vers/depuis une IP
tcpdump port 80             # Capture le trafic HTTP

nmap 192.168.1.1            # Scanner les ports d'une adresse IP
nmap -sP 192.168.1.0/24     # Scanner tous les hôtes d'un réseau

iftop                       # Moniteur de bande passante par connexion
nethogs                     # Moniteur de bande passante par processus
iperf3 -s                   # Serveur de test de performance réseau
iperf3 -c serveur           # Client de test de performance réseau
🎁 Bonus : Configuration réseau avancée

Bonding (agrégation de liens)

Combiner plusieurs interfaces réseau pour augmenter la bande passante ou la redondance :

# Installation des outils
sudo apt install ifenslave

# Configuration dans /etc/network/interfaces
auto bond0
iface bond0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    bond-slaves eth0 eth1
    bond-mode 0
    bond-miimon 100

Utilisation de la Quality of Service (QoS)

# Installation de tc (Traffic Control)
sudo apt install iproute2

# Exemple simple de limitation de bande passante
sudo tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

Tunnels VPN

# OpenVPN
sudo apt install openvpn
sudo openvpn --config client.ovpn

# WireGuard
sudo apt install wireguard
sudo wg-quick up wg0
🏠 Retour au sommaire général