Les routes statiques à sauts multiples à coût égal Junf VRF ne s'équilibrent pas

8

J'équilibre le trafic sur des liens doubles de même taille agrégés vers le même VRF sur le routeur PE (Juniper MX5 JunOS 11.4). Le trafic provenant du CE (Cisco) s'équilibre bien mais j'ai besoin de faire le contraire.

Je ne suis pas NATing à l'intérieur du réseau multisite, le seul NATing se produit sur le pare-feu de périphérie d'Internet.

J'ai configuré le VRF comme suit sur le routeur Juniper PE:

# show routing-instances {client}
instance-type vrf;
.
.
vrf-export {client}-load-balance;
.
.
routing-options {
    static {
        .
        .
        route 10.0.0.0/24 next-hop [ 196.33.144.11 196.33.144.3 ];
        .
        .
    }
}
forwarding-options {
    load-balance {
        indexed-next-hop;
        per-flow {
            hash-seed;
        }
    }
}

et dans la configuration principale ceci:

# show policy-options policy-statement {client}-load-balance
then {
     load-balance per-packet;
}

et

# show forwarding-options hash-key
family inet {
    layer-3;
    layer-4;
}

Le routeur ne choisit toujours que le saut 196.33.144.3 pour acheminer le trafic du sous-réseau (10.0.0.0/24) vers et non l'équilibrage sur les deux liaisons.

Voici quelques vérifications:

# run show route forwarding-table table {client}
Routing table: {client}.inet
Internet:
Destination        Type RtRef Next hop           Type Index NhRef Netif
default            user     0 8:5b:e:84:4c:b0    ucst   561     3 ge-1/1/2.3017
default            perm     0                    rjct   961     1
0.0.0.0/32         perm     0                    dscd   959     1
10.0.0.0/24        user     0 196.33.144.3       ucst   589     5 ge-1/1/5.2100
10.0.0.55/32       user     0                    ucst   645     6 gr-1/1/10.1
10.0.0.210/32      user     0                    ucst   645     6 gr-1/1/10.1
10.0.6.0/24        user     0                    ucst   921     3 gr-1/1/10.16
.
.

et

# run show route 10.0.0.0 table {client}.inet.0

{client}.inet.0: 19 destinations, 20 routes (19 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.0/24        *[Static/5] 3d 07:43:36
                    > to 196.33.144.3 via ge-1/1/5.2100
                      to 196.33.144.11 via gr-1/1/10.1

et

# run show route table {client}.inet.0 detail

{client}.inet.0: 19 destinations, 20 routes (19 active, 0 holddown, 0 hidden)
.
.
10.0.0.0/24 (1 entry, 1 announced)
        *Static Preference: 5
                Next hop type: Router, Next hop index: 1048574
                Address: 0xb6b407c
                Next-hop reference count: 3
                Next hop: 196.33.144.3 via ge-1/1/5.2100, selected
                Next hop: 196.33.144.11 via gr-1/1/10.1
                State: <Active Int Ext>
                Age: 3d 7:46:23
                Task: RT
                Announcement bits (2): 0-RT 2-KRT
                AS path: I
                AS path: Recorded

10.0.0.55/32 (1 entry, 1 announced)
        *Static Preference: 5
.
.

Il existe des guides expliquant cela en utilisant l'instance par défaut inet.0 du routeur, mais je ne trouve pas d'exemples de ce qui se fait dans un VRF.

Je suis en train de la DRV-export commande comme une alternative pour « forwading table export charge de la balance politique nom » parce que le VRF n'a pas l'option table de transfert.

Des idées ce que je peux essayer?

Shawn Gradwell
la source
Les deux sauts suivants sont-ils accessibles à partir du MX?
Jordan Head
Oui. Je peux
envoyer une requête
D'accord, laissez-moi faire des recherches - j'ai un pressentiment.
Jordan Head
2
"J'essaie la commande vrf-export comme alternative pour forwading-table export load-balance-policy-name" C'est étrange, sans modifier votre table de transfert, ECMP ne va pas fonctionner. Je ne veux pas vous offenser, mais êtes-vous certain que vous essayez de le mettre sous le bon editniveau? Ça devrait l'être set routing-options forwarding-table export {client}-load-balance.
Ryan Foley
Oh, j'en ai totalement mal lu une partie. Ryan a absolument raison, vous devez appliquer la politique d'équilibrage de charge à la hiérarchie qu'il a mentionnée. L'exportation VRF n'est pas destinée à l'équilibrage de charge, mais à des choses comme les cibles / différenciateurs de route.
Jordan Head

Réponses:

5

Il semble que vous appliquiez la politique d’équilibrage de charge au routing-instance. Il doit être appliqué au forwarding-tableafin de pouvoir exécuter ECMP sur le plan de transfert.

routing-options {
     forwarding-table {
          export load-balancing-policy;
     }
}

Pour confirmer que cela fonctionne, vous devriez voir quelque chose de similaire à ceci. Notez l'entrée supplémentaire sur la table de transfert pour l'entrée 10.0.0.0/24.

# run show route forwarding-table table {client}
Routing table: {client}.inet
Internet:
Destination        Type RtRef Next hop           Type Index NhRef Netif
default            user     0 8:5b:e:84:4c:b0    ucst   561     3 ge-1/1/2.3017
default            perm     0                    rjct   961     1
0.0.0.0/32         perm     0                    dscd   959     1
10.0.0.0/24        user     0 196.33.144.3       ucst   589     5 ge-1/1/5.2100 *
10.0.0.0/24        user     0 196.33.144.11      ucst   645     6 gr-1/1/10.1   *
10.0.0.55/32       user     0                    ucst   645     6 gr-1/1/10.1
10.0.0.210/32      user     0                    ucst   645     6 gr-1/1/10.1
10.0.6.0/24        user     0                    ucst   921     3 gr-1/1/10.16
.
.
Ryan Foley
la source
1
Ça a marché! J'ai également ajouté les deux adresses IP du prochain saut à cette stratégie spécifique pour la verrouiller uniquement sur cette route. Grand truc merci!
Shawn Gradwell