[Problème] Configurer IP Static (Pi5 / Debian Bookworm)

Bonjour;

Je souhaiterais que mon interface wlan0 et eth0 est une adresse IP en statique et si une interface tombe, que je puisse toujours prends la main sur mon équipement, mais dés que la carte réseau eth0 est déconnecté, je perds la main. (Peut importe l’adresse IP)

Sur le système Debian Bookworm, il semble ne pas avoir DHCPCD et j’ai désactiver NetworkManager.

/etc/network/interfaces :

##############################################################################
# LoopBack #
############
auto lo
iface lo inet loopback

##############################################################################
# Ethernet #
############
auto eth0
allow-hotplug eth0
iface eth0 inet static
 address 192.168.0.160
 netmask 255.255.255.0
 network 192.168.0.0
 gateway 192.168.0.1
 dns-nameservers 192.168.0.1

##############################################################################
# WIFI #
########
auto wlan0
iface wlan0 inet static
  address 192.168.0.40
  netmask 255.255.255.0
  wpa-ssid XXXXXXXXXXXX
  wpa-psk  XXXXXXXXXXXX

##############################################################################
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d8:3a:dd:a8:8f:1a brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.160/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::da3a:ddff:fea8:8f1a/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d8:3a:dd:a8:8f:1b brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.40/24 brd 192.168.0.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::da3a:ddff:fea8:8f1b/64 scope link
       valid_lft forever preferred_lft forever
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         OpenWrt.lan     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Cherche à faire un bond à la place. Je l’utilise sur un NAS maison.

Un bond permet d’avoir deux cartes réseau (dans ton cas eth et wifi) avec un seul MAC address. Selon la configuration du mode bond, tu peux avoir du load balancing, du partage, du addition et du backup (plus technique que ça).

https://wiki.debian.org/Bonding

Alors tu n’auras qu’une adresse statique, et peut importe si le wifi ou le eth « coupe », et bien la même adresse IP est utilisable. Tu pourras également partager la charge.

J’utilise un bond de type « 0 », ce qui me donne 2x1Gbps (2Gbps) avec un balancement en cas de fail d’une des cartes.


Dans mon cas, j’ai deux carte eth 1Gbps, sur le réseau, les deux ont la même ip (192.168.0.100), selon la charge, il utilisera l’une ou l’autre des cartes, j’ai donc aucun ralentissement de bande passante dans le cas de transfert multiples systèmes.

Dans mes manip, j’ai testé la « redondance » des cartes et si je débranche l’une des cartes, je ne suis plus vu comme 2Gbps link, mais en 1Gbps, (normal) et la machine reste toujours connecté et atteignable.

Sur mon réseau, tout les système sont en statique, mais défini par le routeur, alors je n’ai jamais besoin de configurer le système pour lui dire quel IP il a. En passant par le routeur, tu garde le DHCP et la compatibilité du réseau. Si l’appareil change de réseau, il est automatiquement pris en charge.

Par exemple je suis en 192.168.0.X, si je vais sur un réseau 192.168.1.X, oui mon IP change, mais j’ai pas de config à faire dans le OS pour le prendre en charge. Pour retrouver le IP dans ce cas la, c’est soit de voir via le login prompt/desktop, ou de voir sur le routeur.

En plus, définir sur le routeur assure que le IP sera toujours disponible et qu’il n’est pas utilisé par un autre système (si tu clone ta carte de Raspberry Pi par exemple).

En passant également par le routeur, tu peux définir des IP statique sur des appareils que ce n’est pas possible (ou pas facilement), comme un téléphone/tablette, certaines console de jeux ou appareils connectés.

Bonjour,

Merci, je vais faire du bonding pour mon raspberry qui me pose soucis.
Pour le second Raspberry je vais mettre 2 IP static

Question: Pourrais t’on avoir 2 IP distinct sur chaque interface en faisant du bonding ?

Non

Le Bonding consiste à relier plusieurs interfaces réseau en une seul, elle partage la même adresse MAC, dont une seul identification.

Utiliser plusieurs cartes réseaux sur un système, avec des adresse IP différentes consiste à une configuration standard, le routage de la connexion devrais ce « balancer » de lui-même. Après c’est la priorité du réseau/carte qui sera pris en compte.

Il tentera d’utiliser la première, si la demande n’abouti pas, elle tente sur la seconde, et ainsi de suite…

C’est comme ton téléphone, tu as le Wifi (une carte réseau et un réseau) et les données mobile (une autre carte, un autre type de réseau). Si la demande ne passe pas sur le Wifi, il tente en données.

