As network administrators, we really
do want to know what's going on.
We want to know when interfaces go down if they shouldn't.
We want to know about events that are happening.
Is the temperature too high?
Or is there too much traffic going through the network
at this part of the network?
SNMP is a great tool to help feed us all that information.
So let's take a look at, not a big history lesson of SNMP,
but the two current flavors that are primarily being
used and also how they work.
So let's start by adding ourselves
to the mix, you and I. Let's imagine
that we are plugged into this network WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that we are plugged into this network
and here's our PC right here.
So for SNMP to work, there are two players primarily.
One is going to be the client or the agent that's
being monitored, and the other is
going to be the manager where that information is going
to be received and processed.
So we could have our network management
server, the NMS, or the manager, running on a server,
or it could be software running on a PC or some other device.
Hopefully that device is up most of time.
And for this discussion, let's say the manager software
sitting right here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
sitting right here.
And then we can have the agent.
Or that agent maybe extra software we put on that system
or maybe built into the operating system of the device.
We have an agent running on our devices.
We have an agent on the routers and on the switches
and on our printers and any other SNMP manageable devices.
And what we do is we simply associate them.
We tell the manager, hey, you have an agent right here
at this IP address on this box.
And we configure the agent on that device
to allow the request coming in from that manager. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to allow the request coming in from that manager.
And so most of the time, the network manager
is going to be making requests.
And sometimes those are referred to as gets,
where they're saying I'd like to see this information.
Maybe I want to see the power supply
voltage for a certain power supply or the temperature
or how much traffic is going through.
And the way we're going to be able to accurately ask
for those details is based on having the right MIB.
MIB stands for the management information base.
And it's a detailed record.
It's sort of like a serial number. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
It's sort of like a serial number.
Think about a serial number for each individual component
on a device.
Now the problem is that there may
be hundreds of individual details
that we can pull that are in the MIB for a certain switch,
but they may be different than the ones that are in a router,
or they may be different than the ones are in a Linux server,
for example.
So one of the key elements is that we want to make sure
that our SNMP manager is using the appropriate MIB,
the management information base, the information on how
to get to everything and what's available based on the device WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to get to everything and what's available based on the device
is managing.
So this manager may have separate MIBs,
and it will, have separate MIBs, one for a switch,
one for a router, and one for a server, so it knows how to ask.
Now if you know exactly what that MIB is,
it will be important in setting it up
to specify the correct MIB.
But there's a lot of really cool software out there today
that can query a device, make some educated guesses,
and then throw the appropriate MIBs at it.
So that's a little more loose, not quite as tight.
But that's also an option for many of the managers WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But that's also an option for many of the managers
that are out there today.
OK.
So the concept is we have a manager that
is aware of the capabilities and what
can be looked at on these devices, these SNMP agents.
The manager makes requests, or gets,
and that information is responded back.
There's also the opportunity or an agent
maybe running on router two, to go ahead and send a message out
of the blue to the manager.
Why would we do that?
Interface goes down.
I've been trained to report in.
And not just wait for the manager
to pull me but actually to send it over. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to pull me but actually to send it over.
So there's a couple of terms that are referred to that.
One is called a trap.
And there's also an inform.
Some of that depends on the flavor of SNMP
that we're using.
But again, the trap or an inform is when
we're sending the data over.
And the ports, this is also important for troubleshooting,
the ports are UDP.
And traditionally, we're using 161, UDP port 161, for the
get requests and so forth.
And for the traps, those are going to be using 162.
Now the key is, if they're using different ports,
it's OK if they both know about it, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
it's OK if they both know about it,
if the server and the client both know about it
and if it is configured to look for and use those other ports,
those could be used.
But these are good defaults to be aware of.
So if you have access control lists
or anything else in the network, you
want to look at that as well.
Also, if we set up an agent, we configure SNMP on this device,
probably, just probably, we don't want Bob, the user,
let me go ahead and let me put a different--
we don't want Bob the user to go to start doing queries like,
hey, give me this information, give me that information.
So we can also set up access control lists WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So we can also set up access control lists
as far as the source IP address of who can even make a request,
and then furthermore, we have a little bit of security.
And that leads to another discussion of which flavor
of SNMP.
If we're using version 2C, we're going
to be using community strings.
And the way community strings work are like this.
If this is our manager and this is the agent, when we're
making requests, we are going to be
using community strings based on read only or read/write.
So let's imagine we have a community string.
Think of a community string like a password. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Think of a community string like a password.
And let's say the password is password one.
And for the read/write community string,
the password is password two.
So if the server is making a request
and it's just a get request, I'm looking for,
pulling information, it's going to include
the password or the read only community string,
and our tools say, yes, no problem, I
will give that information to you.
You have the right password, the right community string.
Or if the SNMP manager wants to change a setting and do a set, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Or if the SNMP manager wants to change a setting and do a set,
well it's like a put, pushing information
to the device for modifying a detail,
along with that request it would need
to use a community string that's associated
with read/write permission.
And that way the router, the agent running on this router,
would say, OK, first of all, is the incoming source address,
does it pass the access control list associated with the SNMP
and do they have the appropriate community string that
would allow a read/write access or permissions to change
my config?
So that's the security in version 2.
Now version 3, it's a lot smarter. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Now version 3, it's a lot smarter.
And we'll have a separate video in this series
right here, in this set of videos, on version 3 for SNMP.
But the overview is this.
With SNMP, we can set up views.
And a view says, you know what?
Instead of just like the whole router, everything
that could possibly be looked at,
why don't we just specify a subsection?
Or like the interface status or something like that, instead
the whole system?
So we can set up views.
We can set up a view that says you
can look at the whole thing or parts of it.
And then we'd also set up groups. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And then we'd also set up groups.
And a group is going to indicate what
we can do regarding that view.
Now let's say, let's call it group A. If we set up
group A on the device, we say, OK, for group A,
group A can do read only for a view called U Number One.
And that way, anybody who's a member of group A can only
do views, read information, based
on what was identified by that view, view number one.
Or if we had group B, and group B was given permissions WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Or if we had group B, and group B was given permissions
to go ahead and do read/write access in view one,
then when a user connects and authenticates
and they're a member of group B, they
would have the read/write permissions.
And we'll break that down.
I'll give you some examples of not only configuring it,
but also verifying it as part of these videos.
And then the last thing is to create users.
So we create users, we'd specify what groups they belong to,
which would then tell the SNMP on the system what
they're able to do.
But here's the reason that I think most people are not WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
But here's the reason that I think most people are not
using SNMP version 3.
There is more configuration.
You have views, you have groups, you
have users in those groups and permissions assigned.
And so with version 2C with community strings,
you just have read only community strings,
like passwords, and read/write community strings
with passwords, and it's easier to configure.
So I want you, in a sense of troubleshooting,
to be aware of what those options are
and also to see it in a demonstration.
And that way, you'll be more comfortable in troubleshooting WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And that way, you'll be more comfortable in troubleshooting
it if SNMP isn't working.
All right.
So that's our overview of SNMP.
In the next video, I'd like to take you
to a live network where I've got SNMP version 2 running
and configured, walk you through those steps.
You can see the individual pieces
and get a comfort level with SNMP version 2
and it's fairly simple community strings.
So I'll see you in that next video in just a moment.
Meanwhile, I hope this has been informative for you,
and I'd like to thank you for viewing.