Can anyone explain to me what SNMP is used for in a home Desktop Ubuntu install?
Is it needed? There is no network of any kind other than the cable modem.
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
What is SNMP?
SNMP(Simple Network Management Protocol) "is a widely used protocol for monitoring the health and welfare of network equipment (eg. routers), computer equipment and even devices like UPSs.".
It is commonly used by network and system administrators to gather operational statistics(such as measuring network bandwidth traffic, cpu usage, or available hard drive space) as well as setting system parameters.
What does this mean for the average desktop user?
As the question currently stands, SNMP is of little, or no, interest to the casual desktop user.
By default, in Ubuntu, the basic SNMP files (
/etc/snmp/snmp.conf for example) are installed. But, they are not enabled, not used at all, and have little significance as far as system security is concerned.
Why would I want to enable and use SNMP?
As very simple use case for a more advanced(or curious) user would be to set up a monitoring/graphing system like MRTG, Cacti, or Nagios to keep an eye on the health of their systems and network. There are a number of useful questions on this site that go into details on configuring applications that require the use of SNMP.
This question is a good starting point to look at some of the many applications that employ SNMP to gather system and network data.
How do I enable SNMP on my system?
See my answer here.
/etc/snmp/snmp.confand comment out the line containing "mibs:"
Next, assuming you haven't done this already, you will need to obtain the full set of IETF MIBs. These files do not ship, by default, on Debian/Ubuntu systems due to licensing issues.
From the console (Ctrl-Alt-t), enter the following commands:
sudo apt-get install snmp-mibs-downloader
You should be able to test this configuration by running the following command:
snmpwalk -v 2c -c public <InsertYourIPAddressHere> system
SNMPv2-MIB::sysDescr.0 = STRING: Linux foucault 3.2.0-38-generic-pae #59-Ubuntu SMP Tue Feb 5 18:16:32 UTC 2013 i686
Where can I learn more about SNMP?
Net-SNMP is the "canonical" package for most installations.
A good introduction can be found here.
Finally, the wikipedia entry for SNMP.
Simple Network Management Protocol (SNMP) is an "Internet-standard protocol for managing devices on IP networks." Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks, and more." It is used mostly in network management systems to monitor network-attached devices for conditions that warrant administrative attention. SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). It consists of a set of standards for network management, including an application layer protocol, a database schema, and a set of data objects. (For more detail )
By default SNMP (the agent or monitored device) is not installed on Ubuntu Desktop.
Only the SNMP library is installed as it can be used to get the state of a network printer for instance but it is not activated unless the printer driver requests it.
Overall SNMP (the agent or monitored device) has not much use on a Home Desktop, as you suspected it.
SNMP is used to remotely monitor a system. It can also be used to remotely configure a system, if the daemon allows write access, which is rare. You don't need it if you aren't doing fine-grained analysis of your system state, or central monitoring or configuration management. (Even without it, a program like Nagios can check to see if a system is up, whether HTTP or SSH services are listening on ports, etc..)
Sometimes it appears as if SNMP libraries or functionality are piggybacking on the installation of other programs, but in reality, unless they touch
/etc/snmp/snmpd.conf, you've mis-read the purpose of the files. For instance, CUPS seems to include an SNMP configuration file, but its purpose is to allow CUPS to find printers on other systems that expose them via SNMP.
If you block UDP on port 161 or restrict the listener to localhost (127.0.0.1 and ::1/128), this will prevent remote querying of your system's information via SNMP.