Partage de connection 4g sur un réseau local

Tags: #<Tag:0x00007f63f2325020> #<Tag:0x00007f63f2324f30> #<Tag:0x00007f63f2324e40>

Bonjour,
j’ai actuellement un réseau et une ‘box’ ADSL qui nous permet de nous connecter a internet sur le réseau. La qualité de la connection est mauvaise car nous sommes assez loin des villes.

Récemment j’ai installé une petite config sous Debian Stretch pour faire office de Media-Center avec Kodi. Comme ma connection ADSL est mauvaise j’ai pris un forfait 4G sur un vieux portable et je l’ai connecté en USB. Résultat ça marche drôlement bien: le débit est très bon, assez stable et en plus c’est moins cher que mon abonnement ADSL.

Donc évidement, ce que j’ai envie de faire, c’est de partager cette connection sur mon réseau local et résilier mon abonnement ADSL.

J’ai regardé pas mal de tutoriel et j’en suis arrivé a la conclusion que cela peut se faire par le biais de Network Manager sous la Debian en question. Malheureusement je ne comprend pas les concepts sous-jacent : “bridge” , “passerelle” , “tunnel” …

Quelqu’un pourrait-il m’indiquer par ou commencer pour comprendre la base? Et aussi que dois-je mettre en place pour arriver à mes fins.

pour l’instant ma config ressemble à ça :

root@kodi:~# nmcli device
PÉRIPHÉRIQUE  TYPE      ÉTAT      CONNEXION          
enp0s20u3     ethernet  connecté  Connection_usb_4G 
enp1s0        ethernet  connecté  Ethernet_local    
lo            loopback  non-géré  --                

Sur la partie réseau local, la box fait routeur, et elle est connectée a un switch sur lequel sont les autres pc.

Un grand merci d’avance pour votre aide.

En français on écrit “connexion”, pas “connection”.

C’est triste, mais c’est de plus en plus fréquent. Et tant pis pour l’encombrement des bandes de fréquences et la pollution électromagnétique. Cependant, une connexion mobile n’est pas toujours du “vrai” internet. Le vrai internet, c’est (au moins) une adresse IP publique, idéalement fixe et la possibilité d’envoyer n’importe quel type de paquet IP à destination de n’importe quelle autre adresse IP publique et de recevoir les paquets IP de n’importe quel type destinés à son adresse IP publique. L’internet mobile, c’est parfois une adresse IP privée et la possibilité d’envoyer des paquets de certains types (TCP, UDP, ICMP si on a de la chance) et de recevoir les paquets que l’opérateur considère comme des réponses aux paquets qu’on a envoyés. On peut oublier les connexions entrantes et les protocoles exotiques. Parfois on a “droit” à un proxy transparent ou une interception des requêtes DNS pour être traitées vers les serveurs de l’opérateur, les deux pouvant servir à un filtrage arbitraire. Ça suffit pour faire du web, mais internet ce n’est pas que le web. Si ça suffit, tant mieux.

Si la connexion USB se comporte comme une liaison ethernet et le mobile comme un routeur NAT, il y a deux possibilités : pontage ou routage.

Le pontage revient à faire fonctionner le serveur comme un switch ethernet dont les deux ports seraient les deux interfaces 4G et ethernet vers le LAN et qui peut faire passer des trames ethernet entre les deux. Un point important à comprende est que dans ce type de configuration, les interfaces pontées ne doivent plus avoir de configuration IP (adresse, masque, passerelle…) et c’est l’interface virtuelle de pont souvent nommée br0 qui a la configuration IP. Il n’y a qu’un seul réseau IP entre le téléphone et le LAN à travers le serveur, comme il n’y avait qu’un seul réseau entre la box et le LAN à travers le switch. Apparemment NetworkManager peut créer un pont, mais je ne l’ai jamais utilisé pour cela, j’ai toujours utilisé la méthode traditionnelle avec ifupdown et /etc/network/interfaces.

Pour que cela fonctionne, le téléphone mobile doit fait office de box comme ta box ADSL : routage, NAT, DHCP… pas seulement pour l’ordinateur auquel il est connecté en USB mais pour tout ordinateur du réseau relié via le pont. Si ce n’est pas le cas, il faut se rabattre sur l’autre option, le routage.

Le routage consiste à reprendre les fonctions de la box sur le serveur : routage, NAT, DHCP. La box ADSL doit être déconnectée du LAN sinon son serveur DHCP interfèrera avec celui du routeur. Les deux interfaces restent indépendantes et le routage permet de faire passer des paquets IP (et non plus des trames ethernet) entre les deux. Il y a deux réseaux IP distincts : celui entre le serveur et le téléphone, et celui entre le serveur et le LAN. Je n’ai pas l’impression que NetworkManager puisse faire cela. Il faut installer et configurer un serveur DHCP (sauf si tous tes ordinateurs ont une configuration IP statique), activer le routage IP et mettre en place quelques règles iptables de façon persistante.

2 J'aime

Merci pour ta réponse très détaillée,
C’est vrai que le fait de ne pas avoir d’ip publique est un peut contraignant sur certains point, je verrai a l’usage si je peux m’en satisfaire.

Entre le pontage et le routage, quelle est la méthode la plus simple a mettre en place?

Probablement le pontage, puisque les fonctions IP du réseau local sont alors assurées par le téléphone mobile comme le ferait une box internet. Avec le routage, ces fonctions doivent être assurées par le serveur.

j’ai essayé les deux méthodes, et je n’ai pas eu beaucoup de succès. Ces manipulations demandent des connaissances qui sont sans doute au-delà de ce que je suis capable d’assimiler pour l’instant. Je finirais peut-être par y arriver, mais comme je suis un peut flemmard, j’ai fais autrement.
Si ça peut aider certains, et même si c’est légèrement hors sujet, voilà comment j’ai fais: j’ai retrouvé un routeur asus rt-ac51u dont l’interface WAN avait grillé avec une des nombreuses box que la foudre m’a grillé. (je ne veux pas faire particulièrement de la pub pour ce modèle, il doit y avoir l’équivalent dans toutes les marques). Ce routeur possède une prise USB prévue pour les clés 4g et on peut y brancher un portable. de cette façon tout fonctionne comme sur des roulettes et il y a une interface graphique pour paramétrer a peut près tout (DHCP, pare-feux, vpn, réseau wifi, répartition de la bande passante, …).