PDA

View Full Version : Blocco sessione Telnet


Pigna
11-04-2006, 13:00
Ciao a tutti, devo installare un computer con Linux (Debian) in modalità testo.
Su questo computer e' configurato un solo utente (oltre a root)
che deve effettuare 2 comandi:

1) wy60 per attivare un emulatore wy60.
2) telnet verso un'altro host per collegarsi a una applicazione.

Il tutto deve essere il + semplice possibile per l'utente.

Ho fatto le seguenti prove:

1) Creato il seguente script:
#!/bin/bash
# Connect.sh
sleep 1
while [ "$var" != S ]
do
/usr/bin/tput clear
/usr/bin/wy60 -c /usr/bin/telnet 192.168.4.1
echo
/usr/bin/tput clear
echo
echo

echo -e "***********************************************************
**********************"
echo -e "*\t\t\t\t\t\t\t\t\t\t*"
echo -e "*\t\t\tVUOI SPEGNERE IL COMPUTER? (S/N)\t\t\t*"
echo -e "*\t\t\t\t\t\t\t\t\t\t*"

echo -e "***********************************************************
**********************"
echo
read var

continue
done
/usr/bin/sudo init 0

Poi ho modificato il file /etc/inittab nel seguente modo:
1:23:respawn:/sbin/getty -n -l /usr/bin/connect.sh 38400 tty1

E tutto funzionava bene, sulla tty1 avevo la shell del server e
l'utente lavora, dopo 5 minuti di inattivita' dell'utente però si
blocca la sessione, non riesce + scrivere nulla. Se gli killo il
processo e si ricollega funziona tutto e senza problemi.

2) Creato un utente user che come shell
aveva /usr/bin/wy60 -c /usr/bin/telnet server
Quindi devono fare il login sulla macchina linux e poi gli si presenta
il login del server, fanno il login anche li ed entrano nel sistema,
però mi si ripresenta il problema di prima, dopo 5 minuti di
inattivita' gli si blocca la sessione, li killo e dopo tutto funziona
perfettamente.

3) Modificata la shell dell'utente root
da /usr/bin/wy60 -c /usr/bin/telnet server a /bin/bash e aggiunto nel
file bash_profile i seguenti comandi:
wy60
telnet server
Pero' il problema della sessione che si blocca rimane.

Non so' + che fare, consigli.

P.S.
Altri utenti si collegano al server utilizzando un sw che gira su Win
(Accuterm 97) che esegue sempre un telnet sul server e non si e' mai
presentato questo problema.

W.S.
11-04-2006, 14:06
il problema è che va in timeout la read sulla connessione. Solitamente i client inviano dei dati di "keep-alive" per tenerla aperta, prova ad usare netcat al posto di telnet oppure vedi se c'è qualche opzione per evitare i timeout.

Pigna
11-04-2006, 14:20
il problema è che va in timeout la read sulla connessione. Solitamente i client inviano dei dati di "keep-alive" per tenerla aperta, prova ad usare netcat al posto di telnet oppure vedi se c'è qualche opzione per evitare i timeout.


Leggendo in internet ho provato a modificare il file /proc/sys/net/ipv4/tcp_keepalive_time inserendo 80 come valore ma non funziona.

netcat non lo consoco, ma come posso usare netcat al posto di telnet?

Considera che non posso mettere mani sul servizio telnet sul server poiche' il sistema e' HP-UX e non posso riavviare il servizio telnet poiche' ci sono molti utenti collegati.

kingv
11-04-2006, 15:50
sei sicuro che il problema sia locale?
non hai un firewall di mezzo che dopo un periodo di inattività ti butta giu' le connessioni ?

Pigna
11-04-2006, 16:10
sei sicuro che il problema sia locale?
non hai un firewall di mezzo che dopo un periodo di inattività ti butta giu' le connessioni ?

Si, lavoro in una rete locale e ne' sul server ne' sul client c'e' installato il firewall.

La cosa strana e' che il problema si presenta solo la 1 volta che mi collego:

Al mattino l'utente accende il computer, effattua la connessione telnet,esegue il login sul server e lancia l'applicativo e dopo 2/3 minuti si blocca.

Se pero' l'utente dopo aver lanciato l'applicativo sul server si scollega e si ricollega tutto funziona correttamente.

Quindi escluderei un problema si time out del servizio telnet, altrimenti si presenterbbe sempre.