One of the best ways to learn and troubleshoot redistribution
is to actually implement it.
And that's what we're going to do in this video and lab right
now.
So click on the link for the virtual lab, and let's go ahead
and do this together.
Let's start by taking a look at the topology
and setting up a plan.
So here's our proposed plan.
I propose that we take these networks right here,
and we put them in OSPF area 0.
Now, one thing I did, which was very convenient for this lab, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now, one thing I did, which was very convenient for this lab,
is that all these networks that I've just outlined here,
they start with 10.0.
So we can do a 10.0 with a wildcard mask for area 0
on all these routers, and they are good to go.
And then, what we can do is, let's make this action down
here, let's go ahead and do EIGRP.
And this will give you some practice in implementing
those protocols as well.
This will be EIGRP, and let's use Autonomous System 1.
So OSPF process id 1 we'll use up here, and EIGRP1 down here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So OSPF process id 1 we'll use up here, and EIGRP1 down here.
And down here, we have these networks on the left-hand side
are all 10.1-something.
Over here on the right-hand side, they're 10.2.
It is playground, which is really what it is.
Let me go ahead and walk you through implementing this.
You can follow step-by-step.
And then once we have the OSPF and EIGRP implemented,
we'll do a redistribution plan between those two
routing domains on either R3, R4, or both.
So let's implement the basic routing protocols first.
All right, so I'm going to bring up a fresh notepad document.
And let's do a config t, router ospf 1, and network everything, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And let's do a config t, router ospf 1, and network everything,
and area 0.
And we'll put this on R1 and R2.
Let's include all their interfaces.
And that'll be for R1 and R2, all right?
Boom, Ctrl-C, and R1, R2, and not R3,
because R3 and R4 are going to be on the edge.
So we only got some of their interfaces.
So for R3, let's do this.
We'll go back to our notepad document,
and we'll do a network 10.0. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and we'll do a network 10.0.
And then, with the wildcard mask,
saying that we care about the first two octets.
So 0.0-- all right, that looks good.
And that will be on routers 3 and routers 4.
So we'll do a copy, and on router 3, we'll paste that.
On 4, we'll paste that.
And let's also verify we got that right.
So let's take a look at our topology.
So R4, it should have gig 2/0 and fa 4/1,
but it should not have Serial3/1,
because these are the 10.1 network down here
off to the bottom right. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
off to the bottom right.
Let's go verify that.
I'll do a show ip ospf interface brief.
Survey says-- great, those are the interfaces we expected.
And it's going to form some neighborships here with both R3
and R2 here in a moment.
Great, let's go on to our config for the EIGRP portion.
So config t, router eigrp, and we're using--
telling the system 1, and we'll do a network--
let's make it 10.1.0.0.
And that's going to be the left-hand side of our network.
And we'll do a wildcard mask of the first two octets, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And we'll do a wildcard mask of the first two octets,
and then, also, network 10.2.0.0.
And that will be the right-hand side of our network.
And that will be appropriate for R3 and R4.
So let's do that, just on those two routers.
So here's R3, and here's R4.
If we look at our topology, what that just did,
that's going to pick up the fa 4/1 on R3
and also these Serial3/1 on R4.
and we can verify that by going back to the CLI WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and we can verify that by going back to the CLI
and doing a show ip eigrp interface.
And over on R3, if we use that same command.
Now, let's go ahead and do routers 5 through 8.
And for that, we can just do router eigrp
and network everything.
And that would be good for them.
They can include everything.
So I will copy that, and we'll put that on routers 5, 6, 7, 8.
So copy, and routers 5, 6, 7, and 8.
All righty. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
All righty.
Oh, and you know what?
We need one more interface.
I just realized that this interface
right here, R3, that is the 10.38 network, which
is not part of EIGRP yet.
Let's go in and add that.
So we'll go back to the CLI, and let's go to R3.
And let's do a show ip eigrp interface.
Yep, didn't get it.
So we'll config t, and we'll do a router eigrp 1,
and we'll do network 10.38. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and we'll do network 10.38.
And that should pick it up.
If we get a neighborship, which we just did, that's fantastic.
That implies we enabled all the correct interface that
goes down to R8.
So what we have now is we have OSPF on the top and EIGRP
on the bottom, and R3 and R4 are running both routing protocols.
So to do redistribution, we need to pick a router that's
running both routing protocols.
And let's go to R3, and let's take the OSPF routes
and put them in EIGRP.
So to do that, we're going to go into router config for EIGRP, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So to do that, we're going to go into router config for EIGRP,
and then do a redistribute OSPF, and we'll
specify what we want the metrics to be once those routes in OSPF
come into EIGRP.
Let's do that right now.
So on R3, we'll do a show IP protocols,
just to make sure we're on the right device.
It's got OSPF running, great.
It's got EIGRP running.
We'll go into router configuration mode,
or router eigrp 1.
And we'll say, redistribute.
I want to bring in.
I'm pulling in the routes from OSPF.
And it's going to ask me for some questions,
like which process ID?
Process ID 1.
It's going to ask me, what do you want to use for the metric? WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It's going to ask me, what do you want to use for the metric?
Now, if you press Enter here, unless you specified a seed
metric, what the default metric should be,
we're going to have some problems.
As far as troubleshooting, you'd better make sure
that we've either set the defaults that way we wanted to,
or we specify them here for when those routes are brought in.
So let's go ahead and use some context-sensitive help.
And let's say the metric we want to use is--
first all, there's really two that really matter
with the default K values.
And the two that matter are the bandwidth, and also the delay. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And the two that matter are the bandwidth, and also the delay.
We just used OSPF1.
I want to use a metric for these newly-imported routes.
I'm going to put in 100.
Well, if I put in 100, that looks
like a really bad bandwidth.
But I don't care.
We want the route to show up.
It's not going to show up as, really, a great metric,
but that's OK.
It's going to be unique.
So OSPF1 metric, let's do 100 kilobits per second,
and then we'll specify a delay.
Let's go ahead and use 200-microsecond delay.
And then, for the rest, reliability, nobody cares--
I shouldn't say nobody cares about that. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I shouldn't say nobody cares about that.
But we're not looking at that for our metric calculations.
So I'm going to put a 1 there.
And then, for the effective bandwidth metric,
I'm going to put a 1 there, because we don't pay attention
that, either.
And a question mark.
The EIGRP MTU, nobody cares about that either.
[LAUGHS] And then, here is where we could actually use a route
map to manipulate and control the routes that
are going to be coming in from OSPF and stuck into EIGRP.
So if we wanted to specify a route map here and then call
upon a route map, we could. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
upon a route map, we could.
We can also do a match, and then do a question mark.
And then it's saying, OK, regarding
pulling OSPF routes in, do you want
to pull in external or internal?
So this would be a great option here control-wise, to say,
you know what?
Any external routes that came into OSPF,
I don't want to bring them in.
Now, if you do, you could just go ahead and include it.
So these are some of the controls we have
when we do redistribution.
So I'm going to leave that off, not
going to use those controls, and boom, we've got redistribution.
Like, whoa, that was quick.
So if we take a look at our routers-- WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if we take a look at our routers--
let's go pick on a router somewhere down here,
like R5, R7, R6, R8.
They're all going to know about these 10.0 networks
up here because R3 is redistributing them into EIGRP.
So let's go take a look.
So back to-- let's go to arr--
let's get R7.
Arr, I'm a pirate--
Arr-7.
And let's do a show IP route.
And we'll just do EIGRP learned routes.
And check it out, we've got some externals,
and externals with a really super high metric.
That's because we didn't give it great bandwidth as far as WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
That's because we didn't give it great bandwidth as far as
when we imported them.
So they're showing up as external EIGRP routes.
The administrator distance for an external EIGRP route is 170.
And we have reachability.
So should we be able to ping 1.1.1.1?
Yeah, the answer to that question is, yeah,
we should be able to ping them.
And I believe that's working.
But the problem is, R1 has no clue how to get back because R1
doesn't have a route to R7.
R7's are just slow. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
R7's are just slow.
So let's do a ping, a 1.1.1.1.
This will loopback on R1, and we'll
source it from loopback 0, which is 7.7.7.
And just to confirm, R1 doesn't have a route back.
So if we go back to R1, we say, hey, Mr. R1, show ip route
everything, show me everything, it says,
I don't have a route to 7.7.7.7.
It's just not in my routing table
because no one is sharing with us.
So let's go back and finish our redistribution.
Now, in a production environment,
it would make a lot of sense, short of using when we're WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
it would make a lot of sense, short of using when we're
in routing domain, but it would also make a lot of sense,
if we're doing redistribution on R3 of OSPF in EIGRP,
it would be a great idea to do redistribution of EIGRP
back into OSPF on that same device.
Because then you're going to avoid loops, and problems,
and issues.
But the other challenge is that if you do it
just on one device, and that router goes down or has
a problem you'll lose connectivity between the two WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
a problem you'll lose connectivity between the two
routing domains.
So even though we could do it here,
we could do it bi-directional, mutual redistribution here
on R3, we could also do mutual redistribution on R4.
For fun-- and it will be fun--
let's do redistribution of EIGRP into OSPF,
but we'll do it on R4.
And we're going to have very similar controls
as we bring those routes in.
Based on the routing protocols, the metric for EIGRP
is way different than OSPF.
So we're going to have to specify
what we want the seed metric or the basic metric WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
what we want the seed metric or the basic metric
to be when those routes come in.
So let's go ahead and do redistribution on R4
and take a look at a few of the controls
we can use there as well.
So on R4-- we'll get on the right device--
we'll do a quick show IP protocols
to verify that we are running OSPF and EIGRP.
And we want to pull--
redistribute, like pull the routes from EIGRP into OSPF.
So to do that, we'll go to OSPF--
router ospf 1.
Now, if you're using address families,
the syntax is to be slightly different, again, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
the syntax is to be slightly different, again,
based on EIGRP named with address families or OSPF
version 3 with address families.
So the syntax may vary a little bit
based on the version and the method you're using,
but the concept is very similar.
That is, we can control the details
for the newly-injected routes based on the device doing
the redistribution.
So router ospf, we want to redistribute.
And look at this.
There is lots of options here where
we can pull in routes from.
But we're going to pull in routes, in this example,
from eigrp, we're telling the system 1,
and let's use context-sensitive help. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
and let's use context-sensitive help.
Now it's saying, OK, do you want to use a route
map in association with this, with a route map that
can further define what we're going to pull in
and, as we pull routes in, if we want to manipulate them further
via the set statements in the route map?
So there's lots of options here.
There's also an option for tagging.
If we want to tag those routes as--
let's do 999.
That way, we could filter on those on R3 if we needed to,
or we could look for those routes in the routing table
with the tag of 999.
So let's tag it here.
We could also tag with a route map. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We could also tag with a route map.
So a route map could be applied, and a route map could match
and then tag also.
So there's more than just one way of doing it.
And let's set the metric.
Let's set the metric.
This is going to be the OSPF metric for routes
that are redistributed in.
Let's set the metric to--
let's do 44, because this is R4 bringing them in.
So we have a metric of 44.
So the routes will show up with a metric of 44.
And what type of metric do you want to use?
With the OSPF, externals have two types-- type 1,
an extra external type 1, which the metric grows WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
an extra external type 1, which the metric grows
as that route is being propagated through the OSPF
domain, or a type 2, which is fixed.
[GRUNTS] This is the route.
Let's use let's use the metric type of 2 as an example here.
And then we could, again, apply a route map,
which would further manipulate or look at the routes
that we're considering for redistribution
and then manipulate them with whatever
we set in the route map.
And then, let's also includes subnets.
That's a little thing with OSPF.
By default, when you bring in routes, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
By default, when you bring in routes,
unless you include the keyword "subnets,"
it's not going to include any subnets.
It's just classful boundaries, which
isn't going to serve our purpose here.
All right, so I included the word "subnets."
And not going to use a route map.
I don't need NSSA only.
So I'm ging to press Enter.
And now we are redistributing EIGRP routes into OSPF.
So if we go to one of these routers-- so this is our four
we just did the redistribution on.
If we go to R1 or R2 and ask them their opinion
about these networks down here, like the 10.78, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
about these networks down here, like the 10.78,
or the 10.1 networks on the left,
or the 10.2 networks on the right, let's go take a look
and see what their opinion is.
So we'll go to R1.
And on R1, we'll do a show IP route.
And look at this.
OK, so let me go ahead and actually clean this up a little
bit.
Let's show ip route for ospf run routes.
There we go-- a little less output there.
So here are some examples of routes, so external type 2.
Why? WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Why?
Because that's what we told R4 to do.
We told R4 to go ahead and use an external type 2.
And there is our metric that we specified the cost--
44, hard coded it.
So if we had multiple devices doing redistribution,
and we wanted one path to be preferred,
how could we do that?
Well, if they're all E2s, and one router, when
it does redistribution, says, hey, the metric is 33,
and one says, the metric is 44, if both routes are available,
it's going to choose the one with the lower cost. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
it's going to choose the one with the lower cost.
And that's how we can influence which path the traffic
is going to take.
Now, a couple of things that I think are very interesting.
Why is R1 thinking that to reach 5.5.5.5,
which is a loopback, it has two paths, through 13.3 and 13.2?
That's R3 and R2.
Let's take a look at our topology.
That's wack-a-doodle.
So the fun begins.
So R1 says, to get to this loopback,
so R4 is doing the redistribution, and R1 says, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
so R4 is doing the redistribution, and R1 says,
I can go here and here.
It's equal cost.
But this is fast ethernet, and this is all gig,
so those are not really equal costs.
And I just realized what we did-- what I did.
By default, the auto cost reference bandwidth
is 100, meaning that the Fast Ethernet and the gig
look like a cost of 1.
So if we change the cost reference bandwidth
on all our OSPF devices to 1,000,
that would make the gig look like a cost of 1
and the Fast Ethernet look like a cost of 10.
And then it would choose a better path. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then it would choose a better path.
Again, that's just OSPF on its own without the redistribution.
So we might want to modify that on a production network
to make sure we're choosing optimal paths.
But that's why that's happening.
Oh, you know what?
In a separate video, as part of this all these sets of videos
and the encore at NRC, we talked about preference,
OSPF preference, where, if it's running the same route,
it's going to use the intra-area route first.
And if there's an inter-area route, it would,
if there's no intra- and there's an inter-area route, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
if there's no intra- and there's an inter-area route,
it would use that.
And then, if there is no inter-area route,
it would then start using the E's in the N's.
And we have a whole separate video on that.
But I think what would be interesting to do
is, we did redistribution here.
It's currently R1 is seeing 5.5.5 as an E2.
What if we also did redistribution here on R3
and we used a worse metric?
Like right now, we have a metric of 44.
If we used a worst metric, but we brought it WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
If we used a worst metric, but we brought it
in as an E1, OSPF preference-wise,
it's going to choose the E1 over the E2.
And we can actually see that.
That's why labbing this up is very helpful and useful
in gaining the skills in both implementing
and troubleshooting routing by looking at the behaviors,
seeing the results, and verifying them
with your own hands.
So let's look to redistribution from EIGRP into OSPF also
on R3, but we'll set them up as type 1s
for the external routes.
And we'll see that R1 will change its attitude, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And we'll see that R1 will change its attitude,
because it prefers external type 1's with the same exact network
over external type 2's.
So back we go.
And let's go to R3.
And let's go to router ospf 1.
And we'll do a redistribute.
And we're going to redistribute eigrp into--
and the autonomous system number is 1.
And the metric, let's go ahead and set a really bad metric.
So for the metric, let's use--
so for the metric, for these EIGRP WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
so for the metric, for these EIGRP
routes that are going to be pumped into OSPF,
let's use a metric of--
let's see here.
How about 88888?
That's a really bad metric.
[LAUGHS] Because everything else in our routing table on R1--
in fact, let's go take a peek.
We have OSPF routes with metric 44, and 2 for the cost.
So 8888 is going to be really high.
OK, then we're going to specify the metric type.
And we're going to bring it in as a metric type of type WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And we're going to bring it in as a metric type of type
1, which is preferred over a metric type of type 2
in OSPF, even though the cost is higher.
That's the preference method.
So here, we could go ahead and tag it,
if we want tag the routes that we're bringing in.
Let's tag it with an 8888.
It's just going to be associated with the routes,
so that later, if we need to on another router,
we can say, hey, anything with a tag of 8888 read as special.
Or, don't redistribute it back into EIGRP,
or something to that effect.
And then, include the word "subnet."
That's good, too, because otherwise, the subnets WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
That's good, too, because otherwise, the subnets
won't come in.
It will only do classful boundaries.
All right, and we are done.
So now we have redistribution here,
if we do a show IP protocols, we are now
doing mutual redistribution here on R3.
If we do a show IP protocols, so for OSPF1 on R3, it says,
OK, I'm bringing in the routes from EIGRP,
which makes this device an ASPR for OSPF,
bringing in something external, redistributing into OSPF.
And it has the metric.
It says, including subnets.
There's the EIGRP process number. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
There's the EIGRP process number.
And if we go download it further and look at EIGRP1, it also--
let me go ahead and scroll up just a little bit--
it also says, hey, I'm redistributing ospf 1
into eigrp.
And so now, if we go to R1, it was just a moment ago
the 5.5.5 network was reachable with the cost of 44.
We had two paths, R2 and R3, because
of our autocost reference bandwidth settings.
But now that R3 is also advertising
that same route for 5.5.5.5, and it's an external type 1-- WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that same route for 5.5.5.5, and it's an external type 1--
check this out.
We'll do a show ip route ospf.
And look at this.
There's our external type 1.
There's our crazy high metric.
An external type 1 grows as it propagates through the network.
And so even though the cost is higher,
OSPF prefers intra-area routes than inter-area routes.
Then it goes on to the external on the NSSAs,
and it prefers the E1 over the E2,
even though the metric is higher. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
even though the metric is higher.
So that's just good to be aware of as far as
how OSPF behaves and operates.
So now, if we want to test connectivity,
we could do a test, we could do a ping
to 7.7.7.7, which is R7 on the bottom left-hand side,
and source it from loopback 0.
And we have full connectivity because we're
doing mutual redistribution.
Oh, and also, before we go, let's do a real quick show IP
route, and let's pick on 7.7.7.7.
And look at that.
This tag, we added that during the redistribution.
So the key is, during redistribution, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So the key is, during redistribution,
we have a lot of control as far as what the metrics are going
to be for those redistricted routes, what rules we're going
to bring in or not bring in, including using a route
map to control that, what gets in and what doesn't get in.
We can control tagging, the type of metric we're using
based on the routing protocol.
So if you were watching this on a mobile device,
I would encourage you to schedule a little bit of time
to go on a computer to the CBT Nuggets website,
click on the link for the virtual lab,
and practice these yourself.
Because the more you practice hands-on
with the redistribution, the more opportunities
you'll have to both be able to configure it WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
you'll have to both be able to configure it
and troubleshoot it in a production environment
should the need arise.
So I'll see you in the next video.
Meanwhile, I hope this has been informative for you,
and I'd like to thank you for viewing.