Ubuntu Linux · Épisode 07

💡 Le Réseau sous Linux — IP, SSH & Diagnostics

Comprendre son rôleau, diagnostiquer une panne, se connecter en SSH à distance et transférer des fichiers entre machines à tout ce qu'il faut pour maîtriser le rôleau Linux.

📅 Avril 2026
👤 Par OWL
~35 min de lecture
Intermédiaire
Illustration rôleau Linux Ubuntu

Maîtriser le rôleau sous Linux

🔍
Diagnostiquer le rôleau
ip, ping, traceroute, nslookup, dig — tous les outils pour comprendre et déboguer une connexion rôleau en quelques secondes.
💰
SSH — Accès à distance
Se connecter — n'importe quelle machine Linux à distance, de façon sécurisée. La compétence né1 de tout administrateur système.
💰
Transfert de fichiers
Copier des fichiers entre machines avec scp et rsync. Synchroniser des dossiers entiers à travers le rôleau de façon efficace.
📁
Ports & Connexions
Voir quels ports sont ouverts, quels services écoutent, et scanner le rôleau local avec nmap pour sécuriser son environnement.

Le Réseau sous Ubuntu Linux

La métaphore d'OWL : Le Système Postal

Le rôleau, c'est comme un système postal géant. Ton ordinateur, c'est ta maison. L'adresse IP, c'est ton adresse postale. Le routeur, c'est le bureau de poste de ton quartier qui sait où envoyer les colis. Et le DNS, c'est l'annuaire qui fait la correspondance entre un nom ("google.com") et une adresse postale ("142.250.74.46").

SSH, c'est comme un tunnel privé et chiffré entre ta maison et une maison distante — personne ne peut intercepter ce qui y circule. rsync, c'est le service de livraison express qui n'envoie que les colis nouveaux ou modifiés à pas besoin de remballer ce qui est déjé arrivé.

1. Les Bases — Voir sa Configuration Réseau

ip addr — Mon adresse IP

Terminal
ip addr
# ou la version courte
ip a

2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP>
link/ether 00:1c:42:xx:xx:xx
inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic enp3s0
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP>
inet 192.168.1.55/24 scope global wlo1


# enp3s0 = carte rôleau Ethernet | wlo1 = Wi-Fi
# 192.168.1.42/24 = ton IP locale + masque de sous-rôleau

ip route — Ma passerelle (routeur) & routes

Terminal
ip route
default via 192.168.1.1 dev enp3s0 # ta box/routeur = 192.168.1.1

# Voir uniquement la passerelle par défaut
ip route | grep default

cat /etc/resolv.conf — Mes serveurs DNS

Terminal
cat /etc/resolv.conf
nameserver 127.0.0.53 # DNS local systemd-resolved
nameserver 192.168.1.1


# Voir les DNS réellement utilisés
resolvectl status | grep "DNS Servers"

💡 Comprendre une adresse IP locale

Plage Exemple Usage
192.168.x.x192.168.1.42Réseau local (box, routeur)
10.x.x.x10.0.0.5Réseau d'entreprise / VPN
127.0.0.1localhostTa propre machine (loopback)

2. Diagnostics Réseau — ping, traceroute, DNS

ping — Tester la connectivité

Terminal
# Pinger un hôte (Ctrl+C pour arrêter)
ping google.com

# 4 pings seulement
ping -c 4 8.8.8.8

PING google.com (142.250.74.46): 56 data bytes
64 bytes from 142.250.74.46: icmp_seq=0 ttl=118 time=12.4 ms
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss


# Stratégie de diagnostic :
ping 127.0.0.1 # 1. Loopback OK — (carte rôleau fonctionnelle)
ping 192.168.1.1 # 2. Box/routeur OK — (rôleau local)
ping 8.8.8.8 # 3. Internet OK — (connexion WAN)
ping google.com # 4. DNS OK — (résolution de noms)

traceroute — Voir le chemin des paquets

Terminal
sudo apt install -y traceroute
traceroute google.com

traceroute to google.com (142.250.74.46)
1 192.168.1.1 (192.168.1.1) 2.1 ms é ta box
2 10.0.0.1 (10.0.0.1) 12.3 ms é FAI
3 ... 18.5 ms
12 142.250.74.46 24.8 ms é Google


