DEBIAN 12: Partage réseaux sur port ethernet d'un PC

Bonjour à tous,

Je ne sais pas si le titre est assez clair, je vais essayer de vous expliquer au mieux ce que j’essaye de faire.

Je veux partager mon réseaux local arrivant sur mon NUC via usb-c sur le port ethernet.

Mon install est la suivante :

  • J’ai un écran qui fait office de station d’accueil, il est directement relié à ma freebox.
  • L’écran est relié en USB-C à mon NUC sous debian 12, ce qui me permet d’avoir le réseaux sur mon NUC et d’avoir une adresse dans le réseaux local de la freebox (configuré en mode routeur).

Ainsi, le port Ethernet de mon NUC étant libre, je l’ai raccordé à un ampli dans le but qu’il accède au réseaux local géré par la freebox.

Donc, si je dois schématiser, le câblage est le suivant

Freebox <-RJ45-> Ecran <-USB-C-> NUC <-RJ45-> Ampli

Que dois-je faire au niveau de la config mon OS (debian 12, install minimale + gnome), avec afin que l’ampli choppe une IP via le DHCP de la freebox ?

Evidemment, il faut toujours que le NUC accède au réseaux local et internet, la freebox reste en mode routeur.

J’ai essayé pas mal de choses, mais sans grand succès jusqu’à présent, il est temps pour moi d’appeler à l’aide et de reprendre à zéro.

Edit: Quelques info sur la config

$ cat /etc/networks 
default		0.0.0.0
loopback	127.0.0.0
link-local	169.254.0.0
$ cat /etc/NetworkManager/NetworkManager.conf 
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true
$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enxa84a638eb2d2
iface enxa84a638eb2d2 inet dhcp

# This is an autoconfigured IPv6 interface
iface enxa84a638eb2d2 inet6 auto

enxa84a638eb2d2 est l’interface du port usb-c

$ ip a
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: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 1c:69:7a:65:6a:ea brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
3: enxa84a638eb2d2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a8:4a:63:8e:b2:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.29/24 brd 192.168.0.255 scope global dynamic noprefixroute enxa84a638eb2d2
       valid_lft 40331sec preferred_lft 40331sec
    inet6 2a01:e0a:241:9220:cdf4:68ff:d79e:32dc/64 scope global dynamic noprefixroute 
       valid_lft 85990sec preferred_lft 85990sec
    inet6 fe80::9f3:fb85:f253:24d5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: wlp0s20f3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ae:74:db:83:7a:51 brd ff:ff:ff:ff:ff:ff permaddr 84:c5:a6:75:28:b2
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:dc:52:78:01 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

La première question qui me vient à l’esprit, c’est pourquoi ?
Ca semble très compliqué pour des « soucis » potentiels importants :

  • l’écran qui fait bridge réseau au milieu ??? C’est quoi comme écran ?
  • utiliser de l’USB C avec un adaptateur ethernet pour faire passer tout le trafic du NUC ?

J’achèterai un switch à 20 euros pour éviter tout ce montage.

Parce que là, pour que l’ampli ait une adresse IP donnée par la freebox, il va falloir créer un bridge sur le NUC et mettre les deux interfaces dans le bridge.
Ca peut marcher mais :scream:

Parceque

Blague à part, le wifi est pas terrible et comme j’ai un port dispo autant l’exploiter, ajouter à ça le petit défi et la satisfaction d’y arriver :slight_smile:

Pour l’écran, j’ai peut être fait une confusion entre usb-c et thunderbolt, en tout ça, c’est un prolite XUB2792QSN.
Comme je le disais, il fait office de station d’accueil, tu y branches le réseau en RJ45, des devices USB, et via la connexion usb-c uniquement, tout est dispo sur le PC (réseaux, devices USB, écran), comme n’importe quelle station d’accueil de laptop récente. Je n’utilise aucun adaptateur.

C’est bien ce que j’ai tenté de faire, et soit j’ai manqué quelque chose, soit ce n’est pas la bonne solution.

J’ai d’abord essayé avec netplan suite à ce sujet : networking - Simple Bridge with netplan doesn't work (19.10) - Ask Ubuntu, j’ai assez rapidement laissé tombé cette solution bien que je trouve le concept intéressant.

J’ai tenté le bridge manuellement comme indiqué ici :
https://wiki.debian.org/fr/BridgeNetworkConnections#Configurer_le_pontage_dans_.2Fetc.2Fnetwork.2Finterfaces

Mais pas mieux avec la config suivante :

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enxa84a638eb2d2
#iface enxa84a638eb2d2 inet dhcp
iface enxa84a638eb2d2 inet manual 
iface eno1 inet manual

# This is an autoconfigured IPv6 interface
#iface enxa84a638eb2d2 inet6 auto
#
iface br0 inet dhcp
  bridge_ports enxa84a638eb2b2 eno1

Lorsque je tente de monter br0, cette dernière échoue

Waiting for br0 to get ready (MAXWAIT is 32 seconds).
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/br0/0e:12:d1:62:c5:a7
Sending on   LPF/br0/0e:12:d1:62:c5:a7
Sending on   Socket/fallback
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 9
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on br0 to 255.255.255.255 port 67 interval 8
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Mais quoi ? :smiley:

J’ai remarqué une boulette

bridge_ports enxa84a638eb2b2 eno1

au lieu de

bridge_ports enxa84a638eb2d2 eno1

Mais mon ampli ne semble pas se connecter au réseau

Mais, après avoir, éventuellement, réussi à le faire marcher, la probabilité que cela soit stable et fiable me semble assez basse…
Si ensuite sur debian, tu mets HA en mode container (je pense que dans cette config il faut oublier supervised qui fait des « trucs » avec le réseau), faire marcher un bridge et du docker en mode host, ça va être je le crains assez coton.

La syntaxe m’a l’air OK. Tu as bien fait un restart du réseau une fois la config faite ?

Je ne mettrais pas de HA sur cette machine :wink:
J’aurais peut être du le préciser plus tôt :smiley:

Il me manquait l’IP forwarding dans /etc/sysctl.conf

net.ipv4.ip_forward = 1

auto br0 dans /etc/network/interface, et c’est actif au démarrage

la conf complète nettoyée en gardant commenté la conf initiale :

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug enxa84a638eb2d2
#iface enxa84a638eb2d2 inet dhcp
iface enxa84a638eb2d2 inet manual 

iface eno1 inet manual

# This is an autoconfigured IPv6 interface
#iface enxa84a638eb2d2 inet6 auto

auto br0
iface br0 inet dhcp
  bridge_ports enxa84a638eb2d2 eno1

Edit : merci d’avoir joué le rôle du canard en plastique :smiley: