1. Configuration #
Interfaces, adresses et routes.
Lire l'état #
ip -br addr # interfaces et adresses, format court
ip link # état des liens (UP/DOWN), MAC
ip route # table de routage, passerelle par défaut
ip -s link show eth0 # compteurs, erreurs
hostname -I
resolvectl status # serveurs DNS utilisés (systemd-resolved)
cat /etc/hosts /etc/resolv.confConfigurer de façon persistante #
Les commandes ip modifient la configuration en mémoire uniquement. La configuration permanente dépend de la distribution : netplan (Ubuntu), NetworkManager (RHEL, postes), /etc/network/interfaces (Debian classique).
# /etc/netplan/50-static.yaml (Ubuntu)
network:
version: 2
ethernets:
eth0:
addresses: [192.168.10.20/24]
routes:
- to: default
via: 192.168.10.1
nameservers:
addresses: [192.168.10.1, 1.1.1.1]sudo netplan try # applique avec retour arrière automatique après 120 s sans confirmation
nmcli con show # NetworkManager
sudo nmcli con mod eth0 ipv4.method manual ipv4.addresses 192.168.10.20/24 ipv4.gateway 192.168.10.1 ipv4.dns 1.1.1.1
sudo nmcli con up eth0
sudo hostnamectl set-hostname app01Bonne Pratique : À distance, préférez netplan try ou gardez une console hors bande (iLO, console du cloud) : une erreur réseau coupe votre propre session SSH.2. Diagnostiquer #
Une méthode par couches.
La méthode #
Les outils #
ping -c 3 192.168.10.1 # joignabilité
tracepath 8.8.8.8 ; mtr -rw example.com # chemin et pertes
dig +short example.com ; dig @1.1.1.1 example.com MX
getent hosts api.interne # résolution comme le fait le système (inclut /etc/hosts)
ss -tlnp # ports TCP en écoute et processus
ss -tnp state established # connexions établies
nc -zv db.interne 5432 # le port distant est-il ouvert ?
curl -v https://api.interne/health # TLS, en-têtes, code HTTP
curl -o /dev/null -s -w '%{time_connect} %{time_starttransfer} %{http_code}\n' https://example.com
sudo tcpdump -i eth0 -nn port 53 # capturer le trafic DNS
sudo tcpdump -i any -w capture.pcap host 10.0.0.5 # pour WiresharkLire ss -tlnp #
0.0.0.0:8080 ou *:8080 : écoute sur toutes les interfaces. 127.0.0.1:8080 : uniquement en local, invisible depuis le réseau — cause fréquente du « ça marche sur le serveur mais pas depuis mon poste ».
3. Pare-feu #
Tout refuser, puis ouvrir le nécessaire.
ufw et firewalld #
# Ubuntu : ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow from 10.0.0.0/8 to any port 5432 proto tcp
sudo ufw enable && sudo ufw status numbered
# RHEL : firewalld
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/8 port port=5432 protocol=tcp accept'
sudo firewall-cmd --reload && sudo firewall-cmd --list-allErreur Courante : Autorisez SSH avant d'activer le pare-feu, sinon vous vous enfermez dehors.
nftables #
ufw et firewalld sont des surcouches de nftables, le pare-feu du noyau (successeur d'iptables).
# /etc/nftables.conf
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif lo accept
tcp dport { 22, 443 } accept
icmp type echo-request limit rate 5/second accept
}
}sudo nft -c -f /etc/nftables.conf && sudo nft -f /etc/nftables.conf # vérifier puis charger
sudo nft list ruleset4. SSH #
Administrer à distance en sécurité.
Clés #
ssh-keygen -t ed25519 -C "alice@poste" # paire de clés (avec phrase de passe)
ssh-copy-id alice@app01 # installer la clé publique
ssh-add ~/.ssh/id_ed25519 # agent : saisir la phrase une fois
chmod 700 ~/.ssh ; chmod 600 ~/.ssh/authorized_keysConfiguration cliente #
# ~/.ssh/config
Host bastion
HostName bastion.example.com
User alice
Host app*
User alice
ProxyJump bastion
IdentityFile ~/.ssh/id_ed25519Copier et tunnels #
scp fichier app01:/tmp/ ; rsync -avz --progress dossier/ app01:/srv/dossier/
ssh -L 5433:localhost:5432 app01 # tunnel : la base distante devient localhost:5433
ssh -D 1080 bastion # proxy SOCKS
ssh app01 'df -h /' # commande ponctuelleMon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Bonnes Pratiques Kubernetes
Meilleures pratiques pour sécuriser et optimiser les déploiements Kubernetes.
Comparaison Offres Kubernetes
Analyse complète des offres managées de Kubernetes avec points forts, fonctionnalités, tarificati...
Stratégies de placement Kubernetes
Présentation des stratégies de placement dans Kubernetes pour optimiser la gestion des charges de...
CNI Kubernetes : Flannel, Calico et Cilium comparés
Kubernetes CNI : comprendre les plugins réseau (Container Network Interface) et comparer Flannel,...
Gestionnaires de packages
Les différents gestionnaires de packages pour Kubernetes et leurs avantages.
Jobs vs Serverless
Comparaison entre les Jobs Kubernetes et le modèle Serverless pour le calcul de tâches en arrière...
PersistentVolume, PersistentVolumeClaim et StorageClass dans Kubernetes
PersistentVolume (PV), PersistentVolumeClaim (PVC) et StorageClass dans Kubernetes : différences,...
Resource Quota Kubernetes
Guide complet sur les quotas de ressources Kubernetes pour la gestion des namespaces.
ConfigMaps et Secrets
Guide complet sur les ConfigMaps et Secrets dans Kubernetes.