Routing

 View Only
last person joined: 18 hours ago 

Ask questions and share experiences about ACX Series, CTP Series, MX Series, PTX Series, SSR Series, JRR Series, and all things routing, including portfolios and protocols.
  • 1.  Next hop for route-reflected routes

    Posted 19 days ago
    Edited by Clive Gwyther 19 days ago

    I have 4 nodes as follows:

    Dummy --> R1 --> R2 (route-reflector) --> R3

    Dummy - Just has a loopback and a static stating all routes to R1
    R1 - iBGP connectivity to R2(route-reflector)
    R2 is the route reflector 
    R3 Is the receiver of the routes

    R3 can see the loopback network of the dummy node, so I know all of that part is configured correctly. I think what is missing is that the reflected advertised route of 10.10.10.0/24 (aggregate) to R3 has the next-hop still labelled as R1 (especially as I also cannot see the R1 to Dummy connected interfaces either on R3).

    Question: If the route-reflector cannot change the "next-hop" attribute when forwarding the routes, how will R3 ever know how to get to the loopback address on the dummy when the current next-hop for that network is R1?

    Can I change the next-hop at the reflector? 
    What is the best way to achieve the connectivity?

    Here is the basic configs of each system (and it is basic):

    DUMMY:
    set interfaces ge-0/0/1 description to-router1-ge-0/0/1
    set interfaces ge-0/0/1 unit 0 family inet address 172.16.10.1/24
    set interfaces lo0 description dummy-address
    set interfaces lo0 unit 0 family inet address 10.10.10.1/24
    set routing-options static route 0.0.0.0/0 next-hop 172.16.10.2

    R1:
    set interfaces ge-0/0/0 description to-rr
    set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.1/30
    set interfaces ge-0/0/1 description to-dummy-ge-0/0/1
    set interfaces ge-0/0/1 unit 0 family inet address 172.16.10.2/24
    set interfaces lo0 unit 0 family inet address 192.168.1.254/32
    set routing-options static route 192.168.50.250/32 next-hop 192.168.1.2
    set routing-options static route 10.10.10.1/32 next-hop 172.16.10.1
    set routing-options aggregate route 10.10.10.0/24
    set routing-options autonomous-system 44009
    set protocols bgp group internal-peers type internal
    set protocols bgp group internal-peers local-address 192.168.1.254
    set protocols bgp group internal-peers log-updown
    set protocols bgp group internal-peers export export-route
    set protocols bgp group internal-peers peer-as 44009
    set protocols bgp group internal-peers neighbor 192.168.50.250
    set policy-options policy-statement export-route term 1 from protocol static
    set policy-options policy-statement export-route term 1 from protocol aggregate
    set policy-options policy-statement export-route term 1 then accept

    R2 (route-reflector):
    set interfaces ge-0/0/0 description to-router-1
    set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.2/30
    set interfaces ge-0/0/1 description to-router-2
    set interfaces ge-0/0/1 unit 0 family inet address 192.168.1.6/30
    set interfaces lo0 unit 0 family inet address 192.168.50.250/32
    set routing-options static route 192.168.1.254/32 next-hop 192.168.1.1
    set routing-options static route 192.168.10.252/32 next-hop 192.168.1.5
    set routing-options autonomous-system 44009
    set protocols bgp group internal-peers type internal
    set protocols bgp group internal-peers local-address 192.168.50.250
    set protocols bgp group internal-peers log-updown
    set protocols bgp group internal-peers cluster 192.168.50.250
    set protocols bgp group internal-peers peer-as 44009
    set protocols bgp group internal-peers neighbor 192.168.1.254
    set protocols bgp group internal-peers neighbor 192.168.10.252

    R3:
    set interfaces ge-0/0/1 description to-rr-ge-0/0/1
    set interfaces ge-0/0/1 unit 0 family inet address 192.168.1.5/30
    set interfaces lo0 unit 0 family inet address 192.168.10.252/32
    set routing-options static route 192.168.50.250/32 next-hop 192.168.1.6
    set routing-options static route 0.0.0.0/0 next-hop 192.168.1.6
    set routing-options autonomous-system 44009
    set protocols bgp group internal-peers type internal
    set protocols bgp group internal-peers local-address 192.168.10.252
    set protocols bgp group internal-peers log-updown
    set protocols bgp group internal-peers peer-as 44009
    set protocols bgp group internal-peers neighbor 192.168.50.250

    R2 (route-reflector) - Advertised routes to R3:
      Prefix                  Nexthop              MED     Lclpref    AS path
    * 10.10.10.0/24           192.168.1.254                100        I

    And you see the next-hop is R1



    ------------------------------
    Clive Gwyther
    ------------------------------



  • 2.  RE: Next hop for route-reflected routes
    Best Answer

    Posted 18 days ago

    By default a route reflector or confederation does not change the next hop of a route from the original one received by the originating BGP peer.  If this is not a valid next hop for the receiver the route is not usable.

    In those cases you need to add the term next-hop-self to the export policy on the RR facing those clients.  This will then have the RR interface to that client as the next hop for those matching routes.

    You can see an example policy in this kb article.

    https://supportportal.juniper.net/s/article/Best-practices-for-route-reflector-configuration-with-regard-to-next-hop-self



    ------------------------------
    Steve Puluka BSEET - Juniper Ambassador
    IP Architect - DQE Communications Pittsburgh, PA (Metro Ethernet & ISP - Retired)
    http://puluka.com/home
    ------------------------------



  • 3.  RE: Next hop for route-reflected routes

    Posted 18 days ago
    Edited by Clive Gwyther 18 days ago

    Cheers Steve. This is what I thought would have to happen. Much appreciated. Although the example here uses the next-hop self for the eBGP router at the edge of the AS. That is a given for that router to have a next-hop self command. The example does not show a next-hop self there, only a continuation or redistribution of the iBGP routes. I will give this a go and see what the results are and post here.


    Cheers



    ------------------------------
    Clive Gwyther
    ------------------------------



  • 4.  RE: Next hop for route-reflected routes

    Posted 18 days ago

    Hi Clive,

    The purpose of route-reflectors is to simplify the topology by avoiding the full-mesh iBGP peering amongst the iBGP routers. It can greatly simplify the design in a topology with large number of routers. In an ideal design, the RRs should only be in the control-plane to reflect the routes learnt from one client to the other. The RRs should ideally not be in the data-path, as it can lead to sub-optimal routing along with huge processing load on the RRs. The RRs do not change any attribute, including the next-hop of the routes learnt from other clients. The iBGP peers rely on IGP to reach the next-hop router.

    In your design, since the data path between the R1 and R3 is via R2, next-hop-self on RR is the only way if you want to rely on iBGP, and have no IGP running in your network. By the way, why not deploy eBGP in your scenario?

    Regards



    ------------------------------
    Sheetanshu Shekhar
    ------------------------------



  • 5.  RE: Next hop for route-reflected routes

    Posted 18 days ago

    Hi Sheetanshu,

    Thanks for the information, although I know all of that and why it is utilised. This was a simple lab test and I knew that it was the RR side as router 4 could not see the connectivity or "static" routes on router 2 side. My question was really based around what I could manipulate on the RR because, as you rightly pointed out, it cannot change the next-hop of the route and othe characteristics.

    In an ideal environment and IGP would have been utilised and this issue would not have been seen.

    Again, many thanks.

    Clive



    ------------------------------
    Clive Gwyther
    ------------------------------



  • 6.  RE: Next hop for route-reflected routes

    Posted 17 days ago
    • Question: If the route-reflector cannot change the "next-hop" attribute when forwarding the routes, how will R3 ever know how to get to the loopback address on the dummy when the current next-hop for that network is R1?

    Both the route (10.10.10.0/24) and the next-hop  (192.168.1.254) should resolve via the default route, didn't it work with just that and without NextHopSelf from RR?:

    set routing-options static route 0.0.0.0/0 next-hop 192.168.1.6

    For learning purposes you could program it to point to R1 loopback:

    set routing-options static route 192.168.1.254/32 next-hop 192.168.1.6