Le bonding va plutot servir à augmenter le débit en reliant deux cartes, ou créer un balancement des demandes, ainsi qu’une réponse en cas de fail physique (panne de la carte, déconnexion du câble, …).

Dans ma config, j’ai un lien sur le routeur principal, et l’un sur l’un des hubs switch de mon réseau, ceci pour ces raisons;

  1. "être proche " au niveau de connexions des systèmes en utilisation (latency)
  2. éviter la saturation du transfert du routeur
  3. avoir des points d’entrée différent sur le réseau
  4. avoir des réponses rapide du routeur.

Résultats

  • Si le routeur tombe off ou est en reboot, grâce à la « mémoire » réseau, je garde le lien.
  • Si le hub switch tombe off ou en panne, le lien est toujours possible
  • Vitesse entre les appareil du même hub amélioré
  • Évitement des noeud réseaux (bouchons)
  • Redondance d’accès physique au réseau
  • Éviter les limitations de transfert du réseau selon les appareils (passer par le routeur limite a 4Gbps, le hub switch ce limite à 10Gbps total)

Ceci équivaut à ta configuration; un lien sur le réseau filaire, l’autre sur le wifi. Soit deux points d’entrée physique différente. Sur un RPi5, c’est 1Gbps (eth) + ~240Mbps (vitesse Wifi confirmé entre 210Mbps et 260Mbps dans les deux directions), soit ~1240Mbps (~1.24Gbps) combiné. Le gain en vitesse est n’négligeable, mais ce que tu recherche est la stabilité.

Un bond ne peut pas être sur deux réseaux différents, cette capacité est plutôt un « bridge » (pont). Le bonding est ce qui ce rapproche le plus de la configuration de datacenter et de serveur de niveau commercial ou la redondance du matériel est là pour palier à des problèmes sans une intervention humaine immédiate.

Ce qui s’applique dans ton cas, non ? :slight_smile:

Le bond offrira également le meilleur lien entre les appareils (latency, vitesse), et de gérer le travail, pour éviter des trouble de basse vitesse, latence long, et autres inconvénient d’un réseau surchargé.


Exemple de config bond sur mon NAS.

Coucou,

Je rencontres un problèmes pour au niveau des passerelles réseaux.

Comment définir la passerelle pour chaque réseau ?

LoopBack

######################################################################################
# LoopBack #
############
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback

WLAN0
L’adresse IP est 192.168.0.30/24 et la passerelle est 192.168.0.1.

La passerelle est celle par défaut.

####################################################################################
# WIFI #
########
allow-hotplug wlan0
iface wlan0 inet static

 # =================================================================================
 wpa-ssid XXXXXXX
 wpa-psk XXXXXXXXXXXXXXXXXXXXXXX

 # =================================================================================
 address 192.168.0.30
 netmask 255.255.255.0
 gateway 192.168.0.1
 dns-nameservers 192.168.0.1
 network 192.168.0.0

 # =================================================================================
 post-up   /usr/bin/ip route replace default via 192.168.0.1 dev wlan0 

 # =================================================================================
 post-down /usr/bin/ip route del 192.168.0.0/24

Eth0
L’adresse IP est 192.168.50.2/24 et la passerelle est 192.168.50.1. (IP Route)

####################################################################################
# Ethernet #
############
allow-hotplug eth0
iface eth0 inet static

 # =================================================================================
 address 192.168.50.2
 netmask 255.255.255.0
 # gateway 192.168.50.1
 # dns-nameservers 192.168.50.1
 # network 192.168.50.0

 # =================================================================================
 post-up   /usr/bin/ip route add 192.168.50.0/24 via 192.168.50.1 dev eth0

 # =================================================================================
 post-down /usr/bin/ip route del 192.168.50.0/24

ROUTE
L’interface Eth0 est pas connecté.

root@raspberry:~# ip route

default via 192.168.0.1 dev wlan0 proto dhcp src 192.168.0.30 metric 303
192.168.0.0/24 dev wlan0 proto dhcp scope link src 192.168.0.30 metric 303
192.168.50.0/24 dev eth0 proto kernel scope link src 192.168.50.2 linkdown


root@raspberry:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    303    0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

pour configurer deux réseau en statique depuis leur config, je ne pourrais pas t’aider car je n’applique jamais ce genre de config, je travail toujours avec le DHCP, et je suis contre le genre de config que tu applique.

Faire une config en dur dans le système, dans mes tests, a toujours apporté plus de problème que de solution.


