Cumuler deux connexions internet

tbowan

4 Février 2019

Maintenant que nous avons deux accès à Internet, autant les utiliser conjointement. La fibre laissant sur place l'ADSL, cette dernière nous servira de connexion de secours.

Maintenant que nous avons deux connexions internet (la fibre avec free et l’ADSL avec red), il est temps de configurer notre PfSense pour les prendre en compte toutes les deux.

Vu la différence de débit, l’ADSL ne nous servira qu’en cas de panne. Répartir la charge ne ferait que frustrer les flux qui auraient la malchance de sortir par le mauvais côté. Alors plutôt que risquer un incident diplomatique familial, autant mettre tout le monde sur la fibre et laisser l’ADSL, au cas où.

Mise en place

Pour les curieux, voici comment nous nous y sommes pris. Les captures d’écrans sont faites sur un pfsense 2.4.4 mais devraient marcher sur les autres versions.

Configuration des interfaces

On pourrait configurer toutes les interfaces directement lors de l’installation du système. On est d’ailleurs obligés d‘en configurer certaines (une WAN et une LAN) pour pouvoir se connecter et utiliser le pare-feu. Mais une fois le minimum fait en ligne de commande, je préfère souvent passer par l’interface graphique. Plus complète et intuitive à utiliser.

La première étape est donc de configurer ses interfaces pour que pfsense sache qui est qui. Pour ça, on va dans le menu Interfaces / Assignements et on ajoute toutes les cartes réseaux dont on a besoin (on les renommera plus tard).

Liste des interfaces

Liste des interfaces

WAN Free

On va commencer par l’interface vers la freebox. Pour ça, on clique simplement sur l’interface correspondante dans l’écran précédent.

Les possibilités de configuration sont nombreuses, mais pour notre cas, on n’a pas grand chose à changer, juste donner un nom (champ description) et s’assurer qu’elle est en DHCP.

Pour faciliter la configuration de la DMZ côté freebox, il peut être intéressant de configurer un nom d’hôte (champ hostname).

Et enfin, puisque notre pare feu est connecté à des réseaux privés (pour rappel, on utilise le mode routeur et non le mode bridge), il faut aussi débloquer les réseaux privés (champ Block private networks and loopback addresses).

WAN Red

De même, la configuration de l'interface côté redbox est simplissime, il faut juste s’assurer qu’elle est en DHCP. N'ayant pas configuré l'IPv6, le champ correspondant est laissé vide.

Ensuite, c’est comme pour la freebox :

Monitoring des passerelles

Pour permettre à PfSense de basculer d’une connexion à l’autre, il faut lui dire comment surveiller les passerelles. Pour celà, il faut aller dans le menu System / Routing. Vous y retrouverez les passerelles correspondantes à vos interfaces en DHCP.

Liste des passerelles

Liste des passerelles

La surveillance d’une passerelle se fait via sa configuration, en cliquant sur l’icone de crayon () en vis à vis. Dans l’écran suivant, nous pouvons alors modifier les champs suivants :

Configuration d'une passerelle

Configuration d'une passerelle

Le choix de l’adresse IP à joindre n’est pas anodin. Si vous prenez l’adresse de votre passerelle (votre box ou le routeur de l’opérateur), vous ne pourrez pas détecter les défaillances en amont. Dans notre cas, nous avons choisi les adresses des serveurs de Google, 8.8.8.8 pour le côté freebox et 8.8.4.4 pour le côté redbox1.

Ensuite, pour voir l’état des passerelles, il faudra passer par le menu Status / Gateways. Dans le tableau suivant, PfSense nous montre les résultats des requêtes ICMP et l’état correspondant.

État des passerelles

État des passerelles

Groupe de passerelles

L’étape suivante consiste à grouper les passerelles. Pour celà, on va dans le menu System / Routing / Gateway Groups et on en ajoute un.

Configuration d'un groupe de passerelles

Configuration d'un groupe de passerelles

C’est la notion de Tier (« étage en français ») qui permet cette notion de l’utilisation « au cas où ». En effet, PfSense réparti la charge entre toutes les passerelles d’un même étage, n’utilisant un étage que si les étages précédent (de valeur inférieure) ont un problème.

De son côté, la détection du problème correspond au réglage Trigger Level précédent. Dans notre cas, Member Down considère la passerelle comme en échec si elle a 100% de perte de paquets lors du monitoring.

On comprend alors l’intérêt de ces trois réglages :

Passerelle par défaut

Maintenant que le groupe est créé et configuré, on va l’utiliser en tant que passerelle par défaut. Pour ça, on revient dans l‘écran System / Routing et on s’attache à sa deuxième partie, la configuration des passerelles par défaut2.