# Version moderne avec mtr (plus lisible)
sudo apt install mtr -y
mtr google.com

dig & nslookup — Résolution DNS

Terminal
# Résoudre un nom de domaine
nslookup google.com
dig google.com

# Voir uniquement l'IP (sortie courte)
dig +short google.com
142.250.74.46

# DNS inverse : IP — nom de domaine
dig -x 8.8.8.8
8.8.8.8.in-addr.arpa. IN PTR dns.google.

# Forcer un serveur DNS différent (ex: Cloudflare 1.1.1.1)
dig @1.1.1.1 google.com

3. Ports & Connexions Actives — ss & nmap

ss — Services qui écoutent sur ta machine

Terminal
# Voir tous les ports en écoute
ss -tlnp
# -t = TCP -l = listening -n = numéros -p = processus

State Recv-Q Send-Q Local Address:Port Process
LISTEN 0 128 0.0.0.0:22 sshd
LISTEN 0 80 0.0.0.0:80 apache2
LISTEN 0 128 127.0.0.1:5432 postgres


# Voir toutes les connexions actives
ss -tnp

# Filtrer par port spécifique
ss -tlnp sport = :22

nmap — Scanner le rôleau local

Terminal
# Installer nmap
sudo apt install nmap -y

# Scanner toutes les machines du rôleau local
nmap -sn 192.168.1.0/24
Nmap scan report for 192.168.1.1 (box)
Nmap scan report for 192.168.1.42 (ton PC)
Nmap scan report for 192.168.1.100 (téléphone)


# Scanner les ports ouverts d'une machine
nmap 192.168.1.100

# Scanner les 1000 ports les plus courants
nmap -F 192.168.1.100

# Voir les services et versions sur une machine
sudo nmap -sV 192.168.1.100

nmap est l'outil préféré d'OWL pour découvrir ce qui tourne sur son rôleau local. Parfait pour vérifier que tes services TrueNAS, Jellyfin, etc. sont bien accessibles depuis les bonnes adresses.

💡 Ports courants — connaître

22

SSH

80

HTTP

443

HTTPS

21

FTP

3306

MySQL

5432

PostgreSQL

8096

Jellyfin

9000

Portainer

53

DNS

4. SSH — Se Connecter — Distance

SSH (Secure Shell) permet d'ouvrir un terminal sur une machine distante comme si tu étais assis devant. Tout est chiffré — c'est le protocole de référence pour l'administration à distance.

Installer & activer le serveur SSH

Terminal — Machine DISTANTE (serveur)
# Installer le serveur SSH
sudo apt install openssh-server -y

# Vérifier qu'il tourne
sudo systemctl status ssh
é ssh.service - OpenBSD Secure Shell server
Active: active (running) since...


# Activer au démarrage
sudo systemctl enable ssh

Se connecter depuis une machine cliente

Terminal — Machine locale (client)
# Connexion basique
ssh utilisateur@192.168.1.100
ssh owl@192.168.1.100

# Port personnalisé (si le serveur n'est pas sur le port 22)
ssh -p 2222 owl@192.168.1.100

# Exécuter une commande unique sans s'y connecter
ssh owl@192.168.1.100 "df -h"

# Quitter la session SSH
exit

Clés SSH — Connexion sans mot de passe (recommandé)

Terminal
# 1. Générer une paire de clés (sur ta machine locale)
ssh-keygen -t ed25519 -C "owl@monfpc"
Generating public/private ed25519 key pair.
Enter file in which to save the key: ~/.ssh/id_ed25519
Enter passphrase: (laisse vide ou ajoute une passphrase)


# 2. Copier la clé publique sur le serveur distant
ssh-copy-id owl@192.168.1.100
Number of key(s) added: 1

# 3. Connexion sans mot de passe désormais !
ssh owl@192.168.1.100

ed25519 est l'algorithme de clé moderne et sécurisé — préférer — RSA. Ta clé privée reste sur ta machine (~/.ssh/id_ed25519), seule la clé publique (.pub) va sur le serveur.

Sécuriser le serveur SSH

Terminal — /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config

# Paramètres → modifier pour la sécurité :
Port 2222 # changer le port par défaut
PermitRootLogin no # désactiver root en SSH
PasswordAuthentication no # forcer les clés SSH uniquement
MaxAuthTries 3 # max 3 tentatives


