Az SNMP szépségei

Néhány éve küzdök egy hálózat monitorozós (+ sok egyebet is csináló) programmal ( ha valakit érdekel https://github.com/csikfer/lanview2 ).
Rendbe raktam benne a switch-ek VLAN konfigurációját lekérdező modult. És beletettem néhány ellenőrzést, mert jó pár switch-nél tapasztaltam (főleg a HPE 19xx  sorozatok), hogy totál hülyeségeket is be lehet rajtuk állítani, ha az ember nem figyel. Eredmény a 76-ból 15-öt megfúj-olt. Kezdtem is keresni a hibát a programban, ennyi hiba nem lehet, de nem a program hibás (ill. nem igazán hibás), csak nem kezeli azokat a "sajátosságokat" amiket az SNMP válaszokba sikerült belecsempészni.

1. feature: HPE 1920 sorozat. A dot1qVlanStaticEgressPorts, dot1qVlanForbiddenEgressPorts és dot1qVlanStaticUntaggedPorts -által visszaadott bitmap-ekből kihagynak portokat. Nem állítom, hogy nincs abban logika (persze nem sok), hogy kihagyják azokat a portokat, ahol nincs értelmezve a VLAN, de így csúsznak az indexek, és infó az meg nincs erről (ha mégis, elárulhatná valaki, hogy hol), és így már nettó baromság (szerintem). Tehát kell a programba is egy olyan feature, amivel megadhatóak az elbaszott bitmap indexek.

2. feature: A ProCurve switch-ekben elvileg nem lehet olyat beállítani, hogy nincs untagged VLAN egy portra. Elvileg, de azért van ilyen. Az egyik porton nem volt untagged VLAN, de azért a PVID az 1 volt, amúgy ez a VLAN a portra forbidden volt. Itt már nem sok logikát látok a válaszban, de végül is érdektelen mennyi logikát látok benne, kezelni kell valahogy. A program ellenőrzi, hogy az untagged VLAN azonos-e a PVID-vel, ha nem, akkor fújól. Ezt le kell tudni tiltani, mert azért van ilyen. És mivel redundáns infó, meg mit tudom én más típus mit kavar, eleve letiltható lett a PVID lekérdezése, az egész switch-re vagy figyelembe vétele portonként. (Azt hiszem beleteszem a feature-k közé az untagged bitmap-ek figyelmen kívül hagyásának a lehetőségét is, mert mi van, ha a bitmap rossz, és a PVID-k a jók.)

3. feature: HPE V1910 sorozatnál a trunk portok hiányoznak a bitmap-ekből, illetve minden érték 0. Amúgy bazi hosszú bitmap-ek jönnek, de adat csak az első néhány byte-ban van, a többi nulla. A VLAN kiosztás a tag portok alapján kideríthető, de azért csessék meg!

4. feature: Ha be van állítva autentikáció a portokra (802.1x), akkor számomra értelmezhetetlen az SNMP által visszaadott VLAN kiosztás. Eddig ilyen nálam csak ProCurve switch-eken van, ott a CLI menüjében sem igazán értelmezhető a VLAN kiosztás, ill. azt felülírják az autentikációs beállítások, aminek persze az egész menüben semmi jele. Az autentikációs port beállítások spec. a programból is kimaradtak, ezzel majd kezdeni kéne valamit.

Csak ennyi, nekem nem tűnik úgy, hogy véresen komolyan veszik ezt az SNMP-t. Van, a strigula behúzható, tessék neki örülni. Arra azért kíváncsi vagyok, más gyártók is ennyire lazák-e? (Van egy sejtésem, hogy igen.)

Persze ez most fele akkora szívás sem volt, mint amikor az LLDP lekérdezéseket akartam rendbe rakni. Mindenki más infót küld, mindent máshogy értelmez, nem is igazán sikerült normálisan rendbe tenni.

Hozzászólások

SNMP a halozati protokollok xml-je ...:)

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

2. feature nekem uj, regen siman lehetett en vagyok ugyes,vagy csak meginkabb szar a memoriam igy jopar evnyi tavlatbol ?

Every single person is a fool, insane, a failure, or a bad person to at least ten people.

Újnak éppenséggel nekem is új volt. A hibákat, ... izé fícsöröket típusról típusra, és verzióról verzióra variálgatják, csak hogy érezzük a törődést. Nálam csak egy gyártó van HP, azon belül is csak  pár sorozat, aztán egész sok fícsör összejött.

Szerkesztve: 2020. 03. 04., sze – 10:53

Én Librenms-t használok SNMP monitorozásra pár helyen. Több 100(1000?) féle eszközt tud autodetektálni/felderíteni. Nézd meg a github-on a forrást. Sírni fogsz a workaround hegyektől.