SNMPD.CONF(5) Net-SNMP SNMPD.CONF(5) (NAME) snmpd.conf - Net-SNMP SNMP (DESCRIPTION) Net-SNMP . (snmpd.conf snmpd.local.conf) snmp_config(5) . (perl) snmpconf . snmpconf(1) : snmpconf -g basic_setup : o o o o . snmpd.conf . : snmpd -H (AGENT BEHAVIOUR) MIB snmpd . agentaddress [:][,...] SNMP . LISTENING ADDRESSES snmpd(8) . UDP 161 IPv4 . agentgroup {GROUP|#GID} () . (GROUP) '#' (#GID) . agentuser {USER|#UID} () . (USER) '#' (#UID) . leave_pidfile yes pid . "-U" . maxGetbulkRepeats NUM getbulk . 0 -1 . . . -1 . maxGetbulkResponses NUM getbulk . 100 . 0 -1 . . maxGetbulkResponses . maxGetbulkRepeats . ifmib_max_num_ifaces NUM IF-MIB . (ppp dummy bridge ) IF-MIB CPU ioctl ( ) . CPU IF-MIB . "ifmib_max_num_ifaces 500" 500 ifindex IF-MIB . ( ) . include_ifmib_iface_prefix PREFIX1 PREFIX2 ... IF-MIB . (ppp dummy bridge ) IF-MIB CPU ioctl ( ) . CPU IF-MIB . "include_ifmib_iface_prefix eth dummy lo" IF-MIB . regex ( ). ( ) . SNMPv3 - (SNMPv3 Configuration - Real Security) SNMPv3 SNMP . SNMPv3 << >> (USM) [RFC3414] SNMP . . IETF SNMP SSH [RFC5592] DTLS/TLS [RFC-to-be] . Net-SNMP SNMPv3/USM SNMPv3/TLS SNMPv3/DTLS . SNMPv3/SSH . SNMPv3 Kerberos . SNMP SNMP (D)TLS SSH SNMP USM . SNMP (D)TLS SNMP SSH USM Net-SNMP . SNMPv3 (SNMPv3 generic parameters) SNMPv3 . SNMPv3 <> . engineID . Net-SNMP engineID . . engineID <<>> (context) SNMPv3 USM . Net-SNMP engineID : engineID STRING engineID STRING . engineIDType 1|2|3 engineID IPv4 (1) IPv6 (2) MAC (3) . IP ( ) . engineIDNic INTERFACE MAC . engineIDType 3 . eth0 . SNMPv3 TLS SNMPv3 TLS DTLS . TLS TCP DTLS UDP . Wes Hardaker ( Net-SNMP) IETF TCP ( -) . TLS DTLS . UDP TCP . '[snmp]' . snmpd.conf . snmp_config(5) . [snmp] localCert X.509 . . "net-snmp-cert" . "snmpd" . [snmp] tlsAlgorithms (D)TLS . openssl ciphers(1) . : DEFAULT ALL HIGH HIGH:!AES128-SHA openssl . [snmp] x509CRLFile (CA) (CRL) CRL . Net-SNMP CRL http URL. OpenSSL CRL snmpd . certSecName PRIORITY FINGERPRINT OPTIONS OPTIONS <--sn SECNAME | --rfc822 | --dns | --ip | --cn | --any> . certSecName X.509 SNMPv3 . --sn SECNAME securityName . securityName snmpv3 . : SubjectAltName rfc822 ( hardaker@net-snmp.org) SubjectAltName dns ( foo.net-snmp.org) IP ( 192.0.2.1) (common name) "Wes Hardaker". --any subjecAltName . securityName VACM . (D)TLS http://www.net-snmp.org/wiki/index.php/Using_DTLS . trustCert X509 (trust anchor) . CA . "trustCert" . SNMP (D)TLS (TSM) Transport Security Model . VACM (D)TLS "tsm" : rwuser -s tsm hardaker@net-snmp.org SNMPv3 SSH SSH sshd sshtosnmp tsm snmpd ssh . SNMPv3 (TSM) [RFC5591] SNMPv3 <<>> TLS DTLS SSH . snmp . securityName TSM TSM ( ). tsmUseTransportPrefix (1|yes|true|0|no|false) true TSM securityName . securityName . ssh "hardaker" SSH TLS "hardaker" TLS . tsmUseTransportPrefix true "tls:" "dtls:" "ssh:" . SNMPv3 (USM) SNMPv3 (USM) SNMPv3 . . IETF ISMS ISMS SNMP SSH DTLS . USM SNMPv3 USM SNMPv3 . net-snmp-config createUser : createUser [-e ENGINEID] username (MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224) authpassphrase [DES|AES] [privpassphrase] MD5|SHA|SHA-512|SHA-384|SHA-256|SHA-224 . DES AES . . VACM . SHA|SHA-512|SHA-384|SHA-256|SHA-224 DES/AES OpenSSL OpenSSL . MD5 OpenSSL . : . SNMPv3 snmpusm(1) . ( ) "net-snmp-config --create-snmpv3-user" . /var/net-snmp/snmpd.conf . ( ) . (localized) . . EngineID ( snmptrapd.conf ) -e EngineID ( "0x01020304") . ( "0x") -m -l . : [these keys are *not* secure but are easy to visually parse for counting purposes. Please generate random keys instead of using these examples] createUser myuser SHA -l 0x0001020304050607080900010203040506070809 AES -l 0x00010203040506070809000102030405 createUser myuser SHA -m 0x0001020304050607080900010203040506070809 AES -m 0x0001020304050607080900010203040506070809 ( ). ( MD5 SHA ). (ACCESS CONTROL) snmpd (VACM) RFC 2575 . . (Traditional Access Control) rouser/rwuser ( SNMPv3) rocommunity/rwcommunity ( SNMPv1 SNMPv2c) . rouser [-s SECMODEL] USER [noauth|auth|priv [OID | -V VIEW [CONTEXT]]] rwuser [-s SECMODEL] USER [noauth|auth|priv [OID | -V VIEW [CONTEXT]]] SNMPv3 (GET GETNEXT) - (GET GETNEXT SET) . OID SNMPv3 ( ) . noauth ( ) priv ( ) . OID OID . "context*" . ( "*" ) . SECMODEL ( ). "usm" (D)TLS SSH "tsm" Kerberos "ksm" . rocommunity COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]] rwcommunity COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]] SNMPv1 SNMPv2c (GET GETNEXT) - (GET GETNEXT SET) . OID . SOURCE () - com2sec . OID OID . SNMP . rocommunity6 COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]] rwcommunity6 COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]] IPv6 ( ). SOURCE OID VIEW CONTEXT IPv4 . SNMPv3 . rouser rwuser SNMPv3 ( ) . rwuser rouser ( SET ). . ( OID GET SET) . SNMPv3 VACM . VACM (VACM Configuration) VACM - com2sec group view access. VACM . com2sec [-Cn CONTEXT] SECNAME SOURCE COMMUNITY com2sec6 [-Cn CONTEXT] SECNAME SOURCE COMMUNITY SNMPv1 SNMPv2c - ("default"). ( ) - IP/MASK ( 10.10.10.0/255.255.255.0) IP/BITS ( 10.10.10.0/24) IPv6 . (!) !10.10.10.0/24 . . 10.0.0.0/8 10.10.10.0/24 : com2sec sec1 !10.10.10.0/24 public com2sec sec1 10.0.0.0/8 public 10.0.0.0/8 . ( ) / . / . CONTEXT ( -Cn) SNMPv3 . ("") . com2secunix [-Cn CONTEXT] SECNAME SOCKPATH COMMUNITY com2sec . group GROUP {v1|v2c|usm|tsm|ksm} SECNAME ( ) . group / . - com2sec ( ) group . view VNAME TYPE OID [MASK] <<>> - OID. view (VNAME) OID . TYPE included excluded ( ). MASK ( '.' ':') OID . OID ( ) OID . : view iso1 included .iso 0xf0 view iso2 included .iso view iso3 included .iso.org.dod.mgmt 0xf0 'iso(1)' ( ). ( ) : view ifRow4 included .1.3.6.1.2.1.2.2.1.0.4 0xff:a0 ':' . access GROUP CONTEXT {any|v1|v2c|usm|tsm|ksm} LEVEL PREFX READ WRITE NOTIFY / ( ) . LEVEL noauth auth priv . PREFX CONTEXT exact prefix. READ WRITE NOTIFY *GET SET TRAP/INFORM ( NOTIFY ). v1 v2c LEVEL noauth . (Typed-View Configuration) VACM . VACM . SNMP read write READ WRITE access . authcommunity TYPES COMMUNITY [SOURCE [OID | -V VIEW [CONTEXT]]] rocommunity/rwcommunity . TYPES read read,write . OID ( ) ( view) . OID . CONTEXT SNMPv3 . ("") . authuser TYPES [-s MODEL] USER [LEVEL [OID | -V VIEW [CONTEXT]]] rouser/rwuser . TYPES OID VIEW CONTEXT authcommunity . authgroup TYPES [-s MODEL] GROUP [LEVEL [OID | -V VIEW [CONTEXT]]] authuser ( group) . authuser authgroup - LEVEL noauth priv . authuser authgroup SNMPv3/USM - '-s' ( access ) . authaccess TYPES [-s MODEL] GROUP VIEW [LEVEL [CONTEXT]] . MODEL LEVEL authgroup . CONTEXT SNMPv3 ( CONTEXT '*' ) . ("") . setaccess GROUP CONTEXT MODEL LEVEL PREFIX VIEW TYPES access read read,write ( 'snmptrapd.conf(5)' ). access . (SYSTEM INFORMATION) Net-SNMP SNMP SET ( ). MIB snmpd.conf(5) . (System Group) 'system' : sysLocation STRING sysContact STRING sysName STRING (sysLocation.0 sysContact.0 sysName.0) . SNMP SET . SET notWritable . sysServices NUMBER sysServices.0 . 72 ( + / application + end-to-end) . sysServices.0 . sysDescr STRING sysObjectID OID (OID) . MIB SNMP . (Interfaces Group) interface NAME TYPE SPEED . TYPE IANAifType-MIB ( MIB ). interface_fadeout TIMEOUT ( ppp tap tun) ifTable . . 300 (=5 ) . interface_replace_old yes ifTable . ppp0 interface_fadeout . ppp0 ( ifIndex ) ppp0 interface_fadeout . (Host Resources Group) host ( ). ignoreDisk STRING hrDiskStorageTable ( hrDeviceTable) . HostRes . (timeout) . ( wildcard) . : (host/hr_disk.c) Add_HR_Disk_entry . (wildcard) . snmpd.examples(5) . ignoremount [-r] STRING (mounts) hrStorageTable . Net-SNMP (hang) ( ) . "-r" (regular expression) . skipNFSInHostResources true NFS NFS hrStorageTable (true 1) (false 0 ). Net- SNMP NFS '1' . hrStorageTable ignoremount . storageUseNFS [1|2] NFS NFS hrStorageTable : 'Network Disks' (1) 'Fixed Disks' (2). Net-SNMP 'Fixed Disks' . '1' Host Resources MIB 'Network Disks' . realStorageUnits hrStorageAllocationUnits hrStorageSize hrStorageUsed hrStorageTable . Integer32 hrStorageAllocationUnits x hrStorageSize . : xfs 16TB 4096 hrStorageAllocationUnits = 8192 hrStorageSize = 2147483647 8192 x 2147483647 (=16 TB) . '1' hrStorageAllocationUnits hrStorageSize Integer32 . hrStorageAllocationUnits x hrStorageSize . (Process Monitoring) hrSWRun Host Resources MIB . prTable UCD-SNMP-MIB ( ) . ucd-snmp/proc ( ). proc NAME [MAX [MIN]] NAME ( " -acx") . NAME MIN MAX prErrorFlag 1 prErrMessage . : (trap) - DisMan Event MIB . MAX MIN infinity 1 (" "). MAX MIN 0 (" MAX"). MAX 0 ( MIN ) (" MIN"). MAX MIN 0 . procfix NAME PROG ARGS NAME . prErrFix 1 . : . procfix proc . proc prTable (noSuchObject). (Disk Usage Monitoring) ucd-snmp/disk ( ). disk PATH [ MINSPACE | MINPERCENT% ] PATH . includeAllDisks . (MINSPACE) (MINPERCENT% '%') 100kB . dskErrorFlag 1 dskErrorMsg . : (trap) - DisMan Event MIB . includeAllDisks MINPERCENT% () . dskTable . disk ( includeAllDisks ) . : disk includeAllDisks (indexing) dskTable . includeAllDisks - . HOST-RESOURCES-MIB::hrFSTable . disk includeAllDisks dskTable (noSuchObject). / (Disk I/O Monitoring) ucd-snmp/diskio ( ). diskIOTable . Linux . Linux diskIOTable Linux . diskio_exclude_fd yes Linux "fd" "fd0" . diskio_exclude_loop yes loopback Linux "loop" "loop0" . diskio_exclude_ram yes ramdisk Linux "ram" "ram0" . diskio_exclude_md yes RAID Linux "md" "md0" . Linux . diskIOTable CPU . diskio (acceptlist) . . . (System Load Monitoring) ucd-snmp/loadave ucd-snmp/memory ( ). load MAX1 [MAX5 [MAX15]] (load average) . laErrorFlag 1 laErrMessage . : (trap) - DisMan Event MIB . MAX15 MAX5 . MAX5 MAX15 MAX1 . DEFMAXLOADAVE . 0 laErrorFlag laErrMessage . proc disk laTable ( ucd-snmp/loadave ) load . swap MIN swap . (MIN ) memErrorSwap 1 memSwapErrorMsg . : (trap) - DisMan Event MIB . 16 . (Log File Monitoring) ucd-snmp/file ucd-snmp/logmatch ( ). file FILE [MAXSIZE] ( ) . MAXSIZE fileErrorFlag 1 fileErrorMsg . : (trap) - DisMan Event MIB . : . : file fileTable (noSuchObject). logmatch NAME FILE CYCLETIME REGEX REGEX . . NAME logmatch ( logMatchName logMatch/logMatchTable/logMatchEntry/logMatchName MIB ucd-snmp ) FILE . / ( 'date' UNIX). 'strftime' . CYCLETIME . : SNMPGET* . REGEX (regular expression) . : ! : logmatch apache-GETs /usr/local/apache/logs/access.log-%Y-%m-%d 60 GET.*HTTP.* logmatch 'apache-GETs' 'GET.*HTTP.*' ( ): '/usr/local/apache/logs/access.log-2009-05-06' 'access.log-2009-05-07' . . : logmatch . : logmatch logMatchTable (noSuchObject). (ACTIVE MONITORING) SNMP SNMP - . snmpd . (Notification Handling) trapcommunity STRING (community string) trap . trap . trapsink [-profile p] [-name n] [-tag t] [-s src] HOST [COMMUNITY [PORT]] trap2sink [-profile p] [-name n] [-tag t] [-s src] HOST [COMMUNITY [PORT]] informsink [-profile p] [-name n] [-tag t] [-s src] HOST [COMMUNITY [PORT]] SNMPv1 TRAP SNMPv2c TRAP2 SNMPv2 INFORM . LISTENING ADDRESSES snmpd(8) . COMMUNITY trapcommunity . PORT . SNMP ( ) . : HOST . name tag SNMP- NOTIFICATION-MIB . profile . (: notificationFilter) src trap (sink) . HOST . LISTENING ADDRESSES snmpd(8) . sink ( ) . : ( ) sink . trapsess [-profile p] [-name n] [-tag t] [-s src] [SNMPCMD_ARGS] HOST . SNMPCMD_ARGS snmptrap ( snmpinform) . -Ci ( -v2c -v3) INFORM TRAP . name tag SNMP- NOTIFICATION-MIB . profile . (: notificationFilter) trap SNMPv3 . SNMPv3 : http://www.net-snmp.org/tutorial/tutorial-5/commands/snmptrap-v3.html notificationFilter NAME OID MASK TYPE SNMP- NOTIFICATION-MIB trap . TYPE included excluded . : notificationFilter all_ok .1.3 0x00 included notificationFilter no_coldstart .1.3 0x00 included notificationFilter no_coldstart .1.3.6.1.6.3.1.1.5.1 0x00 excluded trapsink -profile no_coldstart 192.168.1.3:3162 secret3 authtrapenable {1|2} trap (enabled(1)) (disabled(2) - ). MIB (snmpEnableAuthenTraps.0) - SET notWritable . v1trapaddress HOST SNMPv1 TRAP . IPv4 . ( ). DisMan Event MIB trap trap ( trap ) . Event MIB - (DisMan) IETF . disman/event ( ). : - . iquerySecName NAME agentSecName NAME SNMPv3 ( ) . SNMPv3 SNMPv1 SNMPv2c . (createUser) ( rouser) . - . monitor [OPTIONS] NAME EXPRESSION MIB . EXPRESSION ( ) SET ( ). . . NAME mteTriggerTable ( ) . monitor NAME . monitor snmpd . SNMPv3 ( SNMPv1 SNMPv2c ). iquerySecName . EXPRESSION Event MIB - . OID | ! OID | != OID existence(0) . OID present(0) ( ) OID . ! OID absent(1) OID . != OID changed(2) () . OID . OID OP VALUE boolean(1) . OP (!=, ==, <, <=, >, >=) VALUE . OP . OID !=0 . OID MIN MAX [DMIN DMAX] threshold(2) . MIN MAX . OID (MIN) (MAX) . (MIN) . (MAX) . DMIN DMAX . OPTIONS : -D ( ) . -d OID -di OID . -di . -d (/wildcarded) . -I . -D . -e EVENT . DISMAN-EVENT-MIB . -I OID . OID . -i OID -o OID varbind . OID -o OID -i . -I . (payload) strictDisman . -r FREQUENCY FREQUENCY FREQUENCY s ( ) m ( ) h ( ) d ( ) w ( ) . ( ) . -S . . -s . . : coldStart . -u SECNAME iquerySecName . . notificationEvent ENAME NOTIFICATION [-m] [-i OID | -o OID ]* ENAME . -e ENAME monitor ( ). NOTIFICATION OID NOTIFICATION-TYPE . -m varbind OBJECTS MIB . NOTIFICATION OID ( MIB ). varbind ( monitor ). -i OID -o OID varbind . (wildcarded) OID -o OID -i . -I monitor . setEvent ENAME [-I] OID = VALUE (set event) ENAME () VALUE OID . monitor -e ENAME ( ). OID . -I monitor setEvent OID . strictDisman yes SNMP varbind OBJECT ( ) varbind <<>> . varbind notificationEvent varbind . Event MIB Net-SNMP . DisMan Event MIB varbind . ( ) . : DisMan notificationEvent -n varbind monitor -o ( -i) . monitor varbind . linkUpDownNotifications yes Event MIB ifTable linkUp linkDown . : notificationEvent linkUpTrap linkUp ifIndex ifAdminStatus ifOperStatus notificationEvent linkDownTrap linkDown ifIndex ifAdminStatus ifOperStatus monitor -r 60 -e linkUpTrap "Generate linkUp" ifOperStatus != 2 monitor -r 60 -e linkDownTrap "Generate linkDown" ifOperStatus == 2 defaultMonitors yes Event MIB UCD-SNMP-MIB ( xxErrFlag ) . : monitor -o prNames -o prErrMessage "process table" prErrorFlag != 0 monitor -o memErrorName -o memSwapErrorMsg "memory" memSwapError != 0 monitor -o extNames -o extOutput "extTable" extResult != 0 monitor -o dskPath -o dskErrorMsg "dskTable" dskErrorFlag != 0 monitor -o laNames -o laErrMessage "laTable" laErrorFlag != 0 monitor -o fileName -o fileErrorMsg "fileTable" fileErrorFlag != 0 snmpd.conf iquerySecName createUser . DisMan Schedule MIB DisMan ( SET ) . disman/schedule ( ). : repeat FREQUENCY OID = VALUE SET () VALUE MIB OID FREQUENCY FREQUENCY s ( ) m ( ) h ( ) d ( ) w ( ) . cron MINUTE HOUR DAY MONTH WEEKDAY OID = VALUE SET () VALUE MIB OID MINUTE WEEKDAY . crontab(5) . : ( ) . MONTH WEEKDAY . '*' . DAY . at MINUTE HOUR DAY MONTH WEEKDAY OID = VALUE SET MINUTE WEEKDAY . cron . (Data Delivery via Notifications) : MIB deliver/deliverByNotify . SNMP SNMP ( TRAP INFORM) ( GET GETNEXT) . . NAT SNMP . ( ) << >> SNMP . SNMP ( GET GETNEXT) . . . <> . deliverByNotify [-p] [-m] [-s MAXSIZE] FREQUENCY OID SNMP OID (self-walk) FREQUENCY FREQUENCY s ( ) m ( ) h ( ) d ( ) w ( ) . ( -p ) ( -m ). -s . MAXSIZE . (fragmentation) . - . : ifTable system : deliverByNotify 3600 ifTable deliverByNotify 7200 system deliverByNotifyMaxPacketSize SIZEINBYTES ( -s ). deliverByNotifyOid OID deliverByNotifyFrequencyOid OID deliverByNotifyMessageNumberOid OID deliverByNotifyMaxMessageNumberOid OID OID OID OID OID . NET-SNMP-PERIODIC-NOTIFY-MIB . (EXTENDING AGENT FUNCTIONALITY) UCD - MIB . : o (exec extend pass) o (embedded perl dlmod) o (proxy SMUX AgentX) (Arbitrary Extension Commands) . SNMP - MIB . ucd-snmp/extensible / agent/extend ( ) . exec [MIBOID] NAME PROG ARGS sh [MIBOID] NAME PROG ARGS PROG ARGS . extTable . : . exec ( sh) . PROG exec exec() . sh . MIBOID OID MIBOID.100.0 MIBNUM.101 - <<>> - . : << >> (relocatable) exec ( sh) MIB . - extend ( ) . . execfix NAME PROG ARGS - exec sh . extErrFix NAME 1 . : exec sh . execfix . exec sh snmpd.conf . SNMP SET . extend [-cacheTime TIME] [-execType TYPE] [MIBOID] NAME PROG ARGS exec . MIB ( nsExtendConfigTable ) NAME . - (nsExtendOutput1Table) ( ) extend (nsExtendOutput2Table) . -cacheTime ( ) extend . . -execType sh extend . exec . . MIBOID OID . extend MIBOID . nsCacheTable ( ). extendfix NAME PROG ARGS nsExtendRunType run-command(3) . execfix extend . extend extendfix SNMP SET NET-SNMP-EXTEND-MIB . MIB (MIB-Specific Extension Commands) MIB ( ) . MIB MIB ( ) . MIB - << >> (pass-through) . ucd-snmp/pass ucd-snmp/pass_persist ( ) . pass [-p priority] MIBOID PROG MIBOID PROG . GET GETNEXT OID : PROG -g OID PROG -n OID OID OID . PROG varbind stdout - OID TYPE ( integer, gauge, counter, timeticks, ipaddress, objectid, octet, string ) . (: octet ASCII "00 3f dd 00 c6 be"). varbind - OID GET GETNEXT - . SNMP noSuchName noSuchInstance . : SMIv2 counter64 SNMPv2 noSuchObject . SET : PROG -s OID TYPE VALUE TYPE . PROG . not-writable, wrong-type stdout . : SNMPv2 . . ( varbind ) . . -p . pass_persist [-p priority] MIBOID PROG MIBOID PROG . . <> stdin PROG <> stdout . GET GETNEXT stdin PROG : (get getnext) OID . stdout - OID varbind TYPE VALUE - pass . varbind <> stdout ( ). SET stdin PROG : (set) OID ( ). <> stdout . not-writable, wrong-type, wrong-length, wrong-value inconsistent-value stdout . . -p pass. pass pass_persist snmpd.conf . SNMP SET . Perl - perl (pass-through) . Net-SNMP perl ( mod_perl Apache) . perl perl . perl . '--enable-embedded-perl' configure . : disablePerl true perl ( perl ). perlInitFile FILE ( ) perl . /usr/share/snmp/snmp_perl.pl . NetSNMP::agent - $agent MIB perl . perl EXPRESSION . (handler) OID : perl use Data::Dumper; perl sub myroutine { print "got called: ",Dumper(@_),"\n"; } perl $agent->register('mylink', '.1.3.6.1.8765', \&myroutine); : perl 'do /path/to/file.pl'; perl . MIB Net-SNMP C (link ). . ucd-snmp/dlmod ( ) . dlmod NAME PATH (shared object) PATH ( ) init_NAME . : PATH /usr/lib/snmp/dlmod .so . SNMP SET UCD-DLMOD-MIB . ( varbind ) SNMP ( ) . . ucd-snmp/proxy ( ). proxy [-Cn CONTEXTNAME] [SNMPCMD_ARGS] HOST OID [REMOTEOID] OID HOST . (LISTENING ADDRESSES) snmpd(8) . : MIB OID .1.3 ( .1). SNMPCMD_ARGS SNMP ( snmpcmd(1) ). : . CONTEXTNAME (context) . proxy OID context context SNMPv3 ( - com2sec ) . REMOID MIB OID REMOID . SMUX Net-SNMP SMUX (RFC 1227) SMUX ( gated zebra quagga) . smux '--with-mib-modules=smux' configure . : AgentX ( ). smuxpeer OID PASS SMUX PASS . ( <<>>) OID SMUX . OSPF ( gated zebra quagga) : smuxpeer .1.3.6.1.2.1.14 ospf_pass smuxsocket IPv4 SMUX Net-SNMP . IPv4 ("0.0.0.0") "--enable-local-smux" 127.0.0.1 . SMUX TCP . Net- SNMP (master) SMUX . SMUX . AgentX Net-SNMP AgentX (RFC 2741) . agentx ( ) ( snmpd.conf). AgentX : master agentx AgentX AgentX . '-x' ( ) . agentXPerms SOCKPERMS [DIRPERMS [USER|UID [GROUP|GID]]] AgentX . SOCKPERMS DIRPERMS (: chmod(1) ). (userid) . AgentX : agentXPingInterval NUM ( ) NUM . AgentX : agentXSocket [:][,...] . "/var/agentx/master" . tcp:localhost:705 . (LISTENING ADDRESSES) snmpd(8) . : AgentX AgentX ( '-x'). agentXTimeout NUM (NUM ) AgentX . . NUM s ( ) m ( ) h ( ) d ( ) w ( ) . agentXRetries NUM AgentX . . net-snmp C Perl AgentX . (OTHER CONFIGURATION) override [-rw] OID TYPE VALUE OID ( ) (override) . -rw SET SNMP . ( . SET MIB .) : override sysDescr.0 octet_str "my own sysDescr" sysDescr.0 "my own sysDescr" SET SNMP ( MIB ). . (interface) ifTable ifTable . TYPE : integer uinteger octet_str object_id counter null ( gauge "uinteger" bit string "octet_str" ). "null" . null VALUE . . mib ( ) . snmpd -D . snmpd.conf -D : injectHandler HANDLER modulename [beforeThis] mib "modulename" . "beforeThis" . . : stash_cache . agent <<>> ( ). snmpd . table_iterator mib . table_iterator : injectHandler stash_cache NAME table_iterator (walk) nsModuleTable . debug -Dhelper:debug snmpd . read_only . serialize ( API 5.0) . bulk_to_next getbulk getbulk getnext . dontLogTCPWrappersConnects snmpd TCP Wrapper . . . (Figuring out module names) snmpwalk nsModuleTable . (Internal Data tables) table NAME add_row NAME INDEX(ES) VALUE(S) (NOTES) o Net-SNMP integer(1) UCD-SNMP-MIB::versionUpdateConfig.0 (.1.3.6.1.4.1.2021.100.11.0) snmpset kill -HUP . o "yes" (boolean) . 1 yes true 0 no false . . (EXAMPLE CONFIGURATION FILE) EXAMPLE.CONF . (FILES) /etc/snmp/snmpd.conf (SEE ALSO) snmpconf(1), snmpusm(1), snmp.conf(5), snmp_config(5), snmpd(8), EXAMPLE.conf, netsnmp_config_api(3). V5.9.5.2 30 Jun 2010 SNMPD.CONF(5)