🛠 Exploiter le double Ethernet 2,5 GbE et sécuriser le SSH
Objectifs
Vérifier les deux ports Ethernet 2,5 GbE de l'Orange Pi 5 Plus (deux contrôleurs RTL8125BG suspendus au PCIe — pas de port 1 GbE sur cette carte), mesurer le débit réel avec iperf3, puis configurer un accès SSH par clé et désactiver l'authentification par mot de passe. Sous noyau mainline (Armbian), les pilotes sont r8169 + firmware rtl_nic/rtl8125b-2.fw ; les images vendor utilisent le pilote Realtek externe r8125.
Matériel
- Orange Pi 5 Plus (Armbian recommandé pour cet usage)
- 2 câbles Ethernet Cat 5e minimum + switch ou seconde machine 2,5 GbE
- Deuxième machine pour iperf3 ; identifiants par défaut des images Orange Pi : orangepi/orangepi (à changer !)
Code complet
# 1. Identifier les deux ports (noms variables : end0/end1 ou eth0/eth1)
ip -br link
sudo ethtool end0 | grep -E 'Supported link|Speed|Link' # 2500baseT/Full attendu
sudo dmesg | grep -iE 'r8169|r8125' # driver actif
# 2. Débit : serveur sur la machine peer, client sur l'Orange Pi
sudo apt install -y iperf3
iperf3 -s -p 5201 # sur le peer
iperf3 -c 192.168.1.10 -p 5201 -P 4 # ~2,3-2,35 Gbit/s attendus par port
# 3. SSH par clé : générer sur le poste client, installer, verrouiller
ssh-keygen -t ed25519
ssh-copy-id orangepi@<ip-de-la-carte>
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
printf 'PasswordAuthentication no\nPermitRootLogin no\n' | sudo tee /etc/ssh/sshd_config.d/10-cle.conf
sudo sshd -t && sudo systemctl reload ssh
Vérification attendue
ethtool annonce 2500baseT/Full sur les deux ports ; iperf3 affiche environ 2,3 Gbit/s par port (la ligne 2,5 G ne se mesure qu'avec un peer et un switch 2,5 G). Après reconnexion, ssh -o PubkeyAuthentication=no -o PasswordAuthentication=yes user@carte est refusé (mot de passe désactivé) alors que la connexion par clé fonctionne.
Erreurs fréquentes
- Croire à un débit cumulé : les deux ports sont indépendants (chaque RTL8125BG sur sa liaison PCIe 2.0) ; ne pas agréger les deux ports pour « doubler » la bande — un flux unique reste plafonné à 2,5 G.
- Câble Cat 5 ou switch 1 G : négociation retombée à 1000/100 Mbit/s, vérifier
Speed:dans ethtool. - Verrouillage hors ligne : toujours garder une session ouverte et valider
sshd -tavant le reload ; tester depuis une seconde session. - >
Autres tutoriels pour cette carte
- Allumer une LED via le GPIO 40 broches (libgpiod)
- Lire un bouton poussoir et afficher dans la console
- Premier script Python : fiche signalétique de la carte et LED
- Variation d'intensité d'une LED avec PWM (sysfs pwm)
- Lire un capteur I2C (BMP280) depuis le bus du connecteur
- Booter sur NVMe (M.2 PCIe 3.0 x4) et récupérer une carte brique via MaskROM
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash