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

Rispondere a