Newsgroup: it.comp.os.linux.sys
Titolo: PPPD - script di disconnect!

Ho settato PPPD con le opzioni DEMAND, IDLE, PERSIST e DISCONNECT per
realizzare una connessione ad ISP ondemand senza utilizzare DIALD e tutto
sembrerebbe funzionare benissimo (c'è solo da rilevare l'indirizzo P-t-P del
nodo remoto dell'ISP e da inserirlo staticamente nelle opzioni di PPPD).
Infatti faccio partire PPPD che resta come demone in ascolto e quando arriva
il pacchetto giusto fa partire la chiamata e mi connette perfettamente.
PROBLEMA: Sembra proprio il problema più idiota, ma non riesco a fare uno
script di disconnect! Ovvero: quando il modem è "connesso" ed attivo su
internet, in modalità dati, non  accetta alcun comando. Come spiegato su
HOWTO e varie, viene detto di inviare una sequenza "+++" con opportune pause
prima e dopo per riportarlo in modalità comando; le ho provate tutte senza
successo - l'unico modo per chiudere la chiamata è killare il PPPD o
spegnere il modem.
Esiste un modo veloce (anche agendo con "segnali" seriali invece che con
stringhe del modem) per fare l'hang up del modem su /dev/ttyS0 quando questo
è in modalità dati?
Riconoscenza eterna a chi mi risolve il problema.
SuperEdo.

 Ho settato PPPD con le opzioni DEMAND, IDLE, PERSIST e DISCONNECT per
L'opzione IDLE di pppd dovrebbe fare proprio quello che cerchi. Dopo tot
tempo di idle il pppd dovrebbe chiudere il collegamento. Se non lo fa,
forse, č perchč il tuo provider ti invia pacchetti IP per non lasciare la
connessione idle. Bisogna filtrare questi pacchetti con ipchains
Ciao ZioPino

 Ciao ZioPino
Da quello che ho capito IDLE dovrebbe solo richiamare lo script specificato
con l'opzione DISCONNECT, per cui se lo script riesce a chiudere la
connessione bene, altrimenti rimane collegato.
Il problema è che non riesco a scrivere uno script per staccare la
connessione tramite CHAT o ECHO ... >/dev/ttyS0.
E' un peccato perché se il gioco funzionasse farebbe il 90% del lavoro di
DIALD.
Ciao SuperEdo


Mah.. chat script con l'opzione disconnect non li ho mai visti...
A tutti i modi:
Prova con l'opzione unlock di pppd; questo dovrebbe darti l'accesso alla
/dev/ttyS0 anche a processi diversi dal pppd. Quindi echo "++++ etc.
dovrebbe andare (penso perchč non ho mai provato).
Resto dell'opinione cmq. che il pppd non aggancia il telefono perchč
transitano sempre dei pacchetti IP e quindi non condsidera mai idle la
connessione. Controlla con tcpdump o, meglio, con iptraf
Ciao ZioPino
 

 Ciao ZioPino
Risolto!
Effettivamente anch'io non avevo mai armeggiato con disconnect, ma ho
trovato lo script di chat giusto ('' '\d+++' '' '\dAT' '' '\dATH0') e ora
funziona alla grande!
Pacchetti IP non ne transitavano a riposo (avevo guardato bene il modem);
infatti dopo il tempo di idle si scollega perfettamente, per ricollegarsi
appena passano pacchetti (ho ancora qualche problemino di routing ma conto
di risolverlo).
Se è sufficiente il tempo di inattività come criterio di idle ed il nodo
dell'ISP assume sempre lo stesso IP remoto per il P-t-P, PPPD può
egregiamente fare a meno di DIALD (con risparmio di rotture di scatole per
slip, modifiche al masquerading, etc..)
Se interessa a qualcuno posso mandare lo script.
Ciao SuperEdo

 > Mah.. chat script con l'opzione disconnect non li ho mai visti...
Sono contento che tu abbia risolto. Un'ultima cosa però non mi è chiara:
rovistando fra i doc del pppd ho letto che disconnect si usa
preferenzialmente se il controllo HW del modem non funziona completamente.
Nel tuo caso perchè l'hai usato?
Ciao ZioPino

 Nel tuo caso perchè l'hai usato?
Le manpages di pppd dicono, alla voce idle, che quando scadono i secondi
viene eseguito il disconnect, infatti niente script, niente disconnessione
(può darsi che su alcuni modem funzioni in automatico.. ma ho seri dubbi ..
ho un Trust Comm.56K ESP-2, che è un modello relativamente nuovo..).
Per il resto il suo uso mi è ignoto. Se pppd fosse usato "normalmente",
verrebbe chiuso con un kill del processo: potrebbe azionarsi lo script di
disconnect quando pppd riceve il kill (mi sembra improbabile)?
Saluti SuperEdo.

 
Guarda, se tu avessi voglia di mandarmelo (o di postarlo sul gruppo, 
come preferisci) avresti la mia gratitudine estrema, eterna ed 
incondizionata. Mi interessa tutto quello che vuoi mandarmi per capire 
come si configura!
Infatti è da giorni che mi picchio con diald e non capisco perchè quando 
lo attivo mi si blocca ogni accesso remoto alla macchina (telnet, pop3, 
http, ecc.).
Grazie
becco
mar...@altavista.net

 Ciao SuperEdo
A me grazie che sono ignorantissimo in materi ma che mi piacerebbe un sacco e
capirne di più (io ci metto il mio impegno !)
Grazie

 >


  
Allora, con i suggerimenti postati sono riuscito a creare una connessione on
demand, ma nonostante abbia messo idle 30, la connessione non cade dopo 30s di
inattività, anzi o non cade proprio o è random.
Lanciando il comando (che conosco poco) tcpdump -i ppp0 ottengo:
13:58:11.170043 10.10.10.1 > 
224.0.0.1
: igmp query [tos 0xc0] [ttl 1]
13:58:19.260044 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0] [ttl 1]
13:58:49.330061 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0] [ttl 1]
13:59:11.440028 10.10.10.1 > 
224.0.0.1
: igmp query [tos 0xc0] [ttl 1]
13:59:19.450028 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0] [ttl 1]
13:59:49.580046 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0] [ttl 1]
14:00:11.650056 10.10.10.1 > 
224.0.0.1
: igmp query [tos 0xc0] [ttl 1]
14:00:19.690043 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0] [ttl 1]
L'indirizzo 10.10.10.1 è il P-t-P della mia interfaccia ppp0. 
La mia domanda è: rientro nel caso citato da ZioPino, sono pacchetti che
servono solo per tenere connesso il computer ?
Il mio provider è libero.
Nella man page di pppd si fa riferimento ad un'opzione 'active-filter' per
filtrare ad hoc i pacchetti proprio da considerare validi per l'idle. Purtroppo
sembra essere implementata solo su BSD.
Come devo filtrare quei pacchetti ?
Ho provato con:
ipchains -A input -s 10.10.10.1 -j DENY
ipchains -A output -s 10.10.10.1 -j DENY
ma non ho ottenuto nessun risultato.
-- 
  _             _  __
 |_)_. _ | _   | \(_   ***  Paolo DS  ***
 | (_|(_)|(_)  |_/__)  Spresiano (TV)  IT
 Sostituire paods a NOSPAM per rispondere            

 13:58:19.260044 10.10.10.1 > 
224.0.0.13
: ip-proto-103 10 [tos 0xc0]
[ttl 1]
Ciao,
anch'io ho lo stesso problema (con tiscali su ISDN), ho mandato un
messaggio a it.comp.reti.ip-admin qualche secondo fa prima di leggere il
tuo, se ti interessa segui tale NG magari hanno qualche suggerimento.
--
-=/ Nicola  Cassolato \=-
nicola.c...@libero.it
 - ICQ: 26241188 - 
http://texwiller.cjb.net
::: Il caso aiuta soltanto la mente preparata al nuovo e all'inconsueto
::: (L. Pasteur)