The SNMP Agent package installs Net-SNMP and gives the
firewall a full-featured SNMP agent (snmpd) and trap receiver (snmptrapd). Compared with
the built-in SNMP service under Services → SNMP, it adds SNMPv3 users with authentication
and encryption, certificate-based DTLS and TLS transports, per-community source and OID
restrictions, extend commands, disk and load monitors, and trap forwarding. The 1.1.0 Stable
repository ships FreeSense-pkg-net-snmp 0.1.5_17 with net-snmp 5.9.5.2.
Use it when your network management system needs SNMPv3, SET access, or traps with more
control than the built-in service offers. For basic read-only SNMPv2c polling, the built-in
service is enough.
Stable packages are published for amd64 and, starting with 1.1.1, arm64.
On install, the package creates an SNMPv3 user named manager with a random password and
passphrase. It also sets manager as the Internal Query User, which snmpd uses for its
own monitors.
This example sets up read-only SNMPv3 polling from a monitoring server at 192.168.1.50.
If the built-in service under Services → SNMP is enabled, disable it. Both use UDP port
161 by default.
Open Services → SNMP (NET-SNMP). On General, check Enable snmpd.
Under Interface Binding, add a row with TransportUDP, IP Address/Hostname192.168.1.1 (the LAN address) and Port161. Without a row, snmpd listens on all
addresses.
Choose Save.
On Users, edit manager. Set a new Password and Passphrase, and set
Min USM Security Level to Private (Encryption Required). Save.
Add a user for the monitoring server, for example monitor, with Read/Write AccessRead
Only, Authentication TypeSHA, Privacy ProtocolAES, a password and a passphrase.
On Host Information, fill in Location and Contact. Save.
Test from the monitoring server:
snmpwalk -v3 -l authPriv -u monitor -a SHA -A '<password>' -x AES -X '<passphrase>' 192.168.1.1 system
Runs the agent. When unchecked, the service stops and its rc script is removed.
unchecked
Interface Binding
Rows of Transport (UDP, UDP6, TCP, TCP6, DTLS/UDP, TLS/TCP), IP Address/Hostname (blank for all addresses; DTLS and TLS need a host name) and Port. The same transport and port can’t be used twice.
none (UDP 161 on all addresses)
Engine ID Type
How the SNMP engine ID is built: a string, the firewall IPv4 address, IPv6 address or MAC address
Firewall IPv4 Address
Engine ID
Engine ID when the type is String
empty
CA Certificate
CA for DTLS/TLS client certificates
none
Server Certificate
Agent certificate for DTLS/TLS
none
Use Transport Prefix
Adds the transport to TSM user names, for example dtls:myuser
unchecked
Max Get Bulk Repeats
Responses per variable in a GETBULK request. -1 unlimited, 0 system default.
0
Max Get Bulk Responses
Total responses in a GETBULK request. -1 unlimited, 0 system default.
Transport, address and port rows, as for the agent
none
Retain Notification Logs
Keep received notifications in the notification log table
Retain
Log Received Traps
Log traps
Log Traps
Ignore Auth Failure Traps
Drop authentication-failure traps
Log them
Use Authorization
Require Community Auth or User Auth entries for traps
Enable Authorization
Sub-Agent
Runs snmptrapd as an AgentX sub-agent of snmpd (-X)
unchecked
Custom Options
Lines added to the trap daemon configuration
empty
Community Auth and User Auth entries choose what happens to matching traps: log them,
run a trap handle, or forward them. Trap Handles run a program with arguments. Trap
Forwards send traps to other receivers.
Settings are saved in config.xml in several sections: netsnmp, netsnmphostinfo,
netsnmpusers, netsnmpcommunities, netsnmptrapgen and the netsnmptrapd* sections, all
under installedpackages. User passwords and community strings are stored in plain text, so
protect configuration backups.
The package has no deinstall step of its own. The generic package removal stops both services
and keeps the settings.
The agent doesn’t answer: check that the built-in Services → SNMP service isn’t also
using UDP 161, and that a firewall rule allows your manager.
“This port and protocol combination is already in use.”: two binding rows use the same
transport and port.
“TLS modes require a hostname…”: DTLS and TLS bindings need a host name, not an IP
address, or a blank field.
SNMPv3 requests fail with authentication errors: the user’s Min USM Security Level
is higher than the level your manager uses, or the passphrase is wrong. The password is used
as the passphrase when Passphrase is empty.
Trap forwarding doesn’t work: in the 1.1.0 package code, the forward hosts on
Trap Forwards are cleared before the configuration is written, so no forward lines are
produced. Use a Custom Options line such as forward default udp:192.168.1.50:162 on the
trap daemon’s General tab instead.
Trap formats are ignored: in the 1.1.0 package code, the Formats tab is read from the
wrong settings section, and both format fields share one field name. Set format1 and
format2 through Custom Options instead.