reseau-ethernet.sh
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 Banana Pi BPI-M2 ZERO (Allwinner H2+, format Pi Zero) sur image Armbian, alimenté en 5 V par son port micro-USB dédié, avec son connecteur 40 broches compatible Raspberry Pi. 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. Sous Armbian : sudo apt install gpiod, puis gpiodetect (gpiochip0 = banques PA-PE, gpiochip1 = PL) et gpioinfo pour retrouver les lignes du connecteur (noms CON2-Pxx).
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"