Выявили проблему не правильного вывода данных с таблицы IP Source Guard по snmpwalk запросу.
Ранее было обнаружено что на многих свитчах вывод данных с этой таблицы происходит с ошибкой, это очень критичная проблема для нашей системы управления по snmp.
пример.
>snmpwalk -v2c -c public 10.0.106.12 SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.12.118.204.158.120 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.14.46.100.152.6 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.17.47.186.114.43 = INTEGER: 7
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.24.243.95.190.41 = INTEGER: 3
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.29.96.184.244.62 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.31.31.177.209.218 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.34.21.39.94.201 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.36.33.21.215.238 = INTEGER: 9
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.28.189.185.200.209.168 = INTEGER: 30
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14 = INTEGER: 36
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.28.189.185.200.209.168
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14
>
На свитче 35 записей, в двух вланах
vlan 23 vlan 37
Если сделать выборку по вланам то мы сразу можно увидить где конфликт.
23 vlan - все ок
>snmpwalk -v2c -c public 10.0.106.12 SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14 = INTEGER: 36
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.17.130.97.205 = INTEGER: 4
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.17.140.157.40 = INTEGER: 42
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.47.136.157.43 = INTEGER: 5
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.19.119.90.100.116 = INTEGER: 22
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.19.143.108.127.138 = INTEGER: 25
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.23.49.139.198.31 = INTEGER: 13
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.27.158.210.16.215 = INTEGER: 39
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.13.247.111.161 = INTEGER: 4
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.96.11.35.213 = INTEGER: 14
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.96.30.83.9 = INTEGER: 20
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.146.43.18.182 = INTEGER: 33
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.146.67.96.26 = INTEGER: 8
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.30.140.23.226.12 = INTEGER: 40
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.31.198.1.34.0 = INTEGER: 24
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.31.208.3.235.57 = INTEGER: 12
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.33.145.45.250.254 = INTEGER: 10
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.35.139.219.163.16 = INTEGER: 35
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.36.29.22.48.33 = INTEGER: 6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.36.140.228.219.204 = INTEGER: 11
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.160.209.173.78.163 = INTEGER: 23
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.32.207.48.176.157.117 = INTEGER: 18
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.96.235.105.79.66.194 = INTEGER: 37
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.100.49.80.104.72.173 = INTEGER: 43
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.144.230.186.141.134.18 = INTEGER: 6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.224.203.78.235.245.55 = INTEGER: 15
>
Теперь 37 vlan - ошибка
>snmpwalk -v2c -c public 10.0.106.12 SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.12.118.204.158.120 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.14.46.100.152.6 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.17.47.186.114.43 = INTEGER: 7
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.24.243.95.190.41 = INTEGER: 3
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.29.96.184.244.62 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.31.31.177.209.218 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.34.21.39.94.201 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.36.33.21.215.238 = INTEGER: 9
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.28.189.185.200.209.168 = INTEGER: 30
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14 = INTEGER: 36
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.28.189.185.200.209.168
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14
>
Если оставить в таблицы записи только в 37 влане, то они все выведутся корректно.
Зависимость всего этого -
записи в разных вланахПричем довольно странная зависимость.
Вывод значений глючит если комбинируются вланы от 21-23 с вланами от 37 и выше.
Вывод делается нормально если в таблице комбинируются вланы 24-29 с вланами от 37 выше
Мы используем вланы от 21 до 29 - локальные подсети
от 37 до 500 - реальные подсети.
Если же в таблице IP Source Guard присутствует записи всего в одном влане, то все нормально.
----------------------------------
Если формировать запрос snmpbulkwalk, то ошибка не проявляет себя в конечных ветках соурса гуарда.
смотрим
>snmpbulkwalk -v2c -c public 10.0.106.12 SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.12.118.204.158.120 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.14.46.100.152.6 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.17.47.186.114.43 = INTEGER: 7
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.24.243.95.190.41 = INTEGER: 3
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.29.96.184.244.62 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.31.31.177.209.218 = INTEGER: 19
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.34.21.39.94.201 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.0.36.33.21.215.238 = INTEGER: 9
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.37.28.189.185.200.209.168 = INTEGER: 30
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.13.135.153.30.14 = INTEGER: 36
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.17.130.97.205 = INTEGER: 4
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.17.140.157.40 = INTEGER: 42
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.17.47.136.157.43 = INTEGER: 5
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.19.119.90.100.116 = INTEGER: 22
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.19.143.108.127.138 = INTEGER: 25
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.23.49.139.198.31 = INTEGER: 13
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.27.158.210.16.215 = INTEGER: 39
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.13.247.111.161 = INTEGER: 4
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.96.11.35.213 = INTEGER: 14
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.96.30.83.9 = INTEGER: 20
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.146.43.18.182 = INTEGER: 33
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.29.146.67.96.26 = INTEGER: 8
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.30.140.23.226.12 = INTEGER: 40
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.31.198.1.34.0 = INTEGER: 24
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.31.208.3.235.57 = INTEGER: 12
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.33.145.45.250.254 = INTEGER: 10
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.35.139.219.163.16 = INTEGER: 35
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.36.29.22.48.33 = INTEGER: 6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.36.140.228.219.204 = INTEGER: 11
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.0.160.209.173.78.163 = INTEGER: 23
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.32.207.48.176.157.117 = INTEGER: 18
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.96.235.105.79.66.194 = INTEGER: 37
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.100.49.80.104.72.173 = INTEGER: 43
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.144.230.186.141.134.18 = INTEGER: 6
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.6.23.224.203.78.235.245.55 = INTEGER: 15
>
Но если дать запрос с корня ветки Source Guard на запрос всех параметров, то так же сыпет ошибками.
>snmpbulkwalk -v2c -c public 10.0.106.12 SNMPv2-SMI::enterprises.259.6.10.94.1.48
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.1 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.2 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.3 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.4 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.5 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.6 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.7 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.8 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.9 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.10 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.11 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.12 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.13 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.14 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.15 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.16 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.17 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.18 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.19 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.20 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.21 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.22 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.23 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.24 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.25 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.26 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.27 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.28 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.29 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.30 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.31 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.32 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.33 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.34 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.35 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.36 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.37 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.38 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.39 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.40 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.41 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.42 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.43 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.44 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.45 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.46 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.47 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.48 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.49 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.50 = INTEGER: 2
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.51 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.1.1.2.52 = INTEGER: 0
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.12.118.204.158.120 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.14.46.100.152.6 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.17.47.186.114.43 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.24.243.95.190.41 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.29.96.184.244.62 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.31.31.177.209.218 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.34.21.39.94.201 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.28.189.185.200.209.168 = INTEGER: 1
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.13.135.153.30.14 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.13.135.153.30.14
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.17.130.97.205 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.17.130.97.205
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.17.140.157.40 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.17.140.157.40
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.47.136.157.43 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.17.47.136.157.43
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.19.119.90.100.116 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.19.119.90.100.116
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.19.143.108.127.138 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.19.143.108.127.138
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.23.49.139.198.31 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.23.49.139.198.31
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.27.158.210.16.215 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.27.158.210.16.215
SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.29.13.247.111.161 = INTEGER: 1
Error: OID not increasing: SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.37.0.36.33.21.215.238
>= SNMPv2-SMI::enterprises.259.6.10.94.1.48.2.1.3.23.0.29.13.247.111.161
>
Нужно попытаться это исправить.
P.S. Использование ключа
-Cc для snmpwalk команд, который исправляет
(обходит) эту проблему, нам не подходит, так как мы используем не net-snmp, а php функции (php-snmp) где обход этой ошибки не предусмотрен.