Difference between revisions of "Testing Trap With Linux Operating System"
(13 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
$ sudo apt install <package_name> | $ sudo apt install <package_name> | ||
− | + | '''Important note:''' before continuing make sure that SNMP Trap package is configured. SNMP configuration example can be found here [[SNMP configuration example]]. | |
− | |||
− | |||
− | |||
− | '''Important note:''' before continuing make sure that SNMP Trap package is configured. SNMP configuration example can be found [[SNMP configuration example | ||
==Editing configuration files== | ==Editing configuration files== | ||
Line 21: | Line 17: | ||
===Snmpd.conf=== | ===Snmpd.conf=== | ||
− | This is not required for Trap listening service, but with this configuration '''snmpget''' command will be able to establish connection without requiring port number in the command line. | + | This is not required for Trap listening service, but with this configuration '''snmpget''' command will be able to establish connection without requiring port number in the command line. |
Edit snmpd.conf file, it can be found in ''' ''/etc/snmp/'' '''directory. Example of the command: | Edit snmpd.conf file, it can be found in ''' ''/etc/snmp/'' '''directory. Example of the command: | ||
Line 27: | Line 23: | ||
$ sudo nano /etc/snmp/snmpd.conf | $ sudo nano /etc/snmp/snmpd.conf | ||
− | Find a line containing '''"agenAddress udp:127.0.0.1:161"''' and comment it by adding '''#''' symbol at the beginning of the line. | + | Find a line containing '''"agenAddress udp:127.0.0.1:161"''' and comment it by adding '''#''' symbol at the beginning of the line. Uncomment line '''"agenAddress udp:161,udp6[::1]:161"'''. If you chose different SNMP port change '''161''' into your chosen port. '''Make sure to use exactly the same port as in SNMP package configuration on Teltonika device'''. |
− | [[File:Networking device configurationexample traps with terminal snmpd config | + | [[File:Networking device configurationexample traps with terminal snmpd config v1.png]] |
---- | ---- | ||
===Snmptrapd.conf=== | ===Snmptrapd.conf=== | ||
Line 51: | Line 47: | ||
'''Also''' you can change first line to '''disableAuthorization yes'''. This will disable all authorizations and any group will be able to send traps to the SNMP Manager. | '''Also''' you can change first line to '''disableAuthorization yes'''. This will disable all authorizations and any group will be able to send traps to the SNMP Manager. | ||
− | [[File:Networking device configurationexample traps with terminal snmptrapd config | + | [[File:Networking device configurationexample traps with terminal snmptrapd config v1.png]] |
---- | ---- | ||
===Creating Trap listening service=== | ===Creating Trap listening service=== | ||
Line 64: | Line 60: | ||
'''[Service]''' | '''[Service]''' | ||
− | |||
'''ExecStart=''' | '''ExecStart=''' | ||
− | |||
'''ExecStart=/usr/sbin/snmptrapd -Ln -f -Lf /var/log/snmptrapd.log''' | '''ExecStart=/usr/sbin/snmptrapd -Ln -f -Lf /var/log/snmptrapd.log''' | ||
This configuration will write the log of caught Trap messages into ''' ''/var/log/'' ''' folder and into ''' ''snmptrapd.log'' ''' file. You can change the log file directory and file name. | This configuration will write the log of caught Trap messages into ''' ''/var/log/'' ''' folder and into ''' ''snmptrapd.log'' ''' file. You can change the log file directory and file name. | ||
− | [[File:Networking device configurationexample | + | [[File:Networking device configurationexample creating snmptrapd service v1.png]] |
---- | ---- | ||
− | |||
===Loading MIB file=== | ===Loading MIB file=== | ||
MIB file will be used to translate OID codes to more readable format. | MIB file will be used to translate OID codes to more readable format. | ||
− | If you dont have the MIB file, download it from SNMP packge WebUI window | + | If you dont have the MIB file, download it from SNMP packge WebUI window [[SNMP configuration example#SNMP Configuration]] |
After downloading the MIB file, place it in ''' ''/usr/share/snmp/mib'' ''' directory, you can use this command: | After downloading the MIB file, place it in ''' ''/usr/share/snmp/mib'' ''' directory, you can use this command: | ||
Line 93: | Line 86: | ||
to load all existing MIB files in ''/usr/share/snmp/mibs'' directory. | to load all existing MIB files in ''/usr/share/snmp/mibs'' directory. | ||
− | [[File: | + | [[File:Network device configurationexample traps with terminal snmp config v1.png]] |
---- | ---- | ||
− | |||
===Launching Trap listening service=== | ===Launching Trap listening service=== | ||
Line 105: | Line 97: | ||
$ sudo /etc/init.d/snmptrapd start | $ sudo /etc/init.d/snmptrapd start | ||
− | + | [[File:Networking device configurationexample traps with terminal snmptarpd start v1.png]] | |
− | |||
− | |||
To restart or launch the service you can use this command: | To restart or launch the service you can use this command: | ||
Line 113: | Line 103: | ||
$ sudo /etc/init.d/snmptrapd restart | $ sudo /etc/init.d/snmptrapd restart | ||
− | [[File: | + | [[File:Networking device configurationexample traps with terminal snmptarpd restart v1.png]] |
+ | |||
+ | To stop the service use this command: | ||
+ | |||
+ | $ sudo /etc/init.d/snmptrapd stop | ||
+ | |||
+ | [[File:Networking device configurationexample traps with terminal snmptarpd stop v1.png]] | ||
To read service status use this command: | To read service status use this command: | ||
Line 119: | Line 115: | ||
$ sudo /etc/init.d/snmptrapd status | $ sudo /etc/init.d/snmptrapd status | ||
− | [[File:Networking device configurationexample traps with terminal snmptrapd status | + | [[File:Networking device configurationexample traps with terminal)snmptrapd status v1.png]] |
If SNMP manager caught any traps, connection information can be represented with service status information. | If SNMP manager caught any traps, connection information can be represented with service status information. | ||
Line 126: | Line 122: | ||
==Testing if SNMP Trap listening service works== | ==Testing if SNMP Trap listening service works== | ||
− | First make sure that SNMP Trap package has Trap rules configured in order to test if listening service works correctly. More information [[SNMP configuration example#Trap Configuration | + | First make sure that SNMP Trap package has Trap rules configured in order to test if listening service works correctly. More information here [[SNMP configuration example#Trap Configuration]] |
If any Trap was triggered, you can check, if Trap message was caught and logged. Check service '''status''' to see if any connections were established. | If any Trap was triggered, you can check, if Trap message was caught and logged. Check service '''status''' to see if any connections were established. | ||
Line 136: | Line 132: | ||
− | snmptrapd.log file after triggering | + | snmptrapd.log file after triggering ''' ''trapDigitalRelayOutputStatus'' ''' by changing '''Digital relay output''' value in WebUI (Services -> Input/Output, Output tab -> ON/OFF tab, using RUT955). |
+ | |||
+ | [[File:Networking device configurationexample traps with terminal log file after catching trap v1.png]] | ||
+ | |||
+ | |||
+ | After triggering more Trap rules: | ||
− | [[File:Networking device configurationexample traps with terminal | + | [[File:Networking device configurationexample traps with terminal caught more traps v1.png]] |
Revision as of 11:01, 19 September 2019
Summary
This chapter is a guide on configuring SNMP Trap listening service on Linux OS.
Preconditions
To configure Trap listening service these packages are required: snmp , snmpd, snmptt, snmptrapd.
To install these packages run command for each package:
$ sudo apt install <package_name>
Important note: before continuing make sure that SNMP Trap package is configured. SNMP configuration example can be found here SNMP configuration example.
Editing configuration files
Snmpd.conf
This is not required for Trap listening service, but with this configuration snmpget command will be able to establish connection without requiring port number in the command line.
Edit snmpd.conf file, it can be found in /etc/snmp/ directory. Example of the command:
$ sudo nano /etc/snmp/snmpd.conf
Find a line containing "agenAddress udp:127.0.0.1:161" and comment it by adding # symbol at the beginning of the line. Uncomment line "agenAddress udp:161,udp6[::1]:161". If you chose different SNMP port change 161 into your chosen port. Make sure to use exactly the same port as in SNMP package configuration on Teltonika device.
Snmptrapd.conf
This is required to specify community you described in SNMP Trap package configuration, to describe Trap port and how to handle caught Trap messages.
Edit snmptrapd.conf file, it can be found in /etc/snmp/ directory. Example of the command:
$ sudo nano /etc/snmp/snmptrapd.conf
Add these lines at the beginning of the file:
authcommunity log,execute,net public
snmpTrapdAddr udp:1110
traphandle default /usr/sbin/snmptt
In the first line change public to your community group described in SNMP Trap package configuration. In the second line change 1110 port number to your described port number in SNMP Trap package of the Teltonika device.
Also you can change first line to disableAuthorization yes. This will disable all authorizations and any group will be able to send traps to the SNMP Manager.
Creating Trap listening service
This is required for launching Trap listening service with extra configurations, we will use it to describe the log file to which all traps will be recorded.
Use this command:
$ sudo systemctl edit snmptrapd.service
Write these lines into the file:
[Service] ExecStart= ExecStart=/usr/sbin/snmptrapd -Ln -f -Lf /var/log/snmptrapd.log
This configuration will write the log of caught Trap messages into /var/log/ folder and into snmptrapd.log file. You can change the log file directory and file name.
Loading MIB file
MIB file will be used to translate OID codes to more readable format.
If you dont have the MIB file, download it from SNMP packge WebUI window SNMP configuration example#SNMP Configuration
After downloading the MIB file, place it in /usr/share/snmp/mib directory, you can use this command:
$ sudo cp Downloads\TLT-MIB.txt /usr/share/snmp/mibs/TLT-MIB.txt
Now edit file /etc/snmp/snmp.conf . Example of the command:
$ sudo nano /etc/snmp/snmp.conf
Find this line: mibs : and change it to: mibs +ALL to load all existing MIB files in /usr/share/snmp/mibs directory.
Launching Trap listening service
Important note: Trap listening service will stop on system shutdown or restart.
To launch SNMP Trap listening service use this command:
$ sudo /etc/init.d/snmptrapd start
To restart or launch the service you can use this command:
$ sudo /etc/init.d/snmptrapd restart
To stop the service use this command:
$ sudo /etc/init.d/snmptrapd stop
To read service status use this command:
$ sudo /etc/init.d/snmptrapd status
If SNMP manager caught any traps, connection information can be represented with service status information.
Important note: if status shows failed message, one solution could be changing the SNMP Trap port, some other process might be using the described port.
Testing if SNMP Trap listening service works
First make sure that SNMP Trap package has Trap rules configured in order to test if listening service works correctly. More information here SNMP configuration example#Trap Configuration
If any Trap was triggered, you can check, if Trap message was caught and logged. Check service status to see if any connections were established.
Open /var/log/snmptrapd.log . If you specified different directory and file name, open it. Example commands:
$ sudo cat /var/log/snmptrapd.log $ sudo more /var/log/snmptrapd.log $ sudo nano /var/log/snmptrapd.log
snmptrapd.log file after triggering trapDigitalRelayOutputStatus by changing Digital relay output value in WebUI (Services -> Input/Output, Output tab -> ON/OFF tab, using RUT955).
After triggering more Trap rules: