So in this lab, I'm going to go ahead and give you a little bit of a spoiler.
Obviously, it's the same topology and a similar objective.
In the last lab, we went from 10 to 1. Now we want to go from 1 to 10.
Specifically, we want to use sourcing 1.1.1.4 and arriving on 10.10.10.10.
The reason why I'm saying I'm going to give you a little bit of a spoiler,
I'm giving you a heads up that in this lab, really the objective here is to see
if you can understand and change the BGP best path selection algorithm WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
if you can understand and change the BGP best path selection algorithm
while also fixing misconfigurations.
So without further ado, let's see if we can get from 1.1.1.4 to 10.10.10.10.
And if not, how can we fix it?
Then, of course, we got to make sure we take the optimal path.
So if I say show IP interface brief, we can just get a look at what we have here.
Everything looks good. Loopback addresses are up.
If I say show IP route, I don't have any. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
If I say show IP route, I don't have any.
I have one BGP learned route and I have no route to 10.10.10.10.
So that immediately means I got to figure out how to get to 10.10.10.10.
Let's jump over to 10.10.10.10.
Give it a show IP interface brief.
Okay, good. The loopback address is up. That's an important part.
And here's my neighbor adjacency between router 9 and router 10. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
And here's my neighbor adjacency between router 9 and router 10.
So what I want to do is I want to make sure I'm advertising this to router 9.
I'll give it a show BGP, IPv4, unicast, neighbors, advertise.
Oh, no, no, no. Got to specify your neighbor.
150, 150, 90. My neighbor is 9.
And then advertise routes. Okay, I am advertising it.
So let's do this. Trace route.
Oh, wait, wait, wait. One more thing I want to see. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Show IP route. Okay, so I'm learning prefixes
all the way down here via router 9 to the destination.
So let's see where it dies.
Trace route 1.1.1.4 sourced from loopback 1.
And got to spell source correctly. That's an important factor.
It looks like it dies again at router 8.
So just like the last lab, there's something wrong with the configuration. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
So just like the last lab, there's something wrong with the configuration.
And it's not making it to router 8.
So let's do control shift 6 to stop that trace route from dying.
And let's look at what's going on between router.
Whoa, look at these logs.
Malformatted messages received from router 7.
Down notification. All right, there.
Peer in wrong autonomous system.
Okay, I'm going to try and give it a show run section BGP. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Okay, I'm going to try and give it a show run section BGP.
These logs kind of stream a lot.
Yeah, we're seeing a lot of resets between router 7.
We got to wait for these. Okay, right there.
Right there. Let's grab it.
Okay, everything looks good here.
I see the BGP confederation identifier, the confederation peers,
and the neighbor adjacency.
I don't see anything that would prevent this from coming up.
So maybe there's something wrong with router 7.
Let's do the same thing.
Show run section BGP. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Show run section BGP.
This will take a minute or two to load up.
Oh, right there.
Right there.
Oh, I see it.
We've got our BGP confederation identifier,
but we didn't specify what our other autonomous systems
in the confederation are.
Our autonomous system is set up to be
our autonomous system is set right there. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
our autonomous system is set right there.
BGP 65,100.
And the confederation identifier means as a whole,
you all serve AS 300,
but you have to tell it what the other autonomous systems
in the confederation are.
And that's 65,200.
So let's do conf T router BGP 65,100.
And then BGP confederation peers 65,200. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Press enter there and immediately adjacency change.
Adjacency up end.
Now, if I go to router 10, actually,
yeah, let's do a trace route again.
Okay.
We made it further this time.
We made it to router five.
And then perhaps it's dying at router four.
Let's see if it can work through.
It does work through it.
It makes it to router four,
but then down the fast ethernet link to router two, WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
but then down the fast ethernet link to router two,
instead of the gig ethernet link to router three again.
Now in the last video,
it was a route reflector issue that was going on.
What I want to do now is I want to see how router one
sees router 10.
Let's do show IP route.
Cause it should be there now.
Yep.
We see 10, 10, 10, 10 learn via BGP learned via router two. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Well, really learn via router four.
That's what the via is right there.
So I give this a show BGP IPV4 unicast summary.
Sure enough, we see three prefixes learned.
Let's do just unicast and look at that right there.
Do you see it?
There's a local preference being advertised from router two. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
There's a local preference being advertised from router two.
So with that local preference being advertised to router two,
that means it's going to take router two every time.
Every time.
Remember highest local preference wins.
And by default, what is it?
It's really like kind of zero.
We've got no weight with a local preference of 101.
So our exit is always going to go out the highest local preference.
And that's why we're going out router two.
So what could I do about this? WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
So let's see this here.
Let's make sure that R2 is the only one that's engineering
the best path selection algorithm.
We'll do show route map.
Sure enough, I do see a policy right here that sets the local preference to 101.
Does R3 have anything going on?
Nope.
And does R4 have anything going on?
No.
OK, so R2 is definitely the reason why.
Because R2 is saying, hey, I'm the best.
So use me, even though it's not.
So we can, well, of course, delete this route map. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
So we can, well, of course, delete this route map.
We could also use R3 and just create a new route map.
So let's do config T.
We'll start by creating an IP prefix list to identify.
Let's give it a name, like for the 10 network.
We're setting the local preference or something like this.
And we will match on, not match.
Matching is what we do in the route map.
I'm just getting ahead of myself.
This is going to be the address or prefix. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
This is going to be the address or prefix.
Oh, no, it's permit.
We're permitting 10, 10, 10, 10, slash 32.
So now we've got a prefix list called 10 local preference that's grabbing 10, 10, 10, 32.
We need to create a route map.
We'll call this R3 for preference or something.
And we will create our first sequence number of 10.
We will now match the prefix list. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
We will now match the prefix list.
Prefix list.
Nope, close, close, close.
IP address coming from a prefix list.
And then the name of that was 10 local preference.
Here, we'll set the local preference to be something higher, like 200.
We will then make sure we have a second statement so it doesn't deny all else.
We'll just do R3 pref permit 20, like so. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
We'll just do R3 pref permit 20, like so.
Then we'll exit out of the route map configuration and move into router BGP 100.
From here, we'll say our neighbor of 100.100.34.4.
That was R4's address up there.
I'm pretty sure we can just look at the IP address scheme one more time.
Real quick, yeah, 100.100.34.4. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Real quick, yeah, 100.100.34.4.
So for that neighbor configuration, we will then apply our route map called R3 pref inbound,
like so.
We'll exit out of this configuration and we'll give it a clear BGP IPv4 unicast 100.100.34.4
in for a soft reset.
Now, if I do, let's jump over to R1 and take a look at this output one more time. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Now, if I do, let's jump over to R1 and take a look at this output one more time.
Now, I see a local preference of 200 learned from router 3.
That's great news.
So at this point, if I'm thinking about this, this is going to go
out this way, up the gig link, down through the confederation,
and then to R10.
Does it come back that way?
We have to take a look from R10's perspective. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
We have to take a look from R10's perspective.
So if I jump here to R10, uh oh, did it freeze on me?
There we go.
It almost froze on me.
It's okay now.
All right, we'll take a look at what this trace route looks like.
Yeah, so see, it's still going down the R2 link.
So we need to make sure that the return traffic R4 engineers this to go out towards that.
And this is a good time for an AS path ACL because with router 4, look at router 4. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
And this is a good time for an AS path ACL because with router 4, look at router 4.
Router 4 has two peers in the same autonomous system.
So we can say, if you're getting an advertisement from autonomous system 100,
set the weight for R3 to be better.
So let's do that.
Let's go ahead and minimize this.
Bring R4 back up here and let's create an AS path ACL that says prefer R3 WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
Bring R4 back up here and let's create an AS path ACL that says prefer R3
when you receive an advertisement sourced from AS100.
So the first thing we'll do is we'll go and create our AP or IP AS path access list.
What do we want to call it?
We could just call it like number one to keep things nice and simple.
And then we say, what is it that we're trying to match on?
We will permit.
And then this is a regex expression.
So we'll say anything that starts with 100 followed by a space, even if there's nothing there. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
So we'll say anything that starts with 100 followed by a space, even if there's nothing there.
So that will match an advertisement that comes from AS100.
Now we'll take a route map and we'll call this R3 pref again.
And we'll say permit and our first sequence of 10.
From here, we can say match IP address one,
because the one matches this ACL that we named one like this. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
because the one matches this ACL that we named one like this.
We'll set the weight to be 100.
Anything that's basically greater than zero.
We'll also make sure we have a 20 statement so that we don't reject everything else.
We'll exit out of the route map configuration.
We'll move into router BGP was 200, I believe.
And then we'll specify for our neighbor.
We want that route map to apply for routes that they advertise in. WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
We want that route map to apply for routes that they advertise in.
So for our neighbor, 100.100, that's link three, four, router number three.
We're going to have a route map of R3 pref
coming inbound to just that weight as we get an advertised route in.
I'll clear BGP, IPv4, unicast 100, 100, 34, three inbound for a soft reset.
And now if I give it a show BGP, IPv4, unicast, WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
And now if I give it a show BGP, IPv4, unicast,
we see routes learned coming from router three now have a weight and they are preferred.
So if I trace from R10, it takes the link over router three.
If I trace route to 10, 10, 10, 10, source from loopback four, WEBVTT X-TIMESTAMP-MAP=MPEGTS:0,LOCAL:00:00:00.000
looks beautiful to me, takes the link over router three and makes its way to 10.
So we have now solved this objective two.