Junos VRF 等价、多下一跳静态路由不平衡

网络工程 瞻博网络 vrf-lite 负载均衡
2021-07-18 23:10:33

我正在对聚合到 PE 路由器(瞻博网络 MX5 JunOS 11.4)上相同 VRF 的双路相同大小链路上的流量进行负载平衡。来自 CE(思科)的流量很好地平衡,但我需要反过来。

我不是在多站点网络内部进行 NAT,唯一的 NAT 发生在 Internet 的边缘防火墙上。

我在 Juniper PE 路由器上按如下方式配置了 VRF:

# 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;
        }
    }
}

在主要配置中:

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

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

路由器仍然只选择 196.33.144.3 跳来将子网的 (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.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
.
.

# 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

# 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
.
.

有一些指南使用路由器的默认 inet.0 实例对此进行了解释,但我找不到在 VRF 中完成此操作的示例。

我正在尝试使用vrf-export命令作为“转发表导出负载平衡策略名称”的替代方法,因为 VRF 没有转发表选项。

任何想法我可以尝试什么?

1个回答

您似乎正在将负载平衡策略应用于routing-instance. 它需要应用到forwarding-table以便它在转发平面上执行 ECMP。

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

要确认它正在工作,您应该会看到与此类似的内容。请注意转发表上的附加条目 entry 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
.
.