Description du problème :

Je suis chez le fournisseur Free.fr depuis la fin d’Oléane, et en ADSL depuis qu’il est arrivé chez moi. Depuis ma première freebox, je n’ai jamais utilisé que le mode bridge, avec derrière un routeur sous FreeBSD et une IP v4 fixe. Récemment j’ai migré de l’ADSL vers la fibre, avec en même temps un changement de Freebox du modèle Révolution vers le modèle Pop. Suite à cette migration, les postes de mon réseau local continuaient à atteindre Internet sans souci, mon routeur était accessible de l'extérieur (pour les ports ouverts), mais ce routeur n’accédait plus au réseau externe !

Explication :

Dans ma configuration initiale, Freebox Révolution et ADSL, mon fichier rc.conf contenait les lignes suivantes :
ifconfig_re1="DHCP"
gateway_enable="YES"
defaultrouter="78.225.128.39"

N.B.: re1 est l’interface de sortie, et 78.225.128.39 était mon IP fixe.

Avec la fibre et la Freebox Pop, j’avis donc juste modifié l’ancienne IP par ma nouvelle, 82.66.1.218, mais ça fonctionnait très mal : pas de souci depuis le résau local, mais pas de sortie depuis une session ouverte directement sur le routeur.

Un examen de la table de routage montrait ceci :
$ netstat -rn
Routing tables

Internet:
Destination Gateway Flags Netif Expire
default 82.66.1.254 UGS re1
default 82.66.1.218 UGS re1

(suite pour les réseaux locaux)

Bon, 2 routes par défaut, c’est évidemment trop pour une seule interface ! Il s’avère que dans ma nouvelle configuration, dhclient ne récupère plus seulement une IP, mais aussi une adresse de sortie (passerelle, gateway).

Le fait de supprimer la ligne defaultrouter de mon fichier de configuration rc.conf a suffit à résoudre le problème.

Et pourquoi les postes du réseau local continuaient-il à avoir un accès à internet sans problème ? Je n’ai pas trop cherché, puisque ça marchait… mais je suppose que c’est dû à la magie des instructions nat on … dans mon fichier de configuration du pare-feu pf, pf.conf.

Voilà, si cela peut servir à d’autres, tant mieux.

Valid HTML 4.01 Strict