Dans notre cas, nous configurons la passerelle IPv4 pour utiliser notre groupe. Ce qui met effectivement en place la bascule automatique en cas de panne.

Choix de la passerelle par défaut

Choix de la passerelle par défaut

Résolution DNS

Tous ces réglages sont suffisant pour traiter le routage mais il reste encore un petit détail à régler.

Par défaut, pfSense transmet les requêtes vers les boxes, qu'importe l'état de la connexion en amont.

Dans notre cas, si quand la fibre tombera, pfSense continuera d'envoyer des requêtes DNS vers cette connexion. Requêtes qui expireront et nécessiteront un renvoi côté ADSL et croyez moi, le délai induit est visible (et franchement frustrant).

Les détails sont dans un article dédié à la configuration DNS mais si vous êtes pressé, il suffit d'aller dans le menu Services / DNS Resolver et d'activer le serveur DNS (cocher la case Enable) puis de forcer la résolution plutôt que la retransmission (décocher la case DNS Query Forwarding), sauvegarder et appliquer.

Activer le DNS

Activer le DNS

Forcer la résolution

Forcer la résolution

Baptême du feu

Pour tester la connexion, on pourrait se satisfaire de couper la fibre manuellement3, puis surveiller l’état des passerelles et enfin contrôler que la connexion internet fonctionne toujours pour les postes utilisateurs.

Mais les choses étant bien faites, le réseau free a décidé d’avoir un incident pendant la rédaction de cet article…

Il est 16h, on se prépare à lancer une LAN party en famille et, après d’âpres négociations sur le choix du titre, le jeu vidéo décide de se mettre à jour et nous annonce un délai de plusieurs jours… souvenir de l’époque ou nous n’avions que l’ADSL.

Après avoir installé une cellule d’urgence médico-psychologique, on peut diagnostiquer le problème. Petit tour sur l’interface de notre pare feu et on confirme le problème : la connexion fibre est tombée.

Perte d'une connexion

Perte d'une connexion

Mais d’où vient le problème ? Sur son interface de configuration, la freebox n’a rien remarqué mais après un redémarrage, elle reste bloquée à l’étape 6 (l’authentification aux serveurs de free), ça sent le problème du FAI. Problème confirmé en regardant l’état du réseau free : les répartiteurs autour de notre village sont tous tombés4.

En fait, la panne avait débuté 5 heures plus tôt mais nous n’avions rien vu car la connexion de secours avait silencieusement pris le relai. La panne a été résolue vers 19h30 mais la LAN party était finie.

Incidents sur le réseau free est résolu

Incidents sur le réseau free est résolu

Et après ?

Comme on peut s’en rendre compte rapidement, basculer automatiquement sur une connexion de secours, c’est quand même bien confortable voir rassurant. Mais pour vous, très chers lecteurs, ces réglages n’ont pas permis de maintenir l’accès au site merveilleux des arsouyes.

Configurer son DNS personnel avec pfSense
24 juin 2019 Quelle que soit votre raison, il est toujours pratique d'avoir son propre serveur DNS. Comme on va le voir, avec pfSense, c'est simple comme bonjour.
Supprimer les publicités avec pfBlockerNG
8 Octobre 2018 - tbowan. Pour supprimer les publicité de manière globale, autant le faire à la source, via le pare-feu du réseau. Ça tombe bien, pfSense dispose d'un package qui le fait pour nous et on va vous montrer comment.
Configuration des VLANs
18 février 2019 Pour faire passer tous les flux réseaux entre le garage et l'arrière cuisine, nous avons ajouté des VLANs à notre infrastructure. Cet article vous explique comment le faire avec un routeur TP-LINK et un serveur ESXi 6.5.
PfSense Actif/Passif via ESXi
25 février 2019 Une panne ayant mis hors d'usage notre pare-feu, nous avons du rétablir le réseau. Ayant prévu ce cas de figure, nous n'avons eu qu'à appliquer notre Plan de Reprise en brassant nos câbles. Mais pour éviter que le problème ne se reproduise, nous avons aussi mis à jours notre Plan de Continuité en mettant en place une configuration actif/passif, nous fournissant un pare-feu de secours près à prendre le relais.

  1. Vu à quel point ces deux adresses sont utilisées, le jour où un petit malin leur coupera le trafic ICMP, c’est tout internet qui s’effondrera, les admins réseaux du monde entiers étant persuadés que leurs passerelles sont défaillantes…

  2. C’est dans ce genre d’interface où l’intérêt d’utiliser des noms et des descriptions prend tout son sens.

  3. Au sens figuré, on n’est pas forcément équipé pour la ressouder ensuite.

  4. il va donc falloir choisir un autre titre…