Infobidouille

Faire cohabiter deux accès Internet sur un même LAN

Pour un projet, j’ai besoin d’une connexion Internet rapide (fibre), tout en conservant une IP fixe. Malheureusement, Orange, seul opérateur couvrant mon logement en fibre, ne propose pas l’IP fixe sur ses offres grand public, même en option. Plutôt que de payer 89€ par mois pour une offre pro avec IP fixe, j’ai donc décidé de conserver une Freebox ADSL et de prendre en plus une offre fibre grand public, pour un coût total 75€ par mois, tout en disposant du coup de deux connexions, minimisant le risque de coupure totale et en gardant l’IPv6, non supporté chez Orange. Reste à les faire cohabiter…

Par souci de simplicité, j’ai décidé de ne pas monter deux réseaux indépendants, puisqu’en bidouillant un peu, tout peut fonctionner sur un même réseau, en raccordant simplement la LiveBox à la Freebox en Ethernet et en configurant correctement le tout.

La première étape de configuration consiste à décider laquelle des deux box devra faire office de serveur DHCP, et de désactiver la fonction DHCP sur la seconde. Dans mon cas, ce sera la Freebox, puisqu’elle est déjà configurée pour attribuer la bonne IP à chacun de mes équipements. Cela signifie donc que les équipements configurés uniquement en DHCP feront passer tout leur trafic par la Freebox (comme il s’agit de mes consoles et de ma TV, c’est pas vraiment un problème).

Ensuite, il faut configurer chacune des box sur un réseau indépendant. Par exemple, 192.168.1.x pour la Freebox et 192.168.2.x pour la Livebox. C’est également possible de les mettre sur un même réseau, en leur attribuant deux IP différentes, mais cette solution m’a posé quelques problèmes de routage, donc j’ai préféré y renoncer (et accessoirement, ça évite que les box se « voient » entre elles).

Pour le Wi-Fi, inutile de l’activer sur les deux box, sauf si elles sont éloignées l’une de l’autre (permettant ainsi une meilleure couverture) : les deux box étant reliées par câble, se connecter en Wi-Fi via l’une permet d’accéder à la connexion Internet des deux.

Pour les clients devant utiliser les deux connexions, la configuration (sous Windows) reste également assez simple, en distinguant deux cas.

Dans le premier cas, il va falloir attribuer les deux couples IP/passerelle à la même carte. Pour ça, il faut aller faire un tour dans les propriétés de la connexion, puis dans les paramètres IPv4 (inutile de toucher à l’IPv6, tout le trafic passant forcément par la Freebox) puis dans les options avancées. Là, on peut déclarer deux IP, mais aussi et surtout deux passerelles.

Le petit détail important est la métrique de chacune des deux passerelles : c’est cette valeur qui va déterminer la passerelle prioritaire (celle qui a la plus faible métrique). Dans la capture ci-dessous, c’est donc la passerelle 192.168.2.254 qui sera prioritaire.

En validant les modifications, Windows gueule un peu parce que les deux passerelles ne sont pas sur le même sous-réseau, mais pas de panique, ça ne le dérange pas plus que ça

Dans le second cas, il faut attribuer un couple IP/passerelle à chacune des cartes, et modifier la métrique de l’interface (et non plus de la passerelle) pour indiquer quelle interface doit être prioritaire.

Là aussi, Windows va se plaindre des passerelles sur deux réseaux différents, mais là non plus, en vrai ça ne le dérange pas

Le choix entre ces deux configurations dépendra de votre matériel, mais aussi de vos besoins effectifs : pour un simple client, la configuration à une seule carte fera très bien l’affaire, mais pour un serveur, il faudra opter pour la seconde configuration, en tout cas sous Windows, s’il doit pouvoir être accessible via la connexion secondaire. M’est avis que ça marcherait mieux sous Linux, Windows ayant visiblement Windows tout de même quelques difficultés à gérer la double passerelle (j’ai l’impression que pour les requêtes entrantes, il envoie la réponse vers la passerelle par défaut, qui n’est pas forcément celle par laquelle la requête est arrivée, et du coup ça se perd…).

Voilà, normalement si vous avez tout bien fait, vous avez un Windows connecté via deux box distinctes, qui fait passer tout le trafic sur la première et bascule automatiquement sur la seconde en cas d’indisponibilité de la première

Bien entendu, ça serait beaucoup plus propre de faire deux réseaux distincts, mais ça fait du câblage en plus (surtout dans mon cas, avec 5m de câble Ethernet entre les box et mon switch principal) et ça nécessite deux interfaces réseau sur toutes les machines devant disposer de la double connexion.

Pour certains services nécessitant impérativement de passer par l’une ou l’autre des box, il ne reste plus qu’à définir des routes statiques. Par exemple, pour l’accès Freebox TV depuis l’ordinateur, il faut définir une route statique via la Freebox :

Encore que, la Freebox TV n’est pas le meilleure exemple, puisqu’il y a plus simple : la plupart des applications utilisant le service Freebox TV y accèdent via le nom mafreebox.freebox.fr plutôt que directement via l’IP, donc le simple ajout de la ligne suivante dans le fichiers hosts (C:\windows\system32\drivers\hosts) fait très bien l’affaire :

Une solution encore meilleure et sans ajouter de câblage aurait été de placer un routeur intermédiaire doté de deux interfaces WAN. Mais cette solution était pour moi trop coûteuse et poserait quelques problèmes (accès au disque dur de la Freebox depuis mon PC par exemple). Elle aurait aussi l’avantage de permettre de faire du load balancing entre les connexions plutôt qu’un bête failover, mais là encore, ce n’est pas exempt d’inconvénients (l’une des IP étant dynamique, j’utilise OpenDNS Updater et No-IP Updater, qui seraient « perdus » en cas de load balancing, puisqu’ils détecteraient parfois l’IP publique de la Freebox au lieu de celle de la LiveBox).

Un dernier petit détail concernant les boîtiers TV : le boîtier Freebox Player fonctionne très bien dans cette configuration, même en étant branché avec deux switch entre lui et la Freebox. On ne peut pas en dire autant du décodeur TV d’Orange, qui refuse de fonctionner dès lors qu’il n’est pas connecté directement à la LiveBox… De là à dire que la solution Free est mieux foutue, il n’y a qu’un pas, que je ne me permettrais pas de franchir