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.15 = INTEGER: 15 IF-MIB::ifIndex.16 = INTEGER: 16 IF-MIB::ifIndex.17 = INTEGER: 17 IF-MIB::ifIndex.91 = INTEGER: 91 IF-MIB::ifIndex.96 = INTEGER: 96 IF-MIB::ifIndex.98 = INTEGER: 98 IF-MIB::ifIndex.100 = INTEGER: 100 IF-MIB::ifIndex.205 = INTEGER: 205 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.15 = STRING: gre0 IF-MIB::ifDescr.16 = STRING: gretap0 IF-MIB::ifDescr.17 = STRING: erspan0 IF-MIB::ifDescr.91 = STRING: ip_vti0 IF-MIB::ifDescr.96 = STRING: ip6tnl0 IF-MIB::ifDescr.98 = STRING: tunl0 IF-MIB::ifDescr.100 = STRING: sit0 IF-MIB::ifDescr.205 = 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.15 = INTEGER: tunnel(131) IF-MIB::ifType.16 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.17 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.91 = INTEGER: tunnel(131) IF-MIB::ifType.96 = INTEGER: tunnel(131) IF-MIB::ifType.98 = INTEGER: tunnel(131) IF-MIB::ifType.100 = INTEGER: tunnel(131) IF-MIB::ifType.205 = INTEGER: ethernetCsmacd(6) IF-MIB::ifMtu.1 = INTEGER: 65536 IF-MIB::ifMtu.2 = INTEGER: 1500 IF-MIB::ifMtu.3 = INTEGER: 1500 IF-MIB::ifMtu.15 = INTEGER: 1476 IF-MIB::ifMtu.16 = INTEGER: 1462 IF-MIB::ifMtu.17 = INTEGER: 1450 IF-MIB::ifMtu.91 = INTEGER: 1480 IF-MIB::ifMtu.96 = INTEGER: 1452 IF-MIB::ifMtu.98 = INTEGER: 1480 IF-MIB::ifMtu.100 = INTEGER: 1480 IF-MIB::ifMtu.205 = INTEGER: 65575 IF-MIB::ifSpeed.1 = Gauge32: 10000000 IF-MIB::ifSpeed.2 = Gauge32: 0 IF-MIB::ifSpeed.3 = Gauge32: 0 IF-MIB::ifSpeed.15 = Gauge32: 0 IF-MIB::ifSpeed.16 = Gauge32: 0 IF-MIB::ifSpeed.17 = Gauge32: 0 IF-MIB::ifSpeed.91 = Gauge32: 0 IF-MIB::ifSpeed.96 = Gauge32: 0 IF-MIB::ifSpeed.98 = Gauge32: 0 IF-MIB::ifSpeed.100 = Gauge32: 0 IF-MIB::ifSpeed.205 = 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.15 = STRING: IF-MIB::ifPhysAddress.16 = STRING: IF-MIB::ifPhysAddress.17 = STRING: IF-MIB::ifPhysAddress.91 = STRING: IF-MIB::ifPhysAddress.96 = STRING: IF-MIB::ifPhysAddress.98 = STRING: IF-MIB::ifPhysAddress.100 = STRING: IF-MIB::ifPhysAddress.205 = STRING: 92:7d:8d:b4:2:20 IF-MIB::ifAdminStatus.1 = INTEGER: up(1) IF-MIB::ifAdminStatus.2 = INTEGER: up(1) IF-MIB::ifAdminStatus.3 = INTEGER: down(2) IF-MIB::ifAdminStatus.15 = INTEGER: down(2) IF-MIB::ifAdminStatus.16 = INTEGER: down(2) IF-MIB::ifAdminStatus.17 = INTEGER: down(2) IF-MIB::ifAdminStatus.91 = INTEGER: down(2) IF-MIB::ifAdminStatus.96 = INTEGER: down(2) IF-MIB::ifAdminStatus.98 = INTEGER: down(2) IF-MIB::ifAdminStatus.100 = INTEGER: down(2) IF-MIB::ifAdminStatus.205 = 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.15 = INTEGER: down(2) IF-MIB::ifOperStatus.16 = INTEGER: down(2) IF-MIB::ifOperStatus.17 = INTEGER: down(2) IF-MIB::ifOperStatus.91 = INTEGER: down(2) IF-MIB::ifOperStatus.96 = INTEGER: down(2) IF-MIB::ifOperStatus.98 = INTEGER: down(2) IF-MIB::ifOperStatus.100 = INTEGER: down(2) IF-MIB::ifOperStatus.205 = 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.15 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.16 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.17 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.91 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.96 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.98 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.100 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.205 = Timeticks: (0) 0:00:00.00 IF-MIB::ifInOctets.1 = Counter32: 1020483 IF-MIB::ifInOctets.2 = Counter32: 933766127 IF-MIB::ifInOctets.3 = Counter32: 50022609 IF-MIB::ifInOctets.15 = Counter32: 0 IF-MIB::ifInOctets.16 = Counter32: 0 IF-MIB::ifInOctets.17 = Counter32: 0 IF-MIB::ifInOctets.91 = Counter32: 0 IF-MIB::ifInOctets.96 = Counter32: 0 IF-MIB::ifInOctets.98 = Counter32: 0 IF-MIB::ifInOctets.100 = Counter32: 0 IF-MIB::ifInOctets.205 = Counter32: 720 IF-MIB::ifInUcastPkts.1 = Counter32: 0 IF-MIB::ifInUcastPkts.2 = Counter32: 0 IF-MIB::ifInUcastPkts.3 = Counter32: 0 IF-MIB::ifInUcastPkts.15 = Counter32: 0 IF-MIB::ifInUcastPkts.16 = Counter32: 0 IF-MIB::ifInUcastPkts.17 = Counter32: 0 IF-MIB::ifInUcastPkts.91 = Counter32: 0 IF-MIB::ifInUcastPkts.96 = Counter32: 0 IF-MIB::ifInUcastPkts.98 = Counter32: 0 IF-MIB::ifInUcastPkts.100 = Counter32: 0 IF-MIB::ifInUcastPkts.205 = Counter32: 0 IF-MIB::ifInNUcastPkts.1 = Counter32: 0 IF-MIB::ifInNUcastPkts.2 = Counter32: 0 IF-MIB::ifInNUcastPkts.3 = Counter32: 0 IF-MIB::ifInNUcastPkts.15 = Counter32: 0 IF-MIB::ifInNUcastPkts.16 = Counter32: 0 IF-MIB::ifInNUcastPkts.17 = Counter32: 0 IF-MIB::ifInNUcastPkts.91 = Counter32: 0 IF-MIB::ifInNUcastPkts.96 = Counter32: 0 IF-MIB::ifInNUcastPkts.98 = Counter32: 0 IF-MIB::ifInNUcastPkts.100 = Counter32: 0 IF-MIB::ifInNUcastPkts.205 = Counter32: 0 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInDiscards.2 = Counter32: 0 IF-MIB::ifInDiscards.3 = Counter32: 0 IF-MIB::ifInDiscards.15 = Counter32: 0 IF-MIB::ifInDiscards.16 = Counter32: 0 IF-MIB::ifInDiscards.17 = Counter32: 0 IF-MIB::ifInDiscards.91 = Counter32: 0 IF-MIB::ifInDiscards.96 = Counter32: 0 IF-MIB::ifInDiscards.98 = Counter32: 0 IF-MIB::ifInDiscards.100 = Counter32: 0 IF-MIB::ifInDiscards.205 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifInErrors.2 = Counter32: 0 IF-MIB::ifInErrors.3 = Counter32: 0 IF-MIB::ifInErrors.15 = Counter32: 0 IF-MIB::ifInErrors.16 = Counter32: 0 IF-MIB::ifInErrors.17 = Counter32: 0 IF-MIB::ifInErrors.91 = Counter32: 0 IF-MIB::ifInErrors.96 = Counter32: 0 IF-MIB::ifInErrors.98 = Counter32: 0 IF-MIB::ifInErrors.100 = Counter32: 0 IF-MIB::ifInErrors.205 = Counter32: 0 IF-MIB::ifInUnknownProtos.1 = Counter32: 0 IF-MIB::ifInUnknownProtos.2 = Counter32: 0 IF-MIB::ifInUnknownProtos.3 = Counter32: 0 IF-MIB::ifInUnknownProtos.15 = Counter32: 0 IF-MIB::ifInUnknownProtos.16 = Counter32: 0 IF-MIB::ifInUnknownProtos.17 = Counter32: 0 IF-MIB::ifInUnknownProtos.91 = Counter32: 0 IF-MIB::ifInUnknownProtos.96 = Counter32: 0 IF-MIB::ifInUnknownProtos.98 = Counter32: 0 IF-MIB::ifInUnknownProtos.100 = Counter32: 0 IF-MIB::ifInUnknownProtos.205 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 1020483 IF-MIB::ifOutOctets.2 = Counter32: 1882984706 IF-MIB::ifOutOctets.3 = Counter32: 2311150837 IF-MIB::ifOutOctets.15 = Counter32: 0 IF-MIB::ifOutOctets.16 = Counter32: 0 IF-MIB::ifOutOctets.17 = Counter32: 0 IF-MIB::ifOutOctets.91 = Counter32: 0 IF-MIB::ifOutOctets.96 = Counter32: 0 IF-MIB::ifOutOctets.98 = Counter32: 0 IF-MIB::ifOutOctets.100 = Counter32: 0 IF-MIB::ifOutOctets.205 = Counter32: 0 IF-MIB::ifOutUcastPkts.1 = Counter32: 10266 IF-MIB::ifOutUcastPkts.2 = Counter32: 1684197 IF-MIB::ifOutUcastPkts.3 = Counter32: 1956213 IF-MIB::ifOutUcastPkts.15 = Counter32: 0 IF-MIB::ifOutUcastPkts.16 = Counter32: 0 IF-MIB::ifOutUcastPkts.17 = Counter32: 0 IF-MIB::ifOutUcastPkts.91 = Counter32: 0 IF-MIB::ifOutUcastPkts.96 = Counter32: 0 IF-MIB::ifOutUcastPkts.98 = Counter32: 0 IF-MIB::ifOutUcastPkts.100 = Counter32: 0 IF-MIB::ifOutUcastPkts.205 = Counter32: 0 IF-MIB::ifOutNUcastPkts.1 = Counter32: 0 IF-MIB::ifOutNUcastPkts.2 = Counter32: 0 IF-MIB::ifOutNUcastPkts.3 = Counter32: 0 IF-MIB::ifOutNUcastPkts.15 = Counter32: 0 IF-MIB::ifOutNUcastPkts.16 = Counter32: 0 IF-MIB::ifOutNUcastPkts.17 = Counter32: 0 IF-MIB::ifOutNUcastPkts.91 = Counter32: 0 IF-MIB::ifOutNUcastPkts.96 = Counter32: 0 IF-MIB::ifOutNUcastPkts.98 = Counter32: 0 IF-MIB::ifOutNUcastPkts.100 = Counter32: 0 IF-MIB::ifOutNUcastPkts.205 = Counter32: 0 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutDiscards.2 = Counter32: 0 IF-MIB::ifOutDiscards.3 = Counter32: 0 IF-MIB::ifOutDiscards.15 = Counter32: 0 IF-MIB::ifOutDiscards.16 = Counter32: 0 IF-MIB::ifOutDiscards.17 = Counter32: 0 IF-MIB::ifOutDiscards.91 = Counter32: 0 IF-MIB::ifOutDiscards.96 = Counter32: 0 IF-MIB::ifOutDiscards.98 = Counter32: 0 IF-MIB::ifOutDiscards.100 = Counter32: 0 IF-MIB::ifOutDiscards.205 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 IF-MIB::ifOutErrors.2 = Counter32: 0 IF-MIB::ifOutErrors.3 = Counter32: 0 IF-MIB::ifOutErrors.15 = Counter32: 0 IF-MIB::ifOutErrors.16 = Counter32: 0 IF-MIB::ifOutErrors.17 = Counter32: 0 IF-MIB::ifOutErrors.91 = Counter32: 0 IF-MIB::ifOutErrors.96 = Counter32: 0 IF-MIB::ifOutErrors.98 = Counter32: 0 IF-MIB::ifOutErrors.100 = Counter32: 0 IF-MIB::ifOutErrors.205 = Counter32: 0 IF-MIB::ifOutQLen.1 = Gauge32: 0 IF-MIB::ifOutQLen.2 = Gauge32: 0 IF-MIB::ifOutQLen.3 = Gauge32: 0 IF-MIB::ifOutQLen.15 = Gauge32: 0 IF-MIB::ifOutQLen.16 = Gauge32: 0 IF-MIB::ifOutQLen.17 = Gauge32: 0 IF-MIB::ifOutQLen.91 = Gauge32: 0 IF-MIB::ifOutQLen.96 = Gauge32: 0 IF-MIB::ifOutQLen.98 = Gauge32: 0 IF-MIB::ifOutQLen.100 = Gauge32: 0 IF-MIB::ifOutQLen.205 = 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.15 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.16 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.17 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.91 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.96 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.98 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.100 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.205 = 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 15 gre0 tunnel 1476 0 down 16 gretap0 ethernetCsmacd 1462 0 down 17 erspan0 ethernetCsmacd 1450 0 down 91 ip_vti0 tunnel 1480 0 down 96 ip6tnl0 tunnel 1452 0 down 98 tunl0 tunnel 1480 0 down 100 sit0 tunnel 1480 0 down 206 A ethernetCsmacd 65575 0 2:6d:ab:b8:3:4a up SNMP table IF-MIB::ifTable, part 2 ifOperStatus ifLastChange ifInOctets ifInUcastPkts ifInNUcastPkts ifInDiscards ifInErrors up 0:0:00:00.00 1020739 0 0 0 0 up 0:0:00:00.00 933771315 0 0 0 0 down 0:0:00:00.00 50022609 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 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 1020739 10268 0 0 0 0 0 1882994555 1684237 0 0 0 0 0 2311150837 1956213 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