Il 24/02/07, Manlio Perillo <[EMAIL PROTECTED]> ha scritto:
Iacopo Masi ha scritto: > Salve a tutti, > sono Iacopo, uno studente che vorrebbe usare python, combinando le librerie > pySNMP e pySSh (oppure paramiko), per poter sviluppare un applicazione in > grado di gestire un apparecchio generico che esponga un agent SNMPv3 e un > server OpenSSh in azione. Ad esempio una qualsiasi macchina Gnu/linux con > suddetti demoni. Ciao Iacopo. > Supponendo che la rete da gestire sia di dimensioni abbastanza grosse, si vuol > creare questa applicazione grafica in maniera tale da non andare su ogni > singolo host tramite ssh a modificare ad esempio il firewall con il tool > iptables; questo ovviamente per ragioni di scalabilità della rete. Quindi > Vogliamo che questa applicazioni ci semplifichi il lavoro, esponendo un > accattivante interfaccia grafica (invece della linea di comando) che > però "sotto il cofano" lavori nel solito modo in cui si lavora da terminale > con ssh. Ecco perchè avevo optato di usare le librerie che interfacciano > python e ssh. > > Esempio: Se si vuole attuare: > ssh [EMAIL PROTECTED] > pass:**** > $iptables -L > $output di iptables. > > Si dovrebbe avere una popup che permetta di inserire username e password, > e un eventuale menu con Firewall>>Lista Regola. Se l'utente clicca si > formatta la stringa "iptables -L" mappata su quella funzione del menu e > tramite le librerie ssh di python si invia la richiesta e si visualizza la > risposta in un frame. > > Questo ovviamente è un esempio ma dovrebbe essere estendibile anche a tutti i > comandi presenti su Linux che accettano argomenti. > > La domanda finale è quindi: > E' sensato tramite pySSh o paramiko programmare un client python affinché > esegua i comandi da ssh con i relativi argomenti ( vedi -L in quel caso) e > poi faccia vedere il risultato da interfaccia grafica? e oltre essere > sensato, è fattibile o è una soluzione non pratica? > Si a tutte le domande. Ma non è la soluzione più furba. La soluzione più furba è cercare di scrivere il meno software possibile. Quindi prendi un programma (ad esempio un applicazione web) che fa quello che vuoi -- ad esempio una interfaccia web ad iptables, phpadmin, o altro -- ed implementa un proxy che riceve una richiesta da un client e la forwarda agli N server.
mi sono dimenticato di dirti che gli agent sono macchine con risorse mooolto spicciole. Tipo poca ram e soprattutto poco HD. Ovviamente il webserver sarebbe solo lato manager giusto? quindi non dovrebbe intaccare le risorse degli agenti, esatto? Ci sono alcuni aspetti da gestire con un pò di attenzione (ad esempio
che fare se n su N dei server ritorna un errore), ma ti evita di dover scrivere da zero una applicazione non banale. Inoltre un proxy del genere dovrebbe essere facilmente riutilizzabile per applicazioni web generiche. > Per il resto le librerie pySnmp si dovrebbero interfacciare benissimo con > Net-Snmp, l'agent di Linux. Non ci dovrebbero essere problemi. >
grazie mille per la pronta risposta ;) Saluti Manlio Perillo
-- Iacopo Masi web: http://www.iacopomasi.net email: [EMAIL PROTECTED]
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python