reseau-ethernet.sh

Raspberry Pi Compute Module 1 (CM1) · Fichier : reseau-ethernet.sh · Langage : Bash · Usage : Configurer une adresse IP statique sur le port Ethernet

En installation fixe, une IP statique évite de chercher la carte dans le bail DHCP. Le script crée (ou corrige) un profil NetworkManager manuel sur le port Ethernet, puis vérifie la passerelle au ping.

Matériel requis

Un Compute Module 1 (BCM2835) sur une Compute Module IO Board v1/v3, alimentée en 5 V par micro-USB, avec carte SD flashée en Raspberry Pi OS legacy (Buster). Un câble Ethernet vers le routeur/switch.

Branchement

Câble RJ45 sur le port Ethernet de la carte. Choisir une adresse hors de la plage DHCP pour éviter les conflits.

Fonctionnement

nmcli connection add définit ipv4.method manual avec adresse/passerelle/DNS ; connection up applique. Le ping de contrôle valide la couche 3 immédiatement. Le CM1 est un Raspberry Pi 1 (ARMv6) : utilisez Raspberry Pi OS legacy 32 bits et RPi.GPIO (sudo apt install python3-rpi.gpio). Les numéros GPIO suivent la numérotation BCM classique.

Pour aller plus loin

Ajouter un second DNS, un domaine de recherche (ipv4.dns-search), ou basculer le profil en DHCP en cas de déménagement (ipv4.method auto).

reseau-ethernet.sh

#!/bin/bash
# IP statique sur Ethernet via nmcli (plus propre que ifconfig a la main).
# Usage : ./reseau-ethernet.sh 192.168.1.50/24 192.168.1.1 8.8.8.8

set -e
IP="${1:?Usage: $0 IP/prefixe passerelle DNS [interface]}"
PASSERELLE="${2:?passerelle requise}"
DNS="${3:?DNS requis}"

echo "== Interfaces =="
ip -brief link

DEV="${4:-$(ip -brief link | awk '$2=="up" && $1!~"lo|wl"{print $1; exit}')}"
[ -n "$DEV" ] || { echo "aucune interface up"; exit 1; }

echo "== Profil statique sur $DEV =="
nmcli connection add type ethernet con-name statique-$DEV ifname "$DEV" \
  ipv4.method manual ipv4.addresses "$IP" \
  ipv4.gateway "$PASSERELLE" ipv4.dns "$DNS" || \
nmcli connection modify statique-$DEV \
  ipv4.addresses "$IP" ipv4.gateway "$PASSERELLE" ipv4.dns "$DNS"

nmcli connection up statique-$DEV

echo "== Resultat =="
ip -4 -brief addr show "$DEV"
ping -c 2 -W 2 "$PASSERELLE" && echo "passerelle joignable"

← Retour à la fiche