Dans tes configs, tu défini le gateway du wifi mais pas celui du ETH, je ne sais pas à quel point ça peut affecter ton « link ».

Alors la tu es complètement hors de ton sujet initiale, tu ne cherche plus a avoir accès a ton RPi en Wifi et/ou Eth, mais tu veux relier le RPi à deux réseaux.

Il faudra alors passer beaucoup de temps à organiser le routage de tes apps a l’interne. Et sans le NetworkManager (que tu semble avoir désactivé), tu va avoir pas mal de difficulté a gérer ton réseau.

Bref, de mon avis, tu t’y prend pas de la bonne façon et complique la situation. Il est beaucoup plus simple et safe de définir le IP par celui qui les fournis que d’exiger une IP. Peut-être que ton ETH ne ce connecte pas correctement parce que justement, le IP désiré ne peut pas être fournis par le routeur pour X raison.

D’accord avec levelkro, le mieux c’est laisser le dhcp de la box faire son travail.
Et désactiver Network-Manager est une erreur. Network-Manager est très performant pour gérer le réseaux.

Merci Mik91390 pour m’appuyer sur mon propos.

La seul raison qui oblige à passer en configuration en dur dans le OS est quand il n’est pas possible d’accéder au Routeur pour le configurer. Les serveurs de ce monde sont gérer « comme un DHCP », soit un système qui défini les IP des machines, et non la machine qui défini sont adresse IP.

Le DHCP permet de ne pas juste définir le IP, mais aussi le HOSTNAME, et autres utilités, tel que le NAT.
Et sans DHCP, le Wake On Lan n’est pas possible (ou très difficile).


Désactiver le Network-Manager est rendre un système sans réseau. C’est lui qui gère le up/down link, qui peut réinitialiser les connexions et pallier au routage du réseau (interne comme externe). Désactiver ça revient à demander à un plombier de travailler sans outils. C’est possible si tout est pré-configuré correctement. Mais dès qu’un imprévue ce passe, tout s’arrête.

Par exemple, un reboot du routeur, déconnectera le Wifi, et sans le Network-Manager, il ce peut qu’il ne soit pas possible de le reconnecter automatiquement. Un redémarrage du système, ou des services, seras requis pour refaire le link.

Certaines applications détecte le réseau en questionnant Network-Manager, il fournis également des informations sur la configuration réseau. Le Network-Manager gère également l’état des devices (Eth et Wifi) et c’est lui qui prend en charge les fichiers de configurations donc tu parle.

Dans le Cas du Wifi, il y a un service supplémentaire qui s’occupe de l’identification au réseau, c’est pour ça que ton réseau Wifi marche, mais pas le filaire.


J’ai déjà suivi des guides dans ce genre, qui passait par un IP en dur dans le OS, ceci me causait plusieurs problèmes. Par exemple des services qui sont « ouvert a tout points d’entrées » (soit le 0.0.0.0) pouvait cesser de répondre. Après un reboot, parfois, le IP n’était pas alloué correctement. Des fois l’appareil pouvait utiliser le réseau, mais aucun autre système externe à celui la ne pouvait l’atteindre, comme si le IP était ignoré du routeur, parce que ce n’est pas lui qui la alloué.

La seul raison de définir un IP en dur, serais si le OS détermine une mauvaise adresse réseau pour un raison technique du réseau ou l’absence de gestionnaire DHCP, comme avec un HUB uniquement.

Bref, créer un IP statique est mieux via le Routeur pour ce rapprocher du plus de ce qu’Internet est (un NAMESERVER et des Serveurs, le NAMESERVER est le routeur, les Serveurs, les systèmes du réseau)


Et certains routeur n’accepte pas deux fois le même HOSTNAME, alors il ce peut que ta connect Wifi empêche le filaire de ce link, car le HOSTNAME est déjà présent sur le réseau.

Bonjour,

La majeur partie des serveurs ne dispose pas du service NetworkManager mais soit Systemd-networking ou Networking.
Pour le réseau WIFI, ta wpa_supplicant qui fait le travail.

Ton affirmation est vrai dans le cas d’un usage bureautique.

D’autre part, mon utilisation est strictement en IP Fixe, car j’ai besoin d’en avoir une.


Ton raisonnement est pas forcément les bonnes pratiques informatiques, si ton équipement tombe en panne tu à tout ton système inopérant.
De plus un serveur est majoritairement en IP Fixe sur la machine et pas sur le DHCP.

Un bon administrateur systèmes & réseaux dois en prendre compte de cela.

Concernant le routage, j’ai déclarer 2 hosts (1 host = 1 ip)