erlug
[Top] [All Lists]

Re: [Erlug] Connessione con ...[lungo]

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] Connessione con ...[lungo]
From: Maurizio Lemmo - Tannoiser <tann@xxxxxxxxx>
Date: Tue, 18 Sep 2001 11:57:52 +0200
* martedì 18 settembre 2001, alle 08:30, Ferrari Impianti sas scrive:
> Spero di non frenare gli entusiasmi se dico di aver letto l' HowTo "How to
> hook up PPP" al seguente indirizzo :

Fermo restando che IMHO il miglior documento sul l'argomento e`
PPP-HOWTO, posto un po` di roba, noiosa per i piu` vetusti, ma spero
utile alla risoluzione di Ferrari Impianti (ma mettere un nome a questa
mail no?).

Perdonate la noia per chi non e` interessato.

--- Collegamento ad Internet mediante script
Tutte le operazioni da fare sono da fare esclusivamente come utente
root.

Preparazione:

La prima operazione da fare e` creare un link alla device del modem
mediante il comando:

ln -sf /dev/ttyS1 /dev/modem 

(in questo caso si considera il modem in porta com2, viceversa
sostituire ttyS1 con S0 per com1 e via di questo passo).

editiamo quindi il file di risoluzione dei nomi (DNS)
/etc/resolv.conf con il proprio editor preferito, dovrebbe risultare
come il seguente, usando i dati del proprio provider (configurazione
valida per libero):

domain libero.it
nameserver 195.210.91.1
nameserver 195.210.91.2

seguono i 4 file che servono rispettivamente a connettersi, a
disconnettersi, contengono le informazioni utente e le informazioni di
chat (il programma, non c'entra nulla con irc).
I file li allego per evitare formattazioni strane, vanno tutti copiati
nella directory /etc/ppp/

e sono

pon
poff
pap-secret
ppp-chat

Di questi, tutti tranne poff sono da editare inserendo il proprio user
id in pon, userid e password in pap-secret, e il numero di telefono del
proprio provider in ppp-chat.

nello specifico, pon avvia il demone pppd con diverse opzioni (tutte
documentate nella pagina man di pppd) e chat per la composizione
telefonica (nel file ppp-chat ci sono le informazioni passate al modem).

Con alcuni modem potrebbe rendersi necessario inserire una stringa di
composizione (dipende molto dai modem), questa` si puo` trovare _solo_
sul manuale del modem.

Altro problema classico e annoso e` la solita stringa atx3 per la
composizione "blind" ovvero senza aspettare il tono di linea libera, che
e` diverso rispetto agli usa e per questo alcuni modem non lo
riconoscono. In questo caso e` possibile inserirla direttamente nella
stringa di composizione, sempre nel file ppp-chat sostituendo:

atdt0519901010

con 

atx3dt0519901010

Oppure (e io preferisco) inserire questa stringa (atx3) direttamente
nella rom del modem, il tutto fattibile mediante minicom e controllando
il manuale del modem (salvando poi le impostazioni con at&w).

Ora si diano i seguenti comandi (verificare la questione utente root,
utente non root):

chmod 750 /etc/ppp/pon
chmod 750 /etc/ppp/poff
chmod 600 /etc/ppp/pap-secrets
ln -sf /etc/ppp/pon /usr/bin
ln -sf /etc/ppp/poff /usr/bin

Questo rende eseguibile pon e poff e ne fa un alias in usrbin (per non
dover esplicitare il percorso, non essendo tipicamente /etc/ppp nel path
degli eseguibili). Inoltre imposta i permessi di pap-secrets a lettura e
scrittura solo per il proprietario, come previsto/richiesto da pppd.

si crei (se non esiste gia`) il gruppo degli utenti ppp, dovreste vedere
in /etc/group una riga analoga alla seguente, oppure createla o usate
addgroup:

pppusers:x:230:

a cui e` possibile inserire dopo i due punti gli utenti appartenenti a
questo gruppo:

pppusers:x:230:miologin,altroutenteppp

proseguite come segue:

chown root.pppusers /dev/ttyS1
chmod 664 /dev/ttyS1
chown root.pppusers /etc/ppp/pon
chown root.pppusers /etc/ppp/poff
chown root.pppusers /usr/bin/pon
chown root.pppusers /usr/bin/poff
chmod u+s /usr/sbin/pppd
chmod u+s /usr/sbin/chat
ln -sf /usr/sbin/pppd /usr/bin
ln -sf /usr/sbin/chat /usr/bin

i chown cambiano i proprietari e gruppi dei file, i due link simbolici
rendono i due programmi raggiungibili in un path presente tra quelli
degli utenti, i due chmod impostano il bit SUID per i due programmi pppd
e chat, ovvero verranno eseguiti con i privilegi del proprietario
(root). Questo si rende necessario perche` solo root puo` attivare una
connessione di rete. Il bit SUID viene considerato insicuro,
un'alternativa puo` essere il programma sudo, ma se tenuti sotto
controllo e su macchine con pochi (o unici) utenti non si tratta di un
vero problema.

consiglio anche di inserire nei file /etc/hosts.allow quanto segue

ALL:127.0.0.1

e nel file /etc/hosts.deny quanto segue

ALL:ALL

che impedisce ad utenti esterni alla macchina di adoperare i servizi
forniti dalla box. Questo vale per tutti i servizi attivati da
inetd/xinetd, quindi non vale per nfs, lpd e sendmail (per dire).

Il discorso security esula da questa gia` troppo lunga mail, percui` vi
rimando ai documenti del caso.

Si consideri cmq che vale il principio "installo solo quello che uso" e
che un servizio non presente e` la maggior security policy applicabile a
quel servizio.

e` possibile fare in modo che a connessione attiva o disattiva vengano
eseguiti determinati programmi (tipicamente lo scarico della posta).

Per fare questo si usano due file (che non allego anche perche` di
solito presenti nelle distro), dove e` possibile inserire i comandi da
eseguire.

all'avvio pppd esegue /etc/ppp/ip-up, in fase di chiusura invece esegue
/etc/ppp/ip-down.

In ip-up ad esempio io uso mettere:

su miologin -c "fetchmail -d 300"

che mi scarica la posta ogni 300 secondi in maniera "demonizzata",
quindi non interattiva e usando il file nella mia home .fetchmailrc, e
metto in ip-down:

fetchmail -q

per dismettere il polling della posta

NB: in realta` nel mio ip-up c'e` un sacco di roba in piu`, ma in questo
momento esula dal discorso.

A questo punto abbiamo finito.

la connessione si avvia con pon.
E si abbatte con poff.

NB: in realta` poff non funziona se non da root, perche` il processo che
tenta di uccidere e` di proprieta` di root. Qui ci possono essere
diversi workaround, dall'uso di sudo, al crearsi un alias che fa:

alias poff='su -c "/etc/ppp/poff"'

ovvero esegue poff da root (chiedendo la password), al diventare root
quel tanto che serve per abbattere la connessione, allo staccare il filo
del modem (c'e` scritto nel ppp-howto, sic).

NB2: in recentissime versioni di pppd ho visto che l'opzione noauth non
viene eseguita se non si e` utenti root quindi anche in questo caso la
connessione non avviene. Anche qui valgono le considerazioni di cui
sopra.

NB3: se avete schede di rete installate e default gateway verso un
determinato indirizzo il pppd potrebbe non essere in grado di divenire
il default gw attuale.

In ragione di tutto questo, si consiglia di

avviare le prime connessioni da root, tenendo _bene_ sotto controllo i
log mediante un paio di terminali che eseguono questo comando:

tail -f /var/log/messages
tail -f /var/log/debug

Di piu` non saprei dirti a parte venire da te e installrtelo
personalmente.
Rinnovo le scuse per chi ha trovato questo messaggio noioso.

In bocca al lupo.

Il vostro admin del cuore.
-- 
Give your very best today.  Heaven knows it's little enough.

Maurizio - Tannoiser - Lemmo
STIGE Srl Servizi Informatici
Founder Member of ERLUG (Emilia Romagna Linux User Group)
http://erlug.linux.it

Attachment: conn-script.tgz
Description: GNU Zip compressed data

<Prev in Thread] Current Thread [Next in Thread>