Check Incoming Requests
This scenario shows how to configure a user to receive incoming requests in SNMPv3 using VRFs. In addition, the SNMP ‘walk’ and ‘table’ commands are checked.
Test SNMP Walk With VRFs
Description
Using VRFs, a user is configured in DUT0 and the ‘walk’ command is used to check incoming requests in SNMPv3.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth0 address 10.0.0.1/24 set interfaces ethernet eth0 vrf A set system vrf A set service snmp user USER2TEST
Step 2: Set the following configuration in DUT1
:
set interfaces ethernet eth0 address 10.0.0.2/24 set interfaces ethernet eth0 vrf B set system vrf B
Note
First, remote ‘walk’ requests shouldn’t work because no information has been specifed in DUT1 about where to route the requests.
Step 3: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST oid ifTable
at DUT1
and check if output does not match the following regular expressions:
::ifDescr\.1 = STRING: "?lo"?Show output
snmpbulkwalk: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)
Note
Remote ‘walk’ requests also shouldn’t work because no information has been specified in DUT0 about where to route responses.
Step 4: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable
at DUT1
and check if output does not match the following regular expressions:
::ifDescr\.1 = STRING: "?lo"?Show output
snmpbulkwalk: Timeout (Sub-id not found: (top) -> ifTable)
Note
After setting the VRF in DUT0, remote ‘walk’ requests shouldn’t work until information on where to route the requests is specified in DUT1.
Step 5: Set the following configuration in DUT0
:
set service snmp local-vrf A
Step 6: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST oid ifTable
at DUT1
and check if output does not match the following regular expressions:
::ifDescr\.1 = STRING: "?lo"?Show output
snmpbulkwalk: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)
Step 7: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable
at DUT1
and check if output matches the following regular expressions:
::ifDescr\.1 = STRING: "?lo"?Show output
IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifIndex.18 = INTEGER: 18 IF-MIB::ifIndex.19 = INTEGER: 19 IF-MIB::ifIndex.20 = INTEGER: 20 IF-MIB::ifIndex.23 = INTEGER: 23 IF-MIB::ifIndex.25 = INTEGER: 25 IF-MIB::ifIndex.27 = INTEGER: 27 IF-MIB::ifIndex.32 = INTEGER: 32 IF-MIB::ifIndex.89 = INTEGER: 89 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: Red Hat, Inc Device 0001 IF-MIB::ifDescr.3 = STRING: Red Hat, Inc Device 0001 IF-MIB::ifDescr.18 = STRING: gre0 IF-MIB::ifDescr.19 = STRING: gretap0 IF-MIB::ifDescr.20 = STRING: erspan0 IF-MIB::ifDescr.23 = STRING: tunl0 IF-MIB::ifDescr.25 = STRING: ip6tnl0 IF-MIB::ifDescr.27 = STRING: sit0 IF-MIB::ifDescr.32 = STRING: ip_vti0 IF-MIB::ifDescr.89 = STRING: A IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.18 = INTEGER: tunnel(131) IF-MIB::ifType.19 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.20 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.23 = INTEGER: tunnel(131) IF-MIB::ifType.25 = INTEGER: tunnel(131) IF-MIB::ifType.27 = INTEGER: tunnel(131) IF-MIB::ifType.32 = INTEGER: tunnel(131) IF-MIB::ifType.89 = INTEGER: ethernetCsmacd(6) IF-MIB::ifMtu.1 = INTEGER: 65536 IF-MIB::ifMtu.2 = INTEGER: 1500 IF-MIB::ifMtu.3 = INTEGER: 1500 IF-MIB::ifMtu.18 = INTEGER: 1476 IF-MIB::ifMtu.19 = INTEGER: 1462 IF-MIB::ifMtu.20 = INTEGER: 1450 IF-MIB::ifMtu.23 = INTEGER: 1480 IF-MIB::ifMtu.25 = INTEGER: 1452 IF-MIB::ifMtu.27 = INTEGER: 1480 IF-MIB::ifMtu.32 = INTEGER: 1480 IF-MIB::ifMtu.89 = INTEGER: 65575 IF-MIB::ifSpeed.1 = Gauge32: 10000000 IF-MIB::ifSpeed.2 = Gauge32: 0 IF-MIB::ifSpeed.3 = Gauge32: 0 IF-MIB::ifSpeed.18 = Gauge32: 0 IF-MIB::ifSpeed.19 = Gauge32: 0 IF-MIB::ifSpeed.20 = Gauge32: 0 IF-MIB::ifSpeed.23 = Gauge32: 0 IF-MIB::ifSpeed.25 = Gauge32: 0 IF-MIB::ifSpeed.27 = Gauge32: 0 IF-MIB::ifSpeed.32 = Gauge32: 0 IF-MIB::ifSpeed.89 = Gauge32: 0 IF-MIB::ifPhysAddress.1 = STRING: IF-MIB::ifPhysAddress.2 = STRING: de:ad:be:ef:6c:10 IF-MIB::ifPhysAddress.3 = STRING: de:ad:be:ef:6c:11 IF-MIB::ifPhysAddress.18 = STRING: IF-MIB::ifPhysAddress.19 = STRING: IF-MIB::ifPhysAddress.20 = STRING: IF-MIB::ifPhysAddress.23 = STRING: IF-MIB::ifPhysAddress.25 = STRING: IF-MIB::ifPhysAddress.27 = STRING: IF-MIB::ifPhysAddress.32 = STRING: IF-MIB::ifPhysAddress.89 = STRING: 42:62:75:ac:bf:1a IF-MIB::ifAdminStatus.1 = INTEGER: up(1) IF-MIB::ifAdminStatus.2 = INTEGER: up(1) IF-MIB::ifAdminStatus.3 = INTEGER: down(2) IF-MIB::ifAdminStatus.18 = INTEGER: down(2) IF-MIB::ifAdminStatus.19 = INTEGER: down(2) IF-MIB::ifAdminStatus.20 = INTEGER: down(2) IF-MIB::ifAdminStatus.23 = INTEGER: down(2) IF-MIB::ifAdminStatus.25 = INTEGER: down(2) IF-MIB::ifAdminStatus.27 = INTEGER: down(2) IF-MIB::ifAdminStatus.32 = INTEGER: down(2) IF-MIB::ifAdminStatus.89 = INTEGER: up(1) IF-MIB::ifOperStatus.1 = INTEGER: up(1) IF-MIB::ifOperStatus.2 = INTEGER: up(1) IF-MIB::ifOperStatus.3 = INTEGER: down(2) IF-MIB::ifOperStatus.18 = INTEGER: down(2) IF-MIB::ifOperStatus.19 = INTEGER: down(2) IF-MIB::ifOperStatus.20 = INTEGER: down(2) IF-MIB::ifOperStatus.23 = INTEGER: down(2) IF-MIB::ifOperStatus.25 = INTEGER: down(2) IF-MIB::ifOperStatus.27 = INTEGER: down(2) IF-MIB::ifOperStatus.32 = INTEGER: down(2) IF-MIB::ifOperStatus.89 = INTEGER: up(1) IF-MIB::ifLastChange.1 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.2 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.3 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.18 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.19 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.20 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.23 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.25 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.27 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.32 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.89 = Timeticks: (0) 0:00:00.00 IF-MIB::ifInOctets.1 = Counter32: 264198 IF-MIB::ifInOctets.2 = Counter32: 71611583 IF-MIB::ifInOctets.3 = Counter32: 4052096566 IF-MIB::ifInOctets.18 = Counter32: 0 IF-MIB::ifInOctets.19 = Counter32: 0 IF-MIB::ifInOctets.20 = Counter32: 0 IF-MIB::ifInOctets.23 = Counter32: 0 IF-MIB::ifInOctets.25 = Counter32: 0 IF-MIB::ifInOctets.27 = Counter32: 0 IF-MIB::ifInOctets.32 = Counter32: 0 IF-MIB::ifInOctets.89 = Counter32: 720 IF-MIB::ifInUcastPkts.1 = Counter32: 0 IF-MIB::ifInUcastPkts.2 = Counter32: 0 IF-MIB::ifInUcastPkts.3 = Counter32: 0 IF-MIB::ifInUcastPkts.18 = Counter32: 0 IF-MIB::ifInUcastPkts.19 = Counter32: 0 IF-MIB::ifInUcastPkts.20 = Counter32: 0 IF-MIB::ifInUcastPkts.23 = Counter32: 0 IF-MIB::ifInUcastPkts.25 = Counter32: 0 IF-MIB::ifInUcastPkts.27 = Counter32: 0 IF-MIB::ifInUcastPkts.32 = Counter32: 0 IF-MIB::ifInUcastPkts.89 = Counter32: 0 IF-MIB::ifInNUcastPkts.1 = Counter32: 0 IF-MIB::ifInNUcastPkts.2 = Counter32: 0 IF-MIB::ifInNUcastPkts.3 = Counter32: 0 IF-MIB::ifInNUcastPkts.18 = Counter32: 0 IF-MIB::ifInNUcastPkts.19 = Counter32: 0 IF-MIB::ifInNUcastPkts.20 = Counter32: 0 IF-MIB::ifInNUcastPkts.23 = Counter32: 0 IF-MIB::ifInNUcastPkts.25 = Counter32: 0 IF-MIB::ifInNUcastPkts.27 = Counter32: 0 IF-MIB::ifInNUcastPkts.32 = Counter32: 0 IF-MIB::ifInNUcastPkts.89 = Counter32: 0 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInDiscards.2 = Counter32: 0 IF-MIB::ifInDiscards.3 = Counter32: 13 IF-MIB::ifInDiscards.18 = Counter32: 0 IF-MIB::ifInDiscards.19 = Counter32: 0 IF-MIB::ifInDiscards.20 = Counter32: 0 IF-MIB::ifInDiscards.23 = Counter32: 0 IF-MIB::ifInDiscards.25 = Counter32: 0 IF-MIB::ifInDiscards.27 = Counter32: 0 IF-MIB::ifInDiscards.32 = Counter32: 0 IF-MIB::ifInDiscards.89 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifInErrors.2 = Counter32: 0 IF-MIB::ifInErrors.3 = Counter32: 0 IF-MIB::ifInErrors.18 = Counter32: 0 IF-MIB::ifInErrors.19 = Counter32: 0 IF-MIB::ifInErrors.20 = Counter32: 0 IF-MIB::ifInErrors.23 = Counter32: 0 IF-MIB::ifInErrors.25 = Counter32: 0 IF-MIB::ifInErrors.27 = Counter32: 0 IF-MIB::ifInErrors.32 = Counter32: 0 IF-MIB::ifInErrors.89 = Counter32: 0 IF-MIB::ifInUnknownProtos.1 = Counter32: 0 IF-MIB::ifInUnknownProtos.2 = Counter32: 0 IF-MIB::ifInUnknownProtos.3 = Counter32: 0 IF-MIB::ifInUnknownProtos.18 = Counter32: 0 IF-MIB::ifInUnknownProtos.19 = Counter32: 0 IF-MIB::ifInUnknownProtos.20 = Counter32: 0 IF-MIB::ifInUnknownProtos.23 = Counter32: 0 IF-MIB::ifInUnknownProtos.25 = Counter32: 0 IF-MIB::ifInUnknownProtos.27 = Counter32: 0 IF-MIB::ifInUnknownProtos.32 = Counter32: 0 IF-MIB::ifInUnknownProtos.89 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 264198 IF-MIB::ifOutOctets.2 = Counter32: 4249456552 IF-MIB::ifOutOctets.3 = Counter32: 3898903118 IF-MIB::ifOutOctets.18 = Counter32: 0 IF-MIB::ifOutOctets.19 = Counter32: 0 IF-MIB::ifOutOctets.20 = Counter32: 0 IF-MIB::ifOutOctets.23 = Counter32: 0 IF-MIB::ifOutOctets.25 = Counter32: 0 IF-MIB::ifOutOctets.27 = Counter32: 0 IF-MIB::ifOutOctets.32 = Counter32: 0 IF-MIB::ifOutOctets.89 = Counter32: 0 IF-MIB::ifOutUcastPkts.1 = Counter32: 2310 IF-MIB::ifOutUcastPkts.2 = Counter32: 3414916 IF-MIB::ifOutUcastPkts.3 = Counter32: 9335253 IF-MIB::ifOutUcastPkts.18 = Counter32: 0 IF-MIB::ifOutUcastPkts.19 = Counter32: 0 IF-MIB::ifOutUcastPkts.20 = Counter32: 0 IF-MIB::ifOutUcastPkts.23 = Counter32: 0 IF-MIB::ifOutUcastPkts.25 = Counter32: 0 IF-MIB::ifOutUcastPkts.27 = Counter32: 0 IF-MIB::ifOutUcastPkts.32 = Counter32: 0 IF-MIB::ifOutUcastPkts.89 = Counter32: 0 IF-MIB::ifOutNUcastPkts.1 = Counter32: 0 IF-MIB::ifOutNUcastPkts.2 = Counter32: 0 IF-MIB::ifOutNUcastPkts.3 = Counter32: 0 IF-MIB::ifOutNUcastPkts.18 = Counter32: 0 IF-MIB::ifOutNUcastPkts.19 = Counter32: 0 IF-MIB::ifOutNUcastPkts.20 = Counter32: 0 IF-MIB::ifOutNUcastPkts.23 = Counter32: 0 IF-MIB::ifOutNUcastPkts.25 = Counter32: 0 IF-MIB::ifOutNUcastPkts.27 = Counter32: 0 IF-MIB::ifOutNUcastPkts.32 = Counter32: 0 IF-MIB::ifOutNUcastPkts.89 = Counter32: 0 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutDiscards.2 = Counter32: 0 IF-MIB::ifOutDiscards.3 = Counter32: 0 IF-MIB::ifOutDiscards.18 = Counter32: 0 IF-MIB::ifOutDiscards.19 = Counter32: 0 IF-MIB::ifOutDiscards.20 = Counter32: 0 IF-MIB::ifOutDiscards.23 = Counter32: 0 IF-MIB::ifOutDiscards.25 = Counter32: 0 IF-MIB::ifOutDiscards.27 = Counter32: 0 IF-MIB::ifOutDiscards.32 = Counter32: 0 IF-MIB::ifOutDiscards.89 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 IF-MIB::ifOutErrors.2 = Counter32: 0 IF-MIB::ifOutErrors.3 = Counter32: 0 IF-MIB::ifOutErrors.18 = Counter32: 0 IF-MIB::ifOutErrors.19 = Counter32: 0 IF-MIB::ifOutErrors.20 = Counter32: 0 IF-MIB::ifOutErrors.23 = Counter32: 0 IF-MIB::ifOutErrors.25 = Counter32: 0 IF-MIB::ifOutErrors.27 = Counter32: 0 IF-MIB::ifOutErrors.32 = Counter32: 0 IF-MIB::ifOutErrors.89 = Counter32: 0 IF-MIB::ifOutQLen.1 = Gauge32: 0 IF-MIB::ifOutQLen.2 = Gauge32: 0 IF-MIB::ifOutQLen.3 = Gauge32: 0 IF-MIB::ifOutQLen.18 = Gauge32: 0 IF-MIB::ifOutQLen.19 = Gauge32: 0 IF-MIB::ifOutQLen.20 = Gauge32: 0 IF-MIB::ifOutQLen.23 = Gauge32: 0 IF-MIB::ifOutQLen.25 = Gauge32: 0 IF-MIB::ifOutQLen.27 = Gauge32: 0 IF-MIB::ifOutQLen.32 = Gauge32: 0 IF-MIB::ifOutQLen.89 = Gauge32: 0 IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.3 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.18 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.19 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.20 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.23 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.25 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.27 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.32 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.89 = OID: SNMPv2-SMI::zeroDotZero
Test SNMP Table With VRFs
Description
Using VRFs, a user is configured in DUT0 and the ‘table’ command is used to check incoming requests in SNMPv3.
Scenario
Step 1: Set the following configuration in DUT0
:
set interfaces ethernet eth0 address 10.0.0.1/24 set interfaces ethernet eth0 vrf A set system vrf A set service snmp user USER2TEST
Step 2: Set the following configuration in DUT1
:
set interfaces ethernet eth0 address 10.0.0.2/24 set interfaces ethernet eth0 vrf B set system vrf B
Note
First, remote ‘table’ requests shouldn’t work because no information has been specified in DUT1 about where to route the requests.
Step 3: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST oid ifTable
at DUT1
and check if output does not match the following regular expressions:
SNMP table:.*::ifTableShow output
snmptable: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)
Note
Remote ‘table’ requests should also not work because no information has been specified in DUT0 about where to route responses.
Step 4: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable
at DUT1
and check if output does not match the following regular expressions:
SNMP table:.*::ifTableShow output
snmptable: Timeout (Sub-id not found: (top) -> ifTable)
Note
After setting the VRF in DUT0, remote ‘table’ requests shouldn’t work until the information on where to route the requests is specified in DUT1.
Step 5: Set the following configuration in DUT0
:
set service snmp local-vrf A
Step 6: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST oid ifTable
at DUT1
and check if output does not match the following regular expressions:
SNMP table:.*::ifTableShow output
snmptable: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)
Step 7: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable
at DUT1
and check if output matches the following regular expressions:
SNMP table:.*::ifTableShow output
SNMP table: IF-MIB::ifTable ifIndex ifDescr ifType ifMtu ifSpeed ifPhysAddress ifAdminStatus 1 lo softwareLoopback 65536 10000000 up 2 Red Hat, Inc Device 0001 ethernetCsmacd 1500 0 de:ad:be:ef:6c:10 up 3 Red Hat, Inc Device 0001 ethernetCsmacd 1500 0 de:ad:be:ef:6c:11 down 18 gre0 tunnel 1476 0 down 19 gretap0 ethernetCsmacd 1462 0 down 20 erspan0 ethernetCsmacd 1450 0 down 23 tunl0 tunnel 1480 0 down 25 ip6tnl0 tunnel 1452 0 down 27 sit0 tunnel 1480 0 down 32 ip_vti0 tunnel 1480 0 down 90 A ethernetCsmacd 65575 0 2:4d:28:f8:88:6a up SNMP table IF-MIB::ifTable, part 2 ifOperStatus ifLastChange ifInOctets ifInUcastPkts ifInNUcastPkts ifInDiscards ifInErrors up 0:0:00:00.00 264198 0 0 0 0 up 0:0:00:00.00 71616769 0 0 0 0 down 0:0:00:00.00 4052096566 0 0 13 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 down 0:0:00:00.00 0 0 0 0 0 up 0:0:00:00.00 720 0 0 0 0 SNMP table IF-MIB::ifTable, part 3 ifInUnknownProtos ifOutOctets ifOutUcastPkts ifOutNUcastPkts ifOutDiscards ifOutErrors ifOutQLen 0 264198 2310 0 0 0 0 0 4249466252 3414955 0 0 0 0 0 3898903118 9335253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SNMP table IF-MIB::ifTable, part 4 ifSpecific SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero SNMPv2-SMI::zeroDotZero