← Sommaire SkyLinux

Leçon 06 : Réseaux de base

Dans cette leçon, tu vas maîtriser les fondamentaux du réseau sous Linux : configuration IP, diagnostic, SSH, et transfert de fichiers.


1. Adresses IP

IPv4 vs IPv6

TypeFormatExemple
**IPv4**4 nombres (0-255)192.168.1.100
**IPv6**8 groupes hexadécimaux2001:0db8::1

IP publique vs privée


2. Commandes de configuration IP

Voir les adresses IP

ip addr # Méthode moderne

ip addr show eth0 # Une interface spécifique

ip -4 addr # IPv4 seulement

ip -6 addr # IPv6 seulement

# Méthode classique (deprecated mais encore là)

ifconfig

ifconfig -a

Paramètres d'une interface

ip link show # Liste des interfaces

ip link set eth0 up # Activer interface

ip link set eth0 down # Désactiver

# Ajouter une IP

ip addr add 192.168.1.100/24 dev eth0

# Supprimer une IP

ip addr del 192.168.1.100/24 dev eth0

Table de routage

ip route # Routes actuelles

ip route show

ip route add default via 192.168.1.1 # Passerelle par défaut


3. Diagnostic réseau

Ping - Tester la connectivité

ping google.com # Ping infini

ping -c 4 google.com # 4 pings seulement

ping -i 0.2 google.com # Intervalle de 0.2s

ping -w 5 google.com # Timeout 5 secondes

# Types de ping

ping -4 google.com # IPv4 seulement

ping -6 google.com # IPv6 seulement

Traceroute - Chemin jusqu'à la destination

traceroute google.com # Linux (utilise UDP)

traceroute -I google.com # ICMP

traceroute -n google.com # Sans résolution DNS

mtr google.com # Ping + traceroute en temps réel

Connexions réseau

# Commandes modernes (ss)

ss -tuln # TCP/UDP en écoute

ss -tuln -p # Avec processus

ss -tan # Toutes connexions TCP

ss -tnp | grep ESTAB # Connexions établies

# Commandes classiques (net-tools)

netstat -tuln # Ports en écoute

netstat -rn # Table de routage

netstat -i # Stats interfaces

DNS

# Serveurs DNS utilisés

cat /etc/resolv.conf

resolvectl status

# Tester DNS

nslookup google.com

dig google.com

host google.com

IP publique

curl ifconfig.me

curl icanhazip.com

wget -qO- ifconfig.me


4. Configuration réseau

Fichiers de configuration (Debian/Ubuntu)

# Configuration interfaces

sudo nano /etc/network/interfaces

# Configuration DNS

sudo nano /etc/resolv.conf

Exemple /etc/network/interfaces

auto eth0

iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 8.8.8.8 8.8.4.4

Redémarrer le réseau

sudo systemctl restart networking

# ou

sudo /etc/init.d/networking restart


5. Le fichier /etc/hosts

Le fichier hosts permet de résoudre les noms localement.

sudo nano /etc/hosts

Contenu :

127.0.0.1 localhost

127.0.1.1 raspberrypi

# Cartes alias

192.168.1.1 mon-routeur.local

192.168.1.10 serveur.local

192.168.1.20 nas.local

# Bloquer un site

127.0.0.1 facebook.com

127.0.0.1 www.facebook.com


6. SSH - Connexion à distance

Installer le serveur

sudo apt install openssh-server

sudo systemctl enable ssh

sudo systemctl start ssh

Se connecter

ssh utilisateur@adresse_ip

ssh -p 2222 utilisateur@ip # Port personnalisé

ssh -i ~/.ssh/cle_privee user@ip # Avec clé SSH

Sécurisation SSH

# Modifier le port (dans /etc/ssh/sshd_config)

sudo nano /etc/ssh/sshd_config

# Changer "Port 22" en "Port 2222"

# Redémarrer SSH

sudo systemctl restart ssh

Clés SSH

# Générer une clé

ssh-keygen -t ed25519 -C "mon@email.com"

# Copier la clé sur le serveur

ssh-copy-id utilisateur@serveur

# Ou manuellement

cat ~/.ssh/id_ed25519.pub | ssh user@serveur "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"


7. Transfert de fichiers

SCP - Copie sécurisée

# Copier vers le serveur

scp fichier.txt user@serveur:/home/user/

scp -r dossier/ user@serveur:/home/user/

# Copier depuis le serveur

scp user@serveur:/home/user/fichier.txt ./

# Options utiles

scp -P 2222 fichier.txt user@serveur:/dossier/ # Port

scp -v fichier.txt user@serveur:/dossier/ # Verbeux

scp -C fichier.txt user@serveur:/dossier/ # Compression

SFTP - Transfert interactif

sftp user@serveur

# Commandes: ls, cd, put, get, rm, mkdir, etc.

RSYNC - Synchronisation

# Synchroniser un dossier

rsync -av dossier/ user@serveur:/home/user/backup/

# Synchronisation avec compression et suppression

rsync -avz --delete dossier/ user@serveur:/home/user/backup/

# Exclure des fichiers

rsync -av --exclude='*.log' dossier/ user@serveur:/backup/


8. Commandes firewall (UFW)

UFW (Uncomplicated Firewall)

# Activer

sudo ufw enable

# Désactiver

sudo ufw disable

# Statut

sudo ufw status

# Autoriser SSH

sudo ufw allow ssh

sudo ufw allow 22/tcp

# Autoriser un port

sudo ufw allow 80/tcp # HTTP

sudo ufw allow 443/tcp # HTTPS

sudo ufw allow 8080/tcp

# Bloquer

sudo ufw deny 80/tcp

# Supprimer une règle

sudo ufw delete allow 80/tcp


9. Exercices pratiques

Exercice 1 : Vérifier la connectivité

ip addr

ping -c 3 8.8.8.8

traceroute google.com

Exercice 2 : Configurer une IP statique

sudo nano /etc/network/interfaces

# Ajouter la configuration statique

sudo systemctl restart networking

Exercice 3 : Transférer un fichier

# Créer un fichier test

echo "Test" > test.txt

# Le copier sur le serveur

scp test.txt user@serveur:/tmp/


10. Tableau résumé

CommandeDescription
ip addrVoir les IPs
pingTester connectivité
tracerouteChemin jusqu'au serveur
ssConnexions réseau
nslookup/digRequêtes DNS
sshConnexion à distance
scpCopier via SSH
sftpTransfert interactif
rsyncSynchronisation
ufwFirewall

Maîtrise ces commandes pour administrer le réseau sous Linux ! 🌐