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 service snmp user USER2TEST set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set system vrf A
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 login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' 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: Modify the following configuration lines 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.4 = INTEGER: 4 IF-MIB::ifIndex.5 = INTEGER: 5 IF-MIB::ifIndex.6 = INTEGER: 6 IF-MIB::ifIndex.39 = INTEGER: 39 IF-MIB::ifIndex.40 = INTEGER: 40 IF-MIB::ifIndex.41 = INTEGER: 41 IF-MIB::ifIndex.511 = INTEGER: 511 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifDescr.3 = STRING: eth1 IF-MIB::ifDescr.4 = STRING: eth2 IF-MIB::ifDescr.5 = STRING: eth3 IF-MIB::ifDescr.6 = STRING: ip_vti0 IF-MIB::ifDescr.39 = STRING: gre0 IF-MIB::ifDescr.40 = STRING: gretap0 IF-MIB::ifDescr.41 = STRING: erspan0 IF-MIB::ifDescr.511 = 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.4 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.5 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.6 = INTEGER: tunnel(131) IF-MIB::ifType.39 = INTEGER: tunnel(131) IF-MIB::ifType.40 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.41 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.511 = INTEGER: ethernetCsmacd(6) IF-MIB::ifMtu.1 = INTEGER: 65536 IF-MIB::ifMtu.2 = INTEGER: 1500 IF-MIB::ifMtu.3 = INTEGER: 1500 IF-MIB::ifMtu.4 = INTEGER: 1500 IF-MIB::ifMtu.5 = INTEGER: 1500 IF-MIB::ifMtu.6 = INTEGER: 1480 IF-MIB::ifMtu.39 = INTEGER: 1476 IF-MIB::ifMtu.40 = INTEGER: 1462 IF-MIB::ifMtu.41 = INTEGER: 1450 IF-MIB::ifMtu.511 = INTEGER: 65575 IF-MIB::ifSpeed.1 = Gauge32: 10000000 IF-MIB::ifSpeed.2 = Gauge32: 0 IF-MIB::ifSpeed.3 = Gauge32: 0 IF-MIB::ifSpeed.4 = Gauge32: 0 IF-MIB::ifSpeed.5 = Gauge32: 0 IF-MIB::ifSpeed.6 = Gauge32: 0 IF-MIB::ifSpeed.39 = Gauge32: 0 IF-MIB::ifSpeed.40 = Gauge32: 0 IF-MIB::ifSpeed.41 = Gauge32: 0 IF-MIB::ifSpeed.511 = Gauge32: 0 IF-MIB::ifPhysAddress.1 = STRING: IF-MIB::ifPhysAddress.2 = STRING: de:ad:be:ef:6c:0 IF-MIB::ifPhysAddress.3 = STRING: de:ad:be:ef:6c:1 IF-MIB::ifPhysAddress.4 = STRING: de:ad:be:ef:6c:2 IF-MIB::ifPhysAddress.5 = STRING: de:ad:be:ef:6c:3 IF-MIB::ifPhysAddress.6 = STRING: IF-MIB::ifPhysAddress.39 = STRING: IF-MIB::ifPhysAddress.40 = STRING: IF-MIB::ifPhysAddress.41 = STRING: IF-MIB::ifPhysAddress.511 = STRING: f6:38:8d:c7:c9:7f IF-MIB::ifAdminStatus.1 = INTEGER: up(1) IF-MIB::ifAdminStatus.2 = INTEGER: up(1) IF-MIB::ifAdminStatus.3 = INTEGER: down(2) IF-MIB::ifAdminStatus.4 = INTEGER: down(2) IF-MIB::ifAdminStatus.5 = INTEGER: down(2) IF-MIB::ifAdminStatus.6 = INTEGER: down(2) IF-MIB::ifAdminStatus.39 = INTEGER: down(2) IF-MIB::ifAdminStatus.40 = INTEGER: down(2) IF-MIB::ifAdminStatus.41 = INTEGER: down(2) IF-MIB::ifAdminStatus.511 = 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.4 = INTEGER: down(2) IF-MIB::ifOperStatus.5 = INTEGER: down(2) IF-MIB::ifOperStatus.6 = INTEGER: down(2) IF-MIB::ifOperStatus.39 = INTEGER: down(2) IF-MIB::ifOperStatus.40 = INTEGER: down(2) IF-MIB::ifOperStatus.41 = INTEGER: down(2) IF-MIB::ifOperStatus.511 = 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.4 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.5 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.6 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.39 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.40 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.41 = Timeticks: (0) 0:00:00.00 IF-MIB::ifLastChange.511 = Timeticks: (0) 0:00:00.00 IF-MIB::ifInOctets.1 = Counter32: 1196417 IF-MIB::ifInOctets.2 = Counter32: 4174305441 IF-MIB::ifInOctets.3 = Counter32: 30485434 IF-MIB::ifInOctets.4 = Counter32: 0 IF-MIB::ifInOctets.5 = Counter32: 0 IF-MIB::ifInOctets.6 = Counter32: 0 IF-MIB::ifInOctets.39 = Counter32: 0 IF-MIB::ifInOctets.40 = Counter32: 0 IF-MIB::ifInOctets.41 = Counter32: 0 IF-MIB::ifInOctets.511 = Counter32: 720 IF-MIB::ifInUcastPkts.1 = Counter32: 0 IF-MIB::ifInUcastPkts.2 = Counter32: 0 IF-MIB::ifInUcastPkts.3 = Counter32: 0 IF-MIB::ifInUcastPkts.4 = Counter32: 0 IF-MIB::ifInUcastPkts.5 = Counter32: 0 IF-MIB::ifInUcastPkts.6 = Counter32: 0 IF-MIB::ifInUcastPkts.39 = Counter32: 0 IF-MIB::ifInUcastPkts.40 = Counter32: 0 IF-MIB::ifInUcastPkts.41 = Counter32: 0 IF-MIB::ifInUcastPkts.511 = Counter32: 0 IF-MIB::ifInNUcastPkts.1 = Counter32: 0 IF-MIB::ifInNUcastPkts.2 = Counter32: 0 IF-MIB::ifInNUcastPkts.3 = Counter32: 0 IF-MIB::ifInNUcastPkts.4 = Counter32: 0 IF-MIB::ifInNUcastPkts.5 = Counter32: 0 IF-MIB::ifInNUcastPkts.6 = Counter32: 0 IF-MIB::ifInNUcastPkts.39 = Counter32: 0 IF-MIB::ifInNUcastPkts.40 = Counter32: 0 IF-MIB::ifInNUcastPkts.41 = Counter32: 0 IF-MIB::ifInNUcastPkts.511 = Counter32: 0 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInDiscards.2 = Counter32: 174 IF-MIB::ifInDiscards.3 = Counter32: 13 IF-MIB::ifInDiscards.4 = Counter32: 0 IF-MIB::ifInDiscards.5 = Counter32: 0 IF-MIB::ifInDiscards.6 = Counter32: 0 IF-MIB::ifInDiscards.39 = Counter32: 0 IF-MIB::ifInDiscards.40 = Counter32: 0 IF-MIB::ifInDiscards.41 = Counter32: 0 IF-MIB::ifInDiscards.511 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifInErrors.2 = Counter32: 0 IF-MIB::ifInErrors.3 = Counter32: 0 IF-MIB::ifInErrors.4 = Counter32: 0 IF-MIB::ifInErrors.5 = Counter32: 0 IF-MIB::ifInErrors.6 = Counter32: 0 IF-MIB::ifInErrors.39 = Counter32: 0 IF-MIB::ifInErrors.40 = Counter32: 0 IF-MIB::ifInErrors.41 = Counter32: 0 IF-MIB::ifInErrors.511 = Counter32: 0 IF-MIB::ifInUnknownProtos.1 = Counter32: 0 IF-MIB::ifInUnknownProtos.2 = Counter32: 0 IF-MIB::ifInUnknownProtos.3 = Counter32: 0 IF-MIB::ifInUnknownProtos.4 = Counter32: 0 IF-MIB::ifInUnknownProtos.5 = Counter32: 0 IF-MIB::ifInUnknownProtos.6 = Counter32: 0 IF-MIB::ifInUnknownProtos.39 = Counter32: 0 IF-MIB::ifInUnknownProtos.40 = Counter32: 0 IF-MIB::ifInUnknownProtos.41 = Counter32: 0 IF-MIB::ifInUnknownProtos.511 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 1196417 IF-MIB::ifOutOctets.2 = Counter32: 53478472 IF-MIB::ifOutOctets.3 = Counter32: 2542973849 IF-MIB::ifOutOctets.4 = Counter32: 0 IF-MIB::ifOutOctets.5 = Counter32: 0 IF-MIB::ifOutOctets.6 = Counter32: 0 IF-MIB::ifOutOctets.39 = Counter32: 0 IF-MIB::ifOutOctets.40 = Counter32: 0 IF-MIB::ifOutOctets.41 = Counter32: 0 IF-MIB::ifOutOctets.511 = Counter32: 0 IF-MIB::ifOutUcastPkts.1 = Counter32: 10043 IF-MIB::ifOutUcastPkts.2 = Counter32: 3848518 IF-MIB::ifOutUcastPkts.3 = Counter32: 11677211 IF-MIB::ifOutUcastPkts.4 = Counter32: 0 IF-MIB::ifOutUcastPkts.5 = Counter32: 0 IF-MIB::ifOutUcastPkts.6 = Counter32: 0 IF-MIB::ifOutUcastPkts.39 = Counter32: 0 IF-MIB::ifOutUcastPkts.40 = Counter32: 0 IF-MIB::ifOutUcastPkts.41 = Counter32: 0 IF-MIB::ifOutUcastPkts.511 = Counter32: 0 IF-MIB::ifOutNUcastPkts.1 = Counter32: 0 IF-MIB::ifOutNUcastPkts.2 = Counter32: 0 IF-MIB::ifOutNUcastPkts.3 = Counter32: 0 IF-MIB::ifOutNUcastPkts.4 = Counter32: 0 IF-MIB::ifOutNUcastPkts.5 = Counter32: 0 IF-MIB::ifOutNUcastPkts.6 = Counter32: 0 IF-MIB::ifOutNUcastPkts.39 = Counter32: 0 IF-MIB::ifOutNUcastPkts.40 = Counter32: 0 IF-MIB::ifOutNUcastPkts.41 = Counter32: 0 IF-MIB::ifOutNUcastPkts.511 = Counter32: 0 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutDiscards.2 = Counter32: 0 IF-MIB::ifOutDiscards.3 = Counter32: 0 IF-MIB::ifOutDiscards.4 = Counter32: 0 IF-MIB::ifOutDiscards.5 = Counter32: 0 IF-MIB::ifOutDiscards.6 = Counter32: 0 IF-MIB::ifOutDiscards.39 = Counter32: 0 IF-MIB::ifOutDiscards.40 = Counter32: 0 IF-MIB::ifOutDiscards.41 = Counter32: 0 IF-MIB::ifOutDiscards.511 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 IF-MIB::ifOutErrors.2 = Counter32: 0 IF-MIB::ifOutErrors.3 = Counter32: 0 IF-MIB::ifOutErrors.4 = Counter32: 0 IF-MIB::ifOutErrors.5 = Counter32: 0 IF-MIB::ifOutErrors.6 = Counter32: 0 IF-MIB::ifOutErrors.39 = Counter32: 0 IF-MIB::ifOutErrors.40 = Counter32: 0 IF-MIB::ifOutErrors.41 = Counter32: 0 IF-MIB::ifOutErrors.511 = Counter32: 0 IF-MIB::ifOutQLen.1 = Gauge32: 0 IF-MIB::ifOutQLen.2 = Gauge32: 0 IF-MIB::ifOutQLen.3 = Gauge32: 0 IF-MIB::ifOutQLen.4 = Gauge32: 0 IF-MIB::ifOutQLen.5 = Gauge32: 0 IF-MIB::ifOutQLen.6 = Gauge32: 0 IF-MIB::ifOutQLen.39 = Gauge32: 0 IF-MIB::ifOutQLen.40 = Gauge32: 0 IF-MIB::ifOutQLen.41 = Gauge32: 0 IF-MIB::ifOutQLen.511 = 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.4 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.5 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.6 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.39 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.40 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.41 = OID: SNMPv2-SMI::zeroDotZero IF-MIB::ifSpecific.511 = 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 service snmp user USER2TEST set system login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' set system vrf A
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 login user admin authentication encrypted-password '$6$GSjsCj8gHLv$/VcqU6FLi6CT2Oxn0MJQ2C2tqnRDrYKNF8HIYWJp68nvXvPdFccDsT04.WtigUONbKYrgKg8d6rEs8PjljMkH0' 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: Modify the following configuration lines 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 ifOperStatus 1 lo softwareLoopback 65536 10000000 up up 2 eth0 ethernetCsmacd 1500 0 de:ad:be:ef:6c:0 up up 3 eth1 ethernetCsmacd 1500 0 de:ad:be:ef:6c:1 down down 4 eth2 ethernetCsmacd 1500 0 de:ad:be:ef:6c:2 down down 5 eth3 ethernetCsmacd 1500 0 de:ad:be:ef:6c:3 down down 6 ip_vti0 tunnel 1480 0 down down 39 gre0 tunnel 1476 0 down down 40 gretap0 ethernetCsmacd 1462 0 down down 41 erspan0 ethernetCsmacd 1450 0 down down 512 A ethernetCsmacd 65575 0 6e:9b:8d:d7:d5:5c up up SNMP table IF-MIB::ifTable, part 2 ifLastChange ifInOctets ifInUcastPkts ifInNUcastPkts ifInDiscards ifInErrors ifInUnknownProtos 0:0:00:00.00 1196721 0 0 0 0 0 0:0:00:00.00 4174310313 0 0 174 0 0 0:0:00:00.00 30485434 0 0 13 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 0 0 0 0 0 0 0:0:00:00.00 714 0 0 0 0 0 SNMP table IF-MIB::ifTable, part 3 ifOutOctets ifOutUcastPkts ifOutNUcastPkts ifOutDiscards ifOutErrors ifOutQLen 1196721 10047 0 0 0 0 53487640 3848556 0 0 0 0 2542973849 11677211 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