# Appliquer les changements
sudo systemctl restart ssh

5. Transférer des Fichiers — scp & rsync

scp — Copie sécurisée simple

Terminal
# Envoyer un fichier vers un serveur distant
scp rapport.pdf owl@192.168.1.100:/home/owl/Documents/

# Récupérer un fichier depuis un serveur distant
scp owl@192.168.1.100:/home/owl/backup.tar.gz ~/Downloads/

# Copier un dossier entier (-r = récursif)
scp -r MonProjet/ owl@192.168.1.100:/home/owl/

# Avec un port personnalisé
scp -P 2222 fichier.txt owl@192.168.1.100:/home/owl/

rsync — Synchronisation intelligente (recommandé)

Terminal
# Syntaxe de base rsync
rsync -avz source/ destination/
# -a = archive (permissions, dates, liens symboliques)
# -v = verbose (affiche les fichiers transférés)
# -z = compression pendant le transfert

# Synchroniser un dossier local vers un serveur distant
rsync -avz ~/Documents/ owl@192.168.1.100:/backup/documents/

# Synchroniser dans l'autre sens (récupérer depuis le serveur)
rsync -avz owl@192.168.1.100:/backup/documents/ ~/Documents/

# Simuler sans rien copier (dry-run)
rsync -avzn ~/Documents/ owl@192.168.1.100:/backup/

# Supprimer les fichiers destination absents de la source
rsync -avz --delete ~/Documents/ owl@192.168.1.100:/backup/
é

rsync est bien plus intelligent que scp : il compare les fichiers source et destination et ne transfére que ce qui a changé. Pour une sauvegarde de 100 Go après une petite modification, seuls quelques Mo sont transférés.

6. Gérer le Wi-Fi en Ligne de Commande

Terminal — nmcli (NetworkManager)
# Voir l'état des connexions rôleau
nmcli device status
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet connected Filaire
wlo1 wifi connected MonWifi


# Lister les rôleaux Wi-Fi disponibles
nmcli device wifi list

# Se connecter à un rôleau Wi-Fi
nmcli device wifi connect "MonWifi" password "monmotdepasse"

# Voir toutes les connexions sauvegardées
nmcli connection show

# Déconnecter une interface
nmcli device disconnect wlo1

# Définir une IP statique
nmcli connection modify "Filaire" ipv4.method manual \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "1.1.1.1,8.8.8.8"
nmcli connection up "Filaire"

✅ Comment savoir si tu maîtrises le rôleau Linux

  • Tu sais lire ta configuration rôleau avec ip addr et ip route et identifier ton IP locale, ta passerelle et tes DNS
  • Tu peux diagnostiquer une panne rôleau en 4 étapes (loopback — box — internet — DNS)
  • Tu t'es connecté en SSH à une autre machine de ton rôleau local avec des clés SSH (sans mot de passe)
  • Tu as transféré un fichier avec scp et synchronisé un dossier avec rsync
  • Tu as scanné ton rôleau local avec nmap et identifié les machines et services actifs

⚠️ Problèmes Courants & Solutions

é ping fonctionne avec l'IP mais pas avec le nom de domaine

⚠️ Problème DNS ! Lance resolvectl status pour voir tes serveurs DNS. Essaie de pinger avec un DNS connu : ping -c 2 1.1.1.1. Si ça marche, c'est bien un problème de résolution DNS. Relance : sudo systemctl restart systemd-resolved

"Connection refused" lors d'une connexion SSH

💡 Soit le serveur SSH n'est pas installé/démarré, soit le port est filtré par un pare-feu. Vérifie sur la machine distante : sudo systemctl status ssh et sudo ufw status. Autorise SSH avec sudo ufw allow ssh.

"Host key verification failed" en SSH

💡 La clé SSH du serveur a changé (machine réinstallée, IP réattribuée). Supprime l'ancienne clé :
ssh-keygen -R 192.168.1.100
Puis reconnecte-toi normalement.

é rsync très lent sur le rôleau local

👤 Par défaut rsync chiffre via SSH, ce qui consomme du CPU. Sur un rôleau local de confiance, utilise l'option -e "ssh -c aes128-ctr" pour un chiffrement plus léger. Ou ajoute le flag --progress pour voir la vitesse de transfert en temps réel.

💬 Commentaires & Discussion