So what are we actually going to do in this demo?
Quite simply, we're going to examine DHCP on Cisco.
We could examine it on Windows,
but there's really only so much you can do on the Windows side of it.
The scope is either configured correctly or it's not.
It's either active or it's not.
And quite honestly,
my DHCP server is not connected into my virtual infrastructure,
so other than going over the configuration again,
there's not much to be done over there.
However,
on the Cisco platform we're going to look at the DHCP pool configuration,
we'll look at the relay agent configuration,
and we'll also have a networking issue that we need to troubleshoot.
Again, it can't be a physical issue with the cabling,
or spanning tree, or anything like that,
but I've got a little trick up my sleeve that's actually kind of
difficult to troubleshoot even in a live network,
and so hopefully that'll get us a little further
down the path to troubleshooting.
So let's jump right in to our DHCP client and server debugging.
We're back here on the same, wonderful,
massive network that we've used for all of the demos throughout this course.
And I've reconfigured this network with a couple of DHCP configuration issues,
such that this client cannot get an IPv4 address.
We're troubleshooting IPv4 because again,
it's easier to troubleshoot when you don't have to spend 30 seconds
typing out the IP addresses to correct everything.
And the same configuration troubleshooting applies to DHCPv6 as well,
you just have to use the IPv6 command.
So, we'll look here at the client first off,
and if we'll do sh ip int br, we see that this guy is set for DHCP,
but he has no IP address.
If we do sh run int g0/1, we see that he is indeed set for IP address DHCP.
So since we're on the Cisco platform,
we can actually do deb dhcp and that debugs the DHCP client activity.
So if we wait just a second we should see some traffic.
So there it is, server discovery attempt number 3,
it's sending a broadcast on g0/1 from 0000 because again,
it does not have a unicast IP address, and no allocation possible.
Unknown DHCP problem.
No allocation possible.
DHCP waiting for 30 seconds on interface g0/1.
So, basically that's this router's way of telling us,
I couldn't find a DHCP server so I am not going to configure a DHCP address.
So we'll turn off debugging so that it just doesn't scroll off the
screen while we're troubleshooting the problem.
So if we look at our network topology,
we see that the only way for our client to get off the subnet,
and we're assuming that this client could be any kind of device,
it's a router in this configuration,
but it could just as easily be a workstation,
it only has one way of getting off the network,
off the segment as it were, and that's to go through the Bridge.
So, if we look at the Bridge,
let's see if the Bridge is configured as a DHCP server.
So, we'll go over here to the Bridge, and go to the enable,
and we'll do sh run s dhcp,
and we see that it still has the excluded addresses from where we
configured it earlier in the DHCPv4 module,
but there's no other DHCP configuration on this guy.
So we can assume that the Bridge is not actually the DHCP server for the
segment so it must be the actual server over here.
And again, if this were actually your network,
you would know where your DHCP server's supposed to be,
you wouldn't have to try to track it down,
but we're doing it just to be thorough, so,
we know it's going to be the server.
Do sh ip int br, so we're going to assign the helper address of 192.
168.
200.
1 in our Bridge over here.
So, we look here at sh ip int br, and it is g0/2 that's on the client network,
so int g0/2, we'll do ip helper-address,
and paste in that address there.
So now, sh run int g0/2, and it is on the client network.
Here's the IP address and it has the helper address,
it should forward all the traffic over to the DHCP server.
So, go over here to the client, we'll do deb dhcp,
and to force the process to run we will do int g0/1,
we'll shut it down, wait a second for it to actually shut.
There it is, it's changed state to down, we'll do no shut.
So now, we wait just a second to see if we can get a DHCP address.
And we can't.
Well, we're broadcasting,
the packets are almost certainly being received over here on the Bridge,
in fact we can just do deb ip dhcp, we're not running a DHCP server,
we'll just do deb dhcp and hit Enter.
So let's see if we get any kind of debugs over here on the Bridge.
Technically we're not running a DHCP client on the Bridge,
so I don't really think we'll get any debugs here.
We could probably debug some of the packets and get some of the detail,
but that's way too much data for a troubleshooting lab.
We know it's being relayed over to the server, so we'll just un-debug all.
We'll go over here and we'll look at the server itself.
So, in this case, we'll do deb ip dhcp, and do server,
and we'll do server events.
That's funny, we get no server events on this guy so the server is running.
So we'll do run s dhcp, and we are configured for DHCP,
but we, now we're getting some DHCP classes.
So sending notification of Discover.
Remote ID is here, circuit ID is there.
Seeing if there's an internally specified pool class,
there's no address pool for 192.
168.
10.
10,
so we obviously have some kind of configuration
issue with the DHCP server itself.
So let's un-debug all, sh run s dhcp.
There's the excluded-addresses.
Ip dhcp client, network 192.
168.
110.
Oh, our administrator made a typo here.
So let's copy this out and take one of those 1s out of that third octet.
Config t, int, or not interface, but ip dhcp pool Clients,
and we'll just right-click and change that third octet of the IP address there.
Go ahead and write the configuration.
And now if we go back over to the client,
in just a moment we should see it try to lease an IP address.
There's the Broadcast, received a Boot reply packet, so there we go.
It now has assigned an address, 192.
168.
10.
101, which fits in the exclusions and the client socket is closed.
So now we've gone through the process of troubleshooting
a DHCP server configuration issue.
In the next section of the demo,
we will do our best to simulate a network configuration issue and we'll troubleshoot that.