It is our pleasure in this video and lab
to practice and troubleshoot IPv6's flavor of DHCP.
So let's take a look at our topology.
We'll formalize a plan, and then we'll get to work.
So here's what I propose that we do.
Let's use R6 as an IPv6 DHCP server.
And the prefix-- let's go ahead and use this prefix right here,
which is 2--
what is it?
2001 DB8 6783, and then the number 68 colon colon slash 64. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
2001 DB8 6783, and then the number 68 colon colon slash 64.
I'll put the 64 down here.
Slash 64.
Great.
All right.
So we'll make a pool on R6.
And let's use some DNS.
We can put a couple DNS servers in there.
And we'll just make those up as we go.
Maybe we put a whole bunch of eights in them
so we can recognize them.
And then also maybe a domain name.
WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So that'll be our plan.
Now, once we have an IPv6 DHCP pool,
if we want that pool to be used, on R6, what we can do
is go to the interface.
And on the interface specify we want to use this DHCP pool.
And then when the client boots up-- oh, one other thing.
We also want to specify on this interface,
do we want to go for stateful configuration of DHCP, which
means the M bit set, the managed bit,
or do we want the O bit to be set, which is,
hey, do stateless autoconfig, whoever's on this network.
Get your own IPv6 host address that way WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Get your own IPv6 host address that way
based on the router advertisements.
But when you're done with that, check
with the DHCP server for other options,
like DNS servers, and domain servers, and things like that.
So what we do on this interface, we
would specify whether we want the M bit or the O bit
to be set.
And for this discussion, for this lab, let's do this.
Let's make R8 on this interface, fa 4/1,
let's make it a DHCP client.
And so we'll basically wipe out the config that's there.
Start from scratch, and do IPv6 enable. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Start from scratch, and do IPv6 enable.
Let's use auto config for configuring its IPv6 address.
And on this router 6 interface, we'll
set the O bit to flag on for other.
And that way R8 will do stateless
autoconfig for its IP address.
But it will also check with the DHCP server
to get the other options, which if we've
included DNS information and domain information,
it can pick that up as well.
So if that doesn't go perfectly, we
have options of troubleshooting, which
is part of what this objective is all about.
It's to understand how it's supposed to work, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It's to understand how it's supposed to work,
and then troubleshoot it when it doesn't.
So if you're sitting at a computer logged on to the CBT
Nuggets website, click on the link for the virtual tab,
and join me as we implement and troubleshoot
DHCP services for IPv6.
So here we go.
Let's make sure we have the correct interfaces.
So R6, just stick with the topology again.
We are going to be dealing with the fa 4/0 interface.
So here on R6, we'll do a show ip interface brief just WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So here on R6, we'll do a show ip interface brief just
to make sure that is--
force of habit.
Show ipv6 interface brief.
And make sure we're on the right network there.
So we're looking for the 40--
the 68 network.
And that is fa 4/0.
I just wanted to synchronize-- make sure we're
on the right interface.
Let's create an IPv6 DHCP pool on R6.
So the syntax is IPv6 DHCP pool.
And let's call it OURPOOL.
There we go.
And in this pool, the options include the address. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And in this pool, the options include the address.
So let's say address is going to be 2001 and db8
and 6783 and 68 for that local subnet colon colon slash 64.
And we can also specify lifetime if we want to.
So we can say lifetime.
And then we have options for infinite,
and the preferred lifetime infinite.
Great. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Great.
So this prefix is going to be around for a long time
if this router keeps on going.
So in our pool configuration, we've
specified a network address.
And let's also do some DNS servers.
Let's do a DNS server of 2001 db8,
and let's put a whole bunch of eights in there.
It'll be really easy to see.
And how about 1?
And we'll do another one with all those eights and the two
as another DNS server.
And how about a domain name?
We'll use a domain name of cbt.com just as an example WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We'll use a domain name of cbt.com just as an example
there.
And let's take a look.
Do show ipv6 dhcp pool.
And there's our information.
Great.
We've got the pool.
Now let's go back to our topology.
And what we want to do is on fa 4/0,
we need to specify that pool.
And we also need to specify whether we
want the M bit for stateful or the O bit set for stateless,
but come and get the additional information from DHCP.
So I propose that we do stateless.
We'll let R8 get its own IPv6 address, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
We'll let R8 get its own IPv6 address,
but have it go to the DHCP server for DNS information,
and also the default domain name.
So let's go back to R6.
And we'll set that up on its fa 0 interface.
So we'll go to interface fa 4/0 interface.
I think I just said 0 interface, fa 4/0.
And we'll do the IPv6 DHCP server.
And we'll specify our pool.
WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And also, if we want to do forwarding,
there's a command for that.
IPv6 DHCP.
And look at that.
Relay, act as a relay agent.
And then we can go ahead and specify the destination,
specify where it should be forwarded to.
Instead of using ip helper, literally, the command on IPv4,
we use the IPv6 DHCP relay command.
But so far, let's do this.
Do-- I forgot where I was-- show run interface fa 4/0.
Let's see where we're at.
Another option is do show history.
And it shows your command so far. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And it shows your command so far.
So we've got our pool.
We've got the DHCP server assigned, the pool assigned.
Let's go to R8.
And on R8, let's wipe out fa 4/1.
That's the sound it would make.
We'll have it autoconfig its IPv6 address.
And we'll have it get the additional options via DHCP,
like DNS, and the domain name.
So let's go back to the interface.
So let's make a road trip over to R8. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So let's make a road trip over to R8.
And also, one other thing, on R6, just type in end.
Let's do a show ipv6 dhcp.
There's our data.
Fantastic.
And let's go to R8 and make him a client.
So show ipv6 interface brief.
And the 68 network is right here.
So it's interface fa 4/1.
We'll go to configuration mode into a default interface
fa 4/1, and just-- WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
fa 4/1, and just--
so any adjacencies we had for IPv4, IPv6, those are all gone.
And let's do a do show run interface fa 4/1 to confirm.
And let's go in.
Interface fa 4/1, ipv6 enable, and ipv6 autoconfig.
No!
I don't want auto--
I want ipv6 address.
And then we want to go ahead and do autoconfig. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then we want to go ahead and do autoconfig.
Great.
So what should happen here, if we
do a show ipv6 interface for fa 4/1,
here it got a globally routable address.
It did that on its own.
It listened to the router advertisements
that were coming off of R6.
And it has a link local address 2, which is fantastic.
And right here it says-- oh, because I've
got IPv6 unicast routing on this, let's turn that off. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
got IPv6 unicast routing on this, let's turn that off.
Make it really a client.
So no ipv6 unicast routing.
And let's do a show ip interface fa 4/1.
So that looks a little better.
So now it doesn't say anything about router advertisements
and et cetera.
It's just a client.
And the default router is that.
And it has its IP address.
And if we do a show ipv6 dhcp interface--
oh, oh, the troubleshooting begins. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
oh, oh, the troubleshooting begins.
So here on this interface, it shows stateless address
autoconfig enabled.
We did that.
But it also says I'm not using DHCP for anything, which
means it is not learning about DNS information,
or the domain name, because it's not using DHCP.
I just recalled why that was.
I got a little excited.
On this interface right here, fa 4/0,
we did not set the M bit or the O bit.
And so as a result, in the router advertisements,
there were no O bits. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
there were no O bits.
So the option-- the other config flag wasn't set.
And so R8 said, well, I see the router advertisement.
There's no bit set to go get other information from a DHCP
server.
So I guess I'm good.
And that's our fault.
Now, when I say our fault, that's my fault.
Let's go and troubleshoot this on fa 4/0 on R6.
And let's enable that.
So back to R6 we go.
And it's interface fa 4/1. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And it's interface fa 4/1.
Let's confirm that.
We'll do a do show run for interface fa 4/1.
And yeah, that's not the right interface.
It's 4/0.
I'm glad we looked.
Yeah.
So I'm going to go into the right interface on the server
here, interface fa 4/0.
Part of troubleshooting is making
sure you're on the right interface.
And yeah, there's no option here for the O bit,
which we need to set.
So IPv6 neighbor discovery. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So IPv6 neighbor discovery.
Not next-hop-self.
Hold the phone, Joan.
Take a look at the context-sensitive help--
nd.
We're going to modify the router advertisements
and specify right here.
That host should use DHCP for non-addressing config.
So we'll say O and tab it out.
That's it.
So now that we've done that, let's go take a look at router
8 and show IPv6 DHCP interface.
Oh, look at that.
I was going to bounce it. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
I was going to bounce it.
I thought, well, if it doesn't see a router advertisement
and update that, I'm going to bounce the interface.
But it got it.
Look at that.
So here is the DNS servers that it learned from the DHCP.
And here is the domain, which is fantastic.
And if we do a show IPv6 interface for fa,
and that is 4/1, you're on R8.
And here we can see the fact that it is using stateless
autoconfig is fantastic. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
autoconfig is fantastic.
And on the server, on the DHCP server, on R6,
we did the same command, show ipv6 interface.
And I want to get the right interface-- fa 4/0.
Here it's specifying that hosts are using stateless autoconfig
for addresses.
That's because we did not set the M flag.
And it also includes here that hosts
are going to use DHCP to get other configuration, including
the DNS and the domain name that we
specified as part of the pool.
That was a little more troubleshooting
than I thought it was going to be with IPv6. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
than I thought it was going to be with IPv6.
Now, in addition to what could go wrong, terribly wrong,
would be if we had first hop security in place for DHCP
with IPv6.
So if we have DHCP policies for IPv6
and we haven't identified policies that include trusted
ports, then the routers that are acting as DHCP servers,
that traffic would be dropped at the switch that
had that policy that wasn't congruent.
So that would be another thing to check as well when
troubleshooting IPv6 and DHCP.
So thanks for joining me in this lab and this video, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So thanks for joining me in this lab and this video,
and this set of videos regarding troubleshooting DHCP services.
I've had a lot of fun doing it.
And I look forward to seeing you in the next set of videos.
So until then, I hope this has been informative for you.
And I'd like to thank you for viewing.