Ifplugd: connessione automatica: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
(guida riscritta praticamente del tutto)
Riga 4: Riga 4:
== Introduzione ==
== Introduzione ==


Siete stufi di dover dare sempre <code>dhclient</code> oppure <code>ifup eth0</code> per attivare la connessione e vorreste invece che fosse attivata automaticamente quando inserite il cavetto ethernet? Oppure volete attivare la connessione wireless non appena questa sia presente? Se la risposta è di seguito è illustrata una semplice soluzione.
Capita spesso, ai possessori di notebook/netbook, di spostarsi da una rete all'altra per esigenze diverse (lavoro, studio, etc.) e di essere costretti volta per volta a reimpostare tutti i parametri per poter operare all'interno di quella rete. E' vero che esistono tool grafici che permettono di usufruire di profili diversi e di sceglierli di volta in volta, ma è anche vero che essi sono comunque applicativi che “pesano” sulle risorse di sistema e che, soprattutto, “nascondono” all'utilizzatore le procedure che mettono in atto.<br />
Questa guida si rivolge a coloro i quali gradirebbero ottenere lo stesso risultato “sporcandosi le mani”, intervenendo direttamente dentro i file di configurazione.  


== ifplugd: connessione automatica ==
== ifplugd ==


Il pacchetto '''<code>ifplugd</code>''' contiene un demone che osserva delle interfacce di rete specificate e attiva la connessione non appena rileva la presenza di un collegamento su una di queste interfacce. Per attivare le connessioni viene usato il comando <code>ifup</code>, quindi vengono usate le impostazioni specificate in <code>/etc/network/interfaces</code>.
Il pacchetto '''ifplugd''' contiene un demone che "osserva" le interfacce di rete specificate e attiva la connessione non appena rileva la presenza di un collegamento su una di esse.<br />


L'uso è semplicissimo. Basta installare il pacchetto <code>ifplugd</code>, riconfigurarlo:
Il suo uso è semplicissimo, basta semplicemente installarlo e riconfigurarlo:


<pre># dpkg-reconfigure ifplugd</pre>
<pre># dpkg-reconfigure ifplugd</pre>


e selezionare le interfacce che si vogliono monitorare. Io ho messo solo <code>eth0</code> nelle interfacce statiche e niente nelle interfacce ''hotplug'' dato che ho solo una scheda di rete. Se avete più schede potete inserirle tutte, separate da spazi.
il sistema chiederà di specificare le interfacce che si vogliono monitorare. Se si posseggono più schede esse potranno essere inserite tutte, separate da spazi (ad esempio: eth0 eth1 wlan0).


Da questo momento in poi la connessione verrà automaticamente attivata ;-).
Da questo momento in poi la connessione verrà automaticamente attivata secondo quanto impostato nel file ''/etc/network/interfaces'' ;-).


== impostazione automatica dei parametri di rete ==
Come detto, l'obiettivo a cui si sta mirando è quello di automatizzare la configurazione di sistema relativamente alla rete nella quale ci si trova. Per far questo il solo ''ifplugd'' non basta ma ci si dovrà avvalere anche di altri tool che dovranno essere installati prima di procedere:
* '''resolvconf''' (gestisce i nomi dei nameserver)
* '''iputils-arping''' (fornisce gli strumenti necessari ad effettuare il ping per Mac-Address)
* '''guessnet''' (script in grado di effettuare dei test per identificare la rete in cui ci si trova e selezionare da un file preparato ad hoc i parametri da utilizzare=
Il tutto è presente nei repository di Debian e quindi comodamente disponibile con un semplice ''apt-get install''! ;)<br />
<br />
Si creeranno dei profili di rete, delle mappe che permettano al sistema di identificare la rete nella quale si trova in modo da da poter impostare in automatico i parametri necessari.<br />
Per far ciò sarà necessario identificare un computer di riferimento all'interno delle varie reti e l'unico dato davvero “attendibile” a questo proposito è il suo MAC address. Si consiglia di prediligere, per questo compito, pc che fungano da router, gateway o dns in quanto sempre accesi e raggiungibili. In pratica il nostro notebook, al plug del cavo di rete, esplorerà il network cercando di trovare uno di questi pc di riferimento.<br />
<br />
Per ottenere il MAC address, supponendo che l'ip del pc che ci interessa sia 192.168.1.1:
<pre>
# arping -I eth0 192.168.1.1
ARPING 192.168.1.1 60 bytes from aa:bb:cc:dd:ee:ff (192.168.1.1):
index=0 time=160.043 usec
</pre>
dove '''''aa:bb:cc:dd:ee:ff''''' è il MAC address che stavamo cercando.
Raccolti i MAC address dei PC di riferimento nelle varie reti che ci interessa mappare, si preparerà "ad-hoc" il file ''/etc/network/interfaces'':
<pre>
# The loopback network interface
auto lo
iface lo inet loopback
# Network cards
auto eth0
# non essenziale in quanto gestito da ifplugd
# Avviamo la scansione delle mappe sull'interfaccia eth0
# e impostiamo la mappa di default
mapping eth0
script guessnet-ifupdown
map timeout: 10
map default nonet
map verbose:true
# DEFINIZIONE DELLE MAPPE
# I test presenti in ogni mappa servono a verificare se
# l'indirizzo interrogato è presente nella rete.
# Se l'interrogazione è positiva vengono impostati i relativi
# parametri
## CASA ##
iface home inet dhcp
test peer address 192.168.1.1 mac aa:bb:cc:dd:ee:ff
## LAVORO ##
iface lavoro inet static
address 192.168.2.11
netmask 255.255.255.0
gateway 192.168.2.34
dns-nameservers 10.109.1.9
test peer address 192.168.2.34 mac gg:hh:ii:ll:mm:nn source 192.168.2.11
## UNIVERSITA' ##
iface uni inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.29
dns-nameservers 192.168.1.1
up sh /path/di/qualche/script.sh
test peer address 192.168.1.29 mac ZZ:ZZ:ZZ:ZZ:ZZ:ZZ source 192.168.1.100
## DEFAULT ##
iface nonet inet dhcp
## SENZA CONNESSIONE (cavo di rete non inserito) ##
iface disconnected inet static
address 192.168.1.111
netmask 255.255.255.0
test missing-cable
</pre>
<br />
Riavviamo, a questo punto, i servizi:
<pre>
# /etc/init.d/ifplugd restart
# /etc/init.d/networking restart
</pre>
e il sistema è pronto.
Da questo momento in poi, quando inseriremo il cavo di rete, il sistema emetterà un avviso sonoro (beep) per notificare l'avvenuto plug e avvierà una serie di test (quelli contenuti in ''/etc/network/interfaces''). Se riconoscerà una delle reti mappate, vi si connetterà in automatico.<br />
<br />
Happy networking!
<br />
<br />
<br />
{{Suggerimento|Per favore se modifichi questa guida aggiungi nel box "NOTE" sottostante "Estesa da: mio_nome_utente", se invece l'hai semplicemente consultata, ma ne hai verificato personalmente la correttezza, aggiungi sempre nello stesso box "Verificata da: mio_nome_utente". In questo modo aiuti la comunità a tenere traccia della [http://guide.debianizzati.org/index.php/Aiuto:Contents#Evoluzione_delle_guide maturità] della guida.}}
{{Box|NOTE|Autore: [[Utente:TheNoise|~ The Noise]] 03:21, 6 Mag 2006 (EDT)<br />Estesa da: [[Utente:Pmate|pmate]] 16:50, 14 ott 2011 (CEST)
}}


----
[[Utente:TheNoise|~ The Noise]] 03:21, 6 Mag 2006 (EDT)


[[Categoria:Configurazione ethernet]]
[[Categoria:Configurazione ethernet]]
[[Categoria:Configurazione wireless]]
[[Categoria:Configurazione wireless]]
[[Categoria:Network tools]]

Versione delle 14:50, 14 ott 2011

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Capita spesso, ai possessori di notebook/netbook, di spostarsi da una rete all'altra per esigenze diverse (lavoro, studio, etc.) e di essere costretti volta per volta a reimpostare tutti i parametri per poter operare all'interno di quella rete. E' vero che esistono tool grafici che permettono di usufruire di profili diversi e di sceglierli di volta in volta, ma è anche vero che essi sono comunque applicativi che “pesano” sulle risorse di sistema e che, soprattutto, “nascondono” all'utilizzatore le procedure che mettono in atto.
Questa guida si rivolge a coloro i quali gradirebbero ottenere lo stesso risultato “sporcandosi le mani”, intervenendo direttamente dentro i file di configurazione.

ifplugd

Il pacchetto ifplugd contiene un demone che "osserva" le interfacce di rete specificate e attiva la connessione non appena rileva la presenza di un collegamento su una di esse.

Il suo uso è semplicissimo, basta semplicemente installarlo e riconfigurarlo:

# dpkg-reconfigure ifplugd

il sistema chiederà di specificare le interfacce che si vogliono monitorare. Se si posseggono più schede esse potranno essere inserite tutte, separate da spazi (ad esempio: eth0 eth1 wlan0).

Da questo momento in poi la connessione verrà automaticamente attivata secondo quanto impostato nel file /etc/network/interfaces ;-).

impostazione automatica dei parametri di rete

Come detto, l'obiettivo a cui si sta mirando è quello di automatizzare la configurazione di sistema relativamente alla rete nella quale ci si trova. Per far questo il solo ifplugd non basta ma ci si dovrà avvalere anche di altri tool che dovranno essere installati prima di procedere:

  • resolvconf (gestisce i nomi dei nameserver)
  • iputils-arping (fornisce gli strumenti necessari ad effettuare il ping per Mac-Address)
  • guessnet (script in grado di effettuare dei test per identificare la rete in cui ci si trova e selezionare da un file preparato ad hoc i parametri da utilizzare=

Il tutto è presente nei repository di Debian e quindi comodamente disponibile con un semplice apt-get install! ;)

Si creeranno dei profili di rete, delle mappe che permettano al sistema di identificare la rete nella quale si trova in modo da da poter impostare in automatico i parametri necessari.
Per far ciò sarà necessario identificare un computer di riferimento all'interno delle varie reti e l'unico dato davvero “attendibile” a questo proposito è il suo MAC address. Si consiglia di prediligere, per questo compito, pc che fungano da router, gateway o dns in quanto sempre accesi e raggiungibili. In pratica il nostro notebook, al plug del cavo di rete, esplorerà il network cercando di trovare uno di questi pc di riferimento.

Per ottenere il MAC address, supponendo che l'ip del pc che ci interessa sia 192.168.1.1:

# arping -I eth0 192.168.1.1
ARPING 192.168.1.1 60 bytes from aa:bb:cc:dd:ee:ff (192.168.1.1):
index=0 time=160.043 usec

dove aa:bb:cc:dd:ee:ff è il MAC address che stavamo cercando.

Raccolti i MAC address dei PC di riferimento nelle varie reti che ci interessa mappare, si preparerà "ad-hoc" il file /etc/network/interfaces:


# The loopback network interface
auto lo
iface lo inet loopback
 
# Network cards
auto eth0
# non essenziale in quanto gestito da ifplugd
 
# Avviamo la scansione delle mappe sull'interfaccia eth0 
# e impostiamo la mappa di default
mapping eth0
script guessnet-ifupdown
map timeout: 10
map default nonet
map verbose:true
 
# DEFINIZIONE DELLE MAPPE
# I test presenti in ogni mappa servono a verificare se 
# l'indirizzo interrogato è presente nella rete.
# Se l'interrogazione è positiva vengono impostati i relativi 
# parametri
 
## CASA ##
iface home inet dhcp
test peer address 192.168.1.1 mac aa:bb:cc:dd:ee:ff
 
## LAVORO ##
iface lavoro inet static
address 192.168.2.11
netmask 255.255.255.0
gateway 192.168.2.34
dns-nameservers 10.109.1.9
test peer address 192.168.2.34 mac gg:hh:ii:ll:mm:nn source 192.168.2.11
 
## UNIVERSITA' ##
iface uni inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.29
dns-nameservers 192.168.1.1
up sh /path/di/qualche/script.sh
test peer address 192.168.1.29 mac ZZ:ZZ:ZZ:ZZ:ZZ:ZZ source 192.168.1.100
 
## DEFAULT ##
iface nonet inet dhcp
 
## SENZA CONNESSIONE (cavo di rete non inserito) ##
iface disconnected inet static
address 192.168.1.111
netmask 255.255.255.0
test missing-cable


Riavviamo, a questo punto, i servizi:

# /etc/init.d/ifplugd restart
# /etc/init.d/networking restart

e il sistema è pronto.

Da questo momento in poi, quando inseriremo il cavo di rete, il sistema emetterà un avviso sonoro (beep) per notificare l'avvenuto plug e avvierà una serie di test (quelli contenuti in /etc/network/interfaces). Se riconoscerà una delle reti mappate, vi si connetterà in automatico.

Happy networking!


Bulb.png Suggerimento
Per favore se modifichi questa guida aggiungi nel box "NOTE" sottostante "Estesa da: mio_nome_utente", se invece l'hai semplicemente consultata, ma ne hai verificato personalmente la correttezza, aggiungi sempre nello stesso box "Verificata da: mio_nome_utente". In questo modo aiuti la comunità a tenere traccia della maturità della guida.


Info.png NOTE
Autore: ~ The Noise 03:21, 6 Mag 2006 (EDT)
Estesa da: pmate 16:50, 14 ott 2011 (CEST)