Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - jerg

Pagine: 1 [2] 3
16
Server / dump della ram ( hexdump )
« il: 10 Novembre 2011, 02:47:17 »
Ciao a tutti

tempo fa leggevo su un manuale di redhat che, in pratica, si possono mette due macchine che fungono da router in clunstering per avere ridondanza hai guasti e questo clunstering funziona in questo modo

il primo router invia periodicamente un dump della ram al secondo router quando il primo non risponde più al secondo questo entra in gioco, avendo in se il dump della ram del primo praticamente riprenda l'attività dal punto in cui ha lasciato il primo.

ora la questione è questa. usando il tool hexdump memorizzo il contenuto della ram in un file e poi passo il file un altra macchina, in questa seconda macchina avvio il servizio che mi serve e poi scrivo il contenuto del file nella ram. il procedimento è sicuramente più complesso di quello che dico ma è per capire. quello che vorrei sapere è se posso "costruire" una ridondanza in questo modo.

per capirci faccio il dump in questo modo

Codice: [Seleziona]
hexdump -c /dev/mem >> ramdump.txtin questo modo il file non è binario ma viene converito in formato ascii ma posso cambiare formato oppure trasferire il dump in rete tramite uno script client/server che ho, passando come stdin il dump allo script

spero di essere stato chiaro

grazie a tutti

17
Ciaoooooo forummmmm

in merito sempre al discorso delle installazioni automatiche di windows tramite server pxe centos e una distro custom, volevo che i miei client dicessero al server che sono su e che cosa stanno facendo, mi spiego meglio quello che accade è questo:

1 - attacco il client alla rete, lo avvio e si carica tramite pxe una linux fatta da 0 che copia un immagine di windows già pronta(usa dd) dal file server.
2 - durante le varie operazioni(backup dati del client, formattazione hd e copia dell'immagine) il client avvia uno script che invia al server pxe "delle scritte" per fargli sapere il suo ip e che cosa sta facendo.

come realizzare due script, uno client e uno server per inviare messaggi tramite rete???

quello che posto qui sono script di esempio, lo script client funge da terminale con cui inviare dati e visualizzare le risposte del server. Lo script server riceve dati e replica con dei messaggi scrivendoli nel log e inviandoli in rete al client. lo script server usa xinetd per ascoltare in rete. Il bello di xinetd è che ascolta su una porta tutto quello che arriva lo mette nello stdin dello script e tutto quello che lo script stampa nello stdout lo invia al client. in questo modo si possono usare gli strumenti standard di bash (read ed echo) per ricevere/inviare messaggi e lasciare la gestione della rete a xinetd.

questi sono i link che ho consultato
http://www.troubleshooters.com/codecorn/sockets/
http://www.voipandhack.it/archives/linux/bash-socket-programming

Lato server

Installazione xinetd
Codice: [Seleziona]
yum install -y xinetd
chkconfig --level 35 xinetd on

creare il file di configurazione di xinetd per lo script server
Codice: [Seleziona]
vi /etc/xinet.d/test
contenuto del file
Codice: [Seleziona]
default: on
# description: test socket server
service test
{
   port            = 3333
   socket_type     = stream
   wait            = no
   user            = root
   server          = /server.sh
   log_on_success  += USERID
   log_on_failure  += USERID
   disable         = no
}

ATTENZIONE:
per comodita ho messo come user root, altrimenti c'è da smanettare un po con il discorso permessi, andrebbe usato un utente che ha il permesso di fare quello che lo script server richiede, ad esempio se lo script server deve scrivere un log allora l'utente deve avere permessi adeguati, etc. non lasciare l'utente root su server in produzione


inserire in /etc/service una voce che identifichi la porta, protocollo e il servizio, ad esempio:
Codice: [Seleziona]
test          3333/tcp                           # Test
avviare xientd
Codice: [Seleziona]
service vinetd start
esempio di script server
Codice: [Seleziona]
#!/bin/bash
#ciclo infinito per continuare ad ascoltare
while true; do
        # xinetd riceve i dati e li mette nello stdin dello script server
        read IN

        case "$IN" in
                # digitando il comando serverclose, lo script server finisce e la connessione cade
                serverclose)   exit 0;;
        esac

        # xinet prende i dati dallo stdout dello script server e li invia client
        echo "[$(date +%d/%m/%y-%H:%M:%S)] SERVER REPLY OK"
        echo "[$(date +%d/%m/%y-%H:%M:%S)] SERVER REPLY OK" >> ./server.log

done

test
ora testiamo il server, usando telnet
Codice: [Seleziona]
telnet ip_server porta
premete invio(la prima riga nel ciclo while è read IN quindi il server aspetta input), dovrebbe comparire il messaggio
Codice: [Seleziona]
[30/10/11 5:10:00] SERVER REPLY OK

18
CIao a tutti, ho tirato su un ftp con un server di stampa xerox buttato li, cambiato l'hd, sostituita la ram 256mb con una 1024mb 400mhz che da quello che ne so io abbasta e avanza, installata la centos, e alcuni servizi che elenco

Codice: [Seleziona]
[root@ftp /]# chkconfig --list
atd             0:off   1:off   2:off   3:off   4:off   5:off   6:off
crond           0:off   1:off   2:off   3:on    4:off   5:on    6:off
gpm             0:off   1:off   2:off   3:off   4:off   5:off   6:off
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
lm_sensors      0:off   1:off   2:on    3:on    4:on    5:on    6:off
mcstrans        0:off   1:off   2:off   3:off   4:off   5:off   6:off
messagebus      0:off   1:off   2:off   3:off   4:off   5:off   6:off
multipathd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:off   4:off   5:off   6:off
netplugd        0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:off   3:on    4:off   5:on    6:off
portmap         0:off   1:off   2:off   3:on    4:off   5:on    6:off
rawdevices      0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
snmpd           0:off   1:off   2:off   3:on    4:off   5:on    6:off
snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
syslog          0:off   1:off   2:on    3:on    4:on    5:on    6:off
tcsd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
vsftpd          0:off   1:off   2:off   3:on    4:off   5:on    6:off

tutto sommato poca roba installata e ancora meno attiva.


il problema:
accedono 6 o 7 persone contemporaneamente al servizio ftp e vai che la ram schizza al 80/90% occupati. Quando questi si disconnettono scende intorno all'70%. dando un occhiata a top vedo che rimangono 4/5 voci di vsftpd che occupano 0% di ram e che come utenti hanno nobody, root, e administrator che uno degli utenti dell'ftp. il processo che occupa più ram, sempre secondo top, è snmpd che però occupa lo 0.8% che mi sembra un po poco per arrivare al 78% di ram occupata con la macchina in idle. ho controllato i log per vedere se qualcosa non va ma non ho visto niente di anormale e ho controllato più volte.

soluzione "napoletana"(senza offesa ovviamente)
ho cercato un metodo per scaricare la ram e ho trovato questo comando che in pratica svuota la cache dai dati inutilizzati e voilà sono passato da 800 e passa mb di ram usati a 72mb e tutto ancora funziona perfettamente!!!

il codice è questo
echo "3" > /proc/sys/vm/drop_caches

quindi ora ho schedulato la cosa ogni ora con cron e sembra aver risolto

grande dubbio
è possibile che vsftpd, che ad ogni login avvia una nuova istanza di se stesso, nonn killa le istanze all'logout ed è possibile che si divori tutta questa ram???

grazie a tutti
saluti

19
Server / daemon script personalizzato
« il: 05 Settembre 2011, 21:03:58 »
Ciao a tutti, scrivo questo post perchè ho cercato in rete una spiegazione ma è tutto in inglese e poco approfondito comunque, a me sarebbe servito un post cosi.

Sto scrivendo script vari e programmi in c per automatizzare le installazioni di windows da pxe in modo che i pc si "aggiustano da soli" mentre io vado in giro a cercare clienti, alla fine di tutto le installazioni dovrebbero partire da pxe, installare windows, avviare lo script batch che installa silenziosamente i software standard creando un file usato da un programmino per creare i rapporti d'intervento e infine tutto via mail a me e in caso di errore sms al cellulare. Ora sto creando una live per ripristinare l'immagine di windows già pronta sul disco del client, non scendo troppo in particolari perchè è trooooppo lunga la questione, quindi mi serve uno script generico che faccia partire altri script o programmi come demoni all'avvio della live sul client, del tipo
Codice: [Seleziona]
service copernico-script start
ok lo script deve(per quello che serve a me) montare uno share nfs e avviare lo script che è sul server, deve anche poter avviare uno script in locale. Il codice seguente va in /etc/init.d
NON FATE COPIA INCOLLA DA WINDOWS le codifiche dei testi sono diverse esce fuori un disastro.
Codice: [Seleziona]
#!/bin/bash
#
# copernic-script        copernicoPXE daemon
#
# Ultima mod.: 04/09/2011
#
# chkconfig: 2345 12 88
# description: This file starts and stops the scripts copernicoPXE (cloning installation systems & solutions)
# processname: copernico-script
# pidfile: /var/run/copernico-scipt.pid
#
### BEGIN INIT INFO
# IT
# Questo init script e' concepito com starter genrico per avviare come demone
# uno script o un file binario. Il demone(binario o script) da mandare in esecuzione
# puo' essere in locale o su un server nfs. Se la variabile $server_binary contiene
# un path NFS lo script monta il server e cerca il file specificato nella variabile
# $binary, altrimenti prende come path del demone la variabile $binary. Questo vuol dire
# che se si vuole avviare un demone da un file locale basta inserire il path nella
# variabile binary altrimenti va specificato il path NFS nella variabile $server_binary,
# il mountpoint nella varibile $server_mp e come $binary il nome del file da eseguire
# come demone.
#
# La variabili $procesname server al sistema per attribuire un nome al processo
#
# La variabile $script_name indica il nome del file che state leggendo, quando
# si richede lo status del demone viene visualizzato il nome di questo script
# per chiarezza. Visualizzare le info con il comando:
#
# service nome-demone status
#
# dove nome-demone e' il nome di questo script, che dovra' essere posizionato in
# /etc/init.d/nome-demone insieme
#
#
# Di seguito sono riportati alcuni esempi di configurazione
#
# Es. per eseguire uno script su un server
#
# binary="restore-image.sh"
# procesname="copernico-script"
# server_binary="192.168.1.102:/mnt/ar0/it/copernico/script"
# server_mp="/mnt"
#
# Es. per eseguire un binario in locale
#
#       binary="/bin/restore-image.sh"
#       procesname="copernico-script"
#       server_binary=""
#       server_mp=""
#
# Es. per eseguire uno script in locale
#       binary="/bin/restore-image.sh"
#       procesname="copernico-script"
#       server_binary=""
#       server_mp=""
#
# Variabili:
#
# binary Nome dello script o del binario da eseguire.
# procesname Nome del processo, viene utilizzato per comunicare cosa sta avviando.
# server_binary Path NFS del server, es.: 192.168.1.102:/mnt/ar0/it/copernico/script.
# server_mp Mountpoint del server NFS.
# script_name Nome di questo file
# script_ver Versione di questo file
#
#
# ATTENZIONE
# -----------------------------------------------------------------------------------------
# Se il demone da eseguire e' un binario che inizia e finisce la sua attivita' senza
# restare in attesa di input, o uno script che inizia e finisce senza attendere input,
# lo stop del demone restituira' sempre fallito in quanto lo scipt o il binario e'
# gia' terminato, am cancellera' comunque il file PID e tutto il resto.
#------------------------------------------------------------------------------------------
#
### END INIT INFO

# Source function library.
. /etc/init.d/functions

script_name="copernico-script"
script_ver="1.1.0"

binary="restore-image.sh"
procesname="copernico-script"
server_binary="192.168.1.102:/mnt/ar0/it/copernico/script"
server_mp="/etc/copernico"

RETVAL=0

start() {
echo "Starting: $procesname"
# controllo se la variabile $server_binary e' vuota
# per capire da dove prendere il binario o script
# da eseguire.
if [ -z $server_binary ]; then
echo "Assuming local path for binary: $binary"
echo "Starting daemon"
# controllo se $binary e' eseguibile
if [ ! -x $binary ]; then
echo "The binary or script $binary not executable or not exist"; exit 1
fi
# avvio del demone
daemon $binary
    RETVAL=$?
    PID=$!
echo
echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$procesname
echo $PID > /var/run/$procesname.pid
else
echo "Assuming network path for binary: $server_binary mounted in $server_mp"
echo "Mounting server"
# controllo se il mountpoint e' una directory
if [ ! -d $server_mp ]; then
echo "The mountpoint $server_mp not exist or not a directory"; exit 1
fi
# mounting del server
err=$(mount $server_binary $server_mp 2>&1)
errno=$?
# se il valore di return dal mount e' 0
# visualizzo l'errore ed esco
if [ ! $errno -eq 0 ]; then
echo "$err : return $errno"; exit 1
fi
                echo "Starting daemon "
# controllo che binary sia eseguibile
if [ ! -x $server_mp/$binary ]; then
echo "The binary or script not executable or not exist"; exit 1
fi
                # avvio del demone
daemon $server_mp/$binary
RETVAL=$?
PID=$!
echo
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$procesname
                echo $PID > /var/run/$procesname.pid
fi
}

stop() {
    echo "Stopping: $procesname"
# se $server_mp non e' vuota smonto il mountpoint
if [ ! -z $server_mp ]; then
echo -n "Unmounting: $server_mp "
err=$(umount $server_mp 2>&1)
errno=$?
if [ ! $errno -eq 0 ]; then
                echo "$err : return $errno"
        fi
fi
killproc $procesname
RETVAL=$?
echo
echo
if [ $RETVAL -eq 0 ]; then
        rm -f /var/lock/subsys/$procesname
        rm -f /var/run/$procesname.pid
fi
}

restart() {
stop
start
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    status)
echo
echo "Info"
echo "---------------------------------------"
echo "CopernicoPXE - init script"
echo "Script: $script_name"
echo "Ver.:   $script_ver"
echo
echo "Settings"
echo "---------------------------------------"
echo "Script or binary to execute: "$binary
echo "Process name: "$procesname
echo "NFS server path: "$server_binary
echo "Local mount point: "$server_mp
        echo
echo "Status"
echo "---------------------------------------"
status $procesname
echo
    ;;
    restart)
        restart
    ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
    ;;
esac

exit 0
ovviamente questo script avvia un'altro script che una volta eseguito termina e quindi il successivo stop darà fallito a meno che lo script non sia ancora in esecuzione.
Ho scritto dei commenti all'interno del codice con degli esempi per configurarlo.

fate riferimento a questa guida per quanto riguarda lo scripting bash
http://www.pluto.it/files/ildp/guide/abs/index.html

ho fatto i test sia con un binario sia con uno script, in locale e in remoto

spero sia utile a qualcuno anche se uno, magari solo io ;D

21
Allora ho installato centos 5.6 su una chiavetta usb da 8gb, faccio il boot, compare il menu di grub, comincia a caricare il kernel con tutti i suoi passaggi ed elenco dell'hardware arriva a  mounting proc filesystem e ok, mounting sysfs filesystem e ok, creating /dev e ok, creating initial device nodes e ok, setting up hotplug e mi da errore. Visto che parla di hotplug credo sia dovuto a problemi con l'hardware ma non so come interpretare l'errore in cui dice:

input: AT Translated Set 2 keyboard as /class/input/input0

stiamo parlando di un netbook olivetti olibook m1025, ho provato anche su un acer aspire 5920 e funziona, è possibile che non sia compatibile il controllere della tastiera!!!

grazie a todosssss

22
Sicurezza / Opinioni su configurazione ipables per ftp
« il: 20 Agosto 2011, 12:52:40 »
Ho tirato su un ftp con vsftp per la tipografia in cui ho l'ufficio della mia di azienda, la mia rete è separata dalla loro tramite un firewall pfsense. Premesso che secondo me la rete è configurata da schifo perche sono dei taccagni assurdi tanto che non hanno voluto spendere 300 euro per farmi fare un firewall per la loro rete e altro ma non sto qui a elencare. Ho configurato il firewall iptables nel ftp e volevo un parere visto che è uno dei primi firewall che configuro per server in produzione. Cerco di seguito di schematizzare il più possibile la situazione.

PERCHE'
Ho bisogno di controllare la macchina tramite snmp, di poter entrare in ssh, di poterla pingare e vedere i log tramite zerolog(porta 3333) dalla mia rete, mentre da lato "pubblico" solo ftp e ping in uscita

UTENTI E SSH
ho inbito la shell a tutti gli utenti tranne uno, disabilitato il login come root a ssh e disabilitato sftp nel file di configurazione di sshd
 
HW
la macchina è un vecchio server di stampa xerox su cui ho installato centos 5.6, vsftpd, iptables, net-snmp, e il logviewer che ho scritto io zerolog(ho fatto un posto in questo forum su zerolog).
2x gigabit ethernet
1x 1ghz cpu
1x 1024mb ram
1x 120gb hd

LA RETE
La linea portante arriva ad un router che fa NAT sulla rete 192.168.0/24(rete tipografia) senza firewall, ho fatto forward della porta 21 sull'ftp(192.168.0.121). Dal router ad uno switch 10/100 a cui si collega tutta la tipografia, il firewall del mio ufficio e una delle schede di rete dell'ftp. l'altra scheda di rete dell'ftp è collegata alla rete dietro al firewall del mio ufficio questo perché se qualcuno facesse un scan del ftp dall'esterno o dalla rete della tipografia arriverebbe all'ftp tramite la prima scheda di rete e vederebbe aperta solo la porta 21.

IPTABLES dell'ftp
Codice: [Seleziona]
# Interfacce:
#       eth0 = private
#       eth1 = public

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]

# PUBLIC NET (192.168.0/24 rete tipografia)
-A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth1 -p icmp -j ACCEPT

#PRIVATE NET(192.168.1/24 rete del mio ufficio)
-A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p icmp -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 3333 -j ACCEPT
-A INPUT -i eth0 -p udp --dport 161 -s 192.168.1.103 -m mac --mac-source 00:13:8F:C1:90:43 --j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


#LOOPBACK IN/OUT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

COMMIT

l'ftp è solo in modalità attiva non so configurare il firewall per la modalità passiva :-\ ma lasciamo perdere ;D
che ne dite???

23
Server / Aprire una shell ssh tramite Zenoss command
« il: 13 Agosto 2011, 01:02:52 »
 Sto cercando da tempo un modo per gestire e monitorare la mia "infrastruttura" in modo centrale via http. Sto provando Zenoss e come monitoring ci sono quasi, quello che mi sarebbe estremamente utile è poter aprire shell ssh con i vari host tramite l'interfaccia di zenoss. Nell'interfaccia c'è un menu command da dove eseguire ping, tracerout, etc e l'output di questi comandi viene visualizzato in una finestra. Volevo inserire li il comando ssh (tipo ssh root@${device/iphost})ma nella finestra di output compare un errore che mi dice che in quella finestra può uscire solo output e non può fungere da input(stdin) per dare, per esempio, password e comandi.

Mentre scrivo sto spulcianod plug-ins per zenoss, per vedere se c'è qualcosa.

soluzioni?

24
Supporto Generale / Certificazione centos come redhat... esiste???
« il: 10 Agosto 2011, 07:01:36 »
Ciao a tutti

stavo dando un occhiata alle certificazioni e non vedo niente per centos, non esiste una certificazione come quella redhat?

25
Ciao a tutti sto seguendo varie guide per creare a mano un initrd e ovviamente mi sto impiccando!!!

In tutte le guide che ho trovato si parte creando una directory(/initrd) e sotto directory(/bin /dev /lib /proc /root /etc), etc. Su una delle guide dice di dare un occhiata dentro l'initrd del sistema corrente per rendersi conto di come è organizzato. monto l'initrd con il comando
Codice: [Seleziona]
mount -t ext -o loop /boot/initrd-2.6.18-194.el5.img  /mntma mi da errore, poi ho trovato questo
Codice: [Seleziona]
mount -t sysfs -o loop /boot/initrd-2.6.18-194.el5.img  /mntma che filesystem è?

All'interno però trovo queste directory
Codice: [Seleziona]
block  bus  class  devices  firmware  fs  kernel  module  powercome mai centos non usa l'approccio che ho trovato in tutte le guide, non trovo nemmeno lo script /linuxrc?

grazie a tutti

26
Server / visualizzatore log su web in php
« il: 18 Luglio 2011, 11:47:24 »
Ciao a tutti cercavo in giro un logviewer per vedere da web i log del mio server, non trovando nulla di semplice e free ho pensato di farmelo da solo. Ovviamente per ora è ridotto all'osso, ma magari fa comodo a qualcuno o qualcun'altro ha voglia di aiutarmi nello sviluppo di questa cosetta.

pagina ufficiale:www.zerounozerolabs.com/dd/zerolog
ciao ciao

27
Suggerimenti & Feedback / parere sulla pagina how-to
« il: 08 Luglio 2011, 18:12:28 »
Spulciando la pagina degli how-to, a parer mio, basterebbero i titoli delle guide, occuperebbero meno pagine e se ne avrebbe una visione più immediata

ciao ciao

28
Networking / Guida base su ip
« il: 08 Luglio 2011, 17:19:23 »
Ciao volevo segnalare questa guida basilare secondo me utile e scritta bene

http://www.mod-xslt2.com/people/ccontavalli/docs-it/ip/ip4dummies.pdf

ciao ciao

29
Sicurezza / Guida utile per iptables
« il: 08 Luglio 2011, 17:17:03 »
Ciao a tutti volevo solo segnalare questa guida che ho trovato utile è abbastanza basilare e spiega qualche concetto che hai neofiti di iptables possono tornare utili.

http://www.mod-xslt2.com/people/ccontavalli/docs-it/iptables/iptables4dummies.pdf


30
Server / wegui per xen
« il: 29 Giugno 2011, 02:56:01 »
Ciao a tutti

Sto cercando delle interfaccie per gestire xen da browser web come per vmware server. qualcuno ne sa qualcosa ho cercato in giro ma pare non ci sia niente di completo.

 Si può abilitare in xen qualcosa che assomiglia ad una lista su html delle macchine attive ma sono davvero 4 scritte.E' possibilie che sia cosi o che vada implementat a mano?

ho trovato xen-orchestra ma è un progetto agli inizi e ora sto provando convirt e xenman(non ho capito se sono la stessa cosa).

grazie mille

Pagine: 1 [2] 3