Bug sur les routes statique en 2.3.x



  • bonjour à tous,
    je viens de trouver un problème sur les routes statiques.

    Problème est:
    je dispose :

    • pfsense 2.3.2 sur une carte ALIX

    • 2 interface WAN en configuration PPPoE en mode MPLS ( WAN_ADSL_1 (PPPoE0) 10.105.0.10: / WAN_SDSL_2(PPPoE1) : 10.105.0.11

    c'est deux liens dispose de la même passerelle : 10.105.0.1
    L'interface PPPoE0 est l'interface par defaut

    lorsque je créé des route statique pour passer le trafic vers WAN_SDSL_2(PPPoE1)  le routeur les accepte mais ils ne routent pas le trafic vers cette interface.

    /root: netstat -nrf inet
    Routing tables

    Internet:
    Destination        Gateway            Flags      Netif Expire
    default            10.105.0.1        UGS      pppoe0
    10.105.0.1        link#8            UH      pppoe0
    10.105.0.10        link#9            UHS        lo0
    10.105.0.11        link#8            UHS        lo0
    94.143.87.198/32  10.105.0.1        UGS      pppoe0
    94.247.160.53/32  10.105.0.1        UGS      pppoe0
    127.0.0.1          link#7            UH          lo0
    185.117.37.2/32    10.105.0.1        UGS      pppoe0
    192.168.3.0/24    link#3            U          vr2
    192.168.3.5        link#3            UHS        lo0
    192.168.250.0/24  10.105.0.1        UGS      pppoe0
    192.168.251.0/24  10.105.0.1        UGS      pppoe0
    192.168.252.0/24  10.105.0.1        UGS      pppoe0
    192.168.253.0/24  10.105.0.1        UGS      pppoe0

    192.168.254.0/24  link#3            U          vr2
    192.168.254.254    link#3            UHS        lo0

    root: route -n show 192.168.250/24
      route to: 192.168.250.0
    destination: 192.168.250.0
          mask: 255.255.255.0
        gateway: 10.105.0.1
            fib: 0
      interface: pppoe0
          flags: <up,gateway,done,static>recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
          0        0        0        0      1492        1        0

    Or si j'ajoute une route manuellement dans le système :

    En CLI pour ajouter une route de ce style on fait: route add $destination $passerelle -ifp $interface
    Après test, le routage est bien respecté:

    /root: route add 8.8.8.8 10.105.0.1 -ifp pppoe1
    add host 8.8.8.8: gateway 10.105.0.1
    –-----------------------------------------

    /root: netstat -nrf inet
    Routing tables

    Internet:
    Destination        Gateway            Flags      Netif Expire
    default            10.105.0.1        UGS      pppoe0
    8.8.8.8            10.105.0.1        UGHS    pppoe1
    10.105.0.1        link#8            UH      pppoe0
    10.105.0.10        link#9            UHS        lo0
    10.105.0.11        link#8            UHS        lo0
    94.143.87.198/32  10.105.0.1        UGS      pppoe0
    94.247.160.53/32  10.105.0.1        UGS      pppoe0
    127.0.0.1          link#7            UH          lo0
    185.117.37.2/32    10.105.0.1        UGS      pppoe0
    192.168.3.0/24    link#3            U          vr2
    192.168.3.5        link#3            UHS        lo0
    192.168.250.0/24  10.105.0.1        UGS      pppoe0
    192.168.251.0/24  10.105.0.1        UGS      pppoe0
    192.168.252.0/24  10.105.0.1        UGS      pppoe0
    192.168.253.0/24  10.105.0.1        UGS      pppoe0
    192.168.254.0/24  link#3            U          vr2
    192.168.254.254    link#3            UHS        lo0

    si quelqu'un à une solution je suis preneur.

    merci à tous



    </up,gateway,done,static>



  • Je n'ai pas encore regardé le détail de ta conf mais je ne pense pas que tu puisses définir 2 fois la même passerelle comme IP surveillée. Et ce n'est pas lié à cette version de pfSense.

    Essaie, juste pour voir, de définir pour une des 2 une autre gateway de surveillance



  • j'ai désactivé la surveillance des passerelles et j'ai toujours le même problème
    tous passe par le PPPoE0 et non par le PPPoE1

    d'après ce que je vois l'ajout des routes statique match sur la gateway de l'interface et non sur l'interface elle même.
    Aussi si deux interfaces ont la même gateway le routeur va favoriser la route par défaut.

    C'est pour cela que lorsque j'ajoute la route en manuelle en CLI  :

    /root: route add 8.8.8.8 10.105.0.1 -ifp pppoe1

    je précise bien par quel interface.

    il faut donc trouver une solution car l'interface web à un problème



  • Si ton objectif est d'utiliser différentes gateways pour les flux sortants, tu devrais le faire au travers des règles de FW et éventuellement des groupes de gateway.
    Par contre, si tu désactives la surveillance des passerelles, c'est ballot car si une des 2 interfaces tombe, tu ne bénéficies pas de haute dispo.

    J'ai plusieurs config similaires à la tienne sur mes déploiements: 2 interfaces WAN vers 2 liens ADSL en PPPoE avec la même gateway et ça fonctionne très bien avec des groupes de gateway. Mais pour cela, il faut définir, pour une des deux interfaces, une IP de surveillance différente de la gateway par défaut  ;)



  • Bonjou et merci pour ce retour.
    Aussi pour la creation du groupe de passerelle tu en créer combien. je présume 2 ?

    j'ai créer un groupe de passerelle pour le WAN 1 et un groupe de passerelle pour le WAN 2
    j'ai définie le routage dans le Firewall flottant pour 8.8.8.8 vers le WAN 1 et 8.8.4.4 vers le WAN 2 sur toute les interfaces LAN et WANs.

    j'ai flusher le parfeu

    j'ai exécuter un ping depuis le lan et je sort toujours pour 8.8.8.8 et 8.8.4.4 sur le WAN 1.

    cela ne marche pas

    autre solution ?



  • Vu les questions que tu poses, je ne suis pas certain que tu aies bien compris comment ça marche.
    Tu n'as bien sûr pas besoin de définir quoi que ce soit côté WAN.,

    Par ailleurs, pourrais tu décrire en termes "pfsense" les règles mises en œuvre pour ton test ?

    As tu également lu la documentation relative aux groupes de gateway ?



  • bonjour et oui j'ai bien lu les documentations. Cependant après test j'ai toujours le même problème de routage vers une destination spécifique car mes deux interface WAN on la même Gateway.

    d'après ce que je vois que je face le routage par règle de firewall pour par ajout de règle statique le système se fie au gateway et non au interface :

    exemple :

    WAN 1 : PPPoE 0  IP public 10.105.0.10 GW 10.105.0.1 ( lien default)
    WAN 2 : PPPoE 1  IP public 10.105.0.11 GW 10.10.20.1
    LAN : 192.168.1.1/24

    j'ajoute une route statique : 192.168.250.0/24 passe par l'interface WAN 2 PPPoE 1

    je fluch les états de mon pare-feu

    en allant dans le menu Diagnostic-> route

    Destination        Gateway            Flags      Netif Expire
    default            10.105.0.1        UGS      pppoe0
    10.105.0.1        link#8            UH      pppoe0
    10.105.0.10        link#9            UHS        lo0
    10.105.0.11        link#8            UHS        lo0
    192.168.250.0/24  10.105.0.1        UGS      pppoe0

    l'interface web au niveau de l'ajout de route statique ne prend donc pas en compte ma demande de forcer le trafic vers cette destination par cette interface. il utilise la gateway pour le routage et non l'interface. Mais comme la Gateway est la même pour mes deux WAN. il passe par la default.

    Pour vérifier, je suis aller en CLi sur le routeur et j'ai taper la commande suivant  :

    route -n show 192.168.250/24

    route to: 192.168.250.0
    destination: 192.168.250.0
          mask: 255.255.255.0
        gateway: 10.105.0.1
            fib: 0
      interface: pppoe0
          flags: <up,gateway,done,static>recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
          0        0        0        0      1492        1        0

    même chose que sur l'interface web, même si je définie pour la destination (192.168.250/24) en route statique de passer par le WAN2 PPPoE1

    le système ne prend pas en compte ma demande et route sur l'interface PPPoE0 :

    route to: 192.168.250.0
    destination: 192.168.250.0
          mask: 255.255.255.0
    gateway: 10.105.0.1
            fib: 0
      interface: pppoe0

    pour résoudre cette problématique je suis aller en CLI et j'ai ajouter les route statique en dur

    En CLI pour ajouter une route de ce style on fait: route add $destination $passerelle -ifp $interface

    root: route add 192.168.250.0/24 10.105.0.1 -ifp pppoe1

    –-> add host 192.168.250.0/24: gateway 10.105.0.1

    et je vérifie maintenant mes table de routage toujours en CLI :

    /root: netstat -nrf inet

    Routing tables

    Internet:
    Destination        Gateway            Flags      Netif Expire
    default            10.105.0.1        UGS      pppoe0
    192.168.250.0/24          10.105.0.1        UGHS    pppoe1

    cette fois mon routage fonctionne.

    je pense donc qu'il y a un (bug ou une information qui manque) au niveau de l'ajout des route static dans pfsense

    en CLI on fait  : route add $destination $passerelle -ifp $interface

    c'est le "-ifp $interface" qui définit par quelle interface on veut sortir si et surtout quand deux WAN on une même Gateway.

    il faut donc demander un correctif pour ne plus matcher sur la gateway mais bien sur l'interface</up,gateway,done,static>



  • Si tu penses qu'il s'agit effectivement d'un bug et non pas d'un problème de compréhension de ta part de la manière dont ça fonctionne dans pfSense, il ne faut pas hésiter à ouvrir un ticket.
    C'est également un moyen de contribuer  8)



  • Ok merci pour ce retour je vais donc ouvrir un ticket pour ce problème.

    bonne journée



  • Ceci étant, dans les mêmes conditions, quand j'applique ça, pour moi ça fonctionne…

    Bien sûr on ne peut pas le tester depuis pfSense lui-même puisque c'est la règle au niveau du FW pour l'interface (le plus souvent LAN) qui applique le routage.
    ;)



  • En fait je souhaite rediriger tous le trafic VOIP vers une interface spécifique dans mon cas le WAN SDSL qui n'est pas le lien par défaut ( WAN ADSL).
    je créer donc une route statique, et de ce que je vois les traffic passés sur les deux interface WAN même si il y a présence de route static par interface web pfsense, même avec la présence de règle firewall + flush.

    le problème ne ce pose pas si nous avons deux lien  (ADSL + SDSL ) avec des passerelles différentes.

    le problème se pose dans le cas ou l'ADSL et la SDSL on la même Gateway fournit par le provider (opérateur)


Log in to reply