Cambiare "al volo" la configurazione di rete

Lun, 20/09/2004 - 21:14

Cambiare "al volo" la configurazione di rete

Inviato da Simone 3 commenti

A cosa serve
Questa guida spiega come passare, al volo, da una configurazione di rete ad un'altra, cosa che risulta molto utile quando si utilizza la propria distribuzione SuSE su un portatile il quale, tipicamente, viene connesso alla rete dell'ufficio, quando si è a lavoro, ed a quella domestica quando si è a casa.
Il metodo, molto semplice, spegato quì può essere utilizzato comunque per passare tra un numero di configurazioni virtualmente infinito.

Come funziona
Il metodo utilizzato si basa sul fatto che, come è noto, tutta la configurazione di Linux è contenuta in dei file di testo, normalmente posizionati nella cartella /etc. Di conseguenza, anche tutte le modifiche eseguite con il programma di configurazione YaST, non fanno altro che modificare questi file. Tuttavia, spesso, utilizzaare YaST per delle modifiche alla configurazione "piccole" è molto noioso (il suo caricamento, almeno sui miei pc, risulta non proprio istantaneo) e, almeno per certe operazioni frequenti, possiamo anche cavarcela a mano, senza dover necessariamente conoscere i "misteri" del sistema operativo.
Come dicevamo, tutta la configurazione di sistema si trova sotto /etc; dando uno sguardo al manuale dell'amministratore di SuSE, scopriamo che, in particolare, la configurazione di tutti i dispositivi di rete (modem, schede di rete, wireless, ecc...) si trova in /etc/sysconfig/network, ma noi non sappiamo assolutamente quali e come modificare questi file, e non ci interessa saperlo Wink
Allora non ci serve altro che andare a casa col portatile, configurare la scheda di rete, il modem, ed il resto, e poi copiare tutta la cartella network/ da parte. Allo stesso modo, andiamo in ufficio, reimpostiamo la configurazione, e salviamo di nuovo la cartella network/, da un'altra parte. Infine, quando dovremo cambiare la comfigurazione, non ci resterà altro da fare che sovrascrivere la cartella /etc/sysconfig/network/ con una delle copie effettuate.

Come realizzarlo
Bene, vediamo passo passo come sistemare le cose in modo che l'operazione si semplice e rapida.

1. Come già detto, utilizziamo YaST per configurare i nostri dispositivi di rete secondo i parametri della nostra rete domestica. Salviamo la configurazione ed apriamo una console, mettiamoci nella nostra home (ci dovremmo essere già). Digitiamo il comando "su" per diventare superutente, digitiamo la password e cominciamo col creare la cartella net-cfgs, che conterrà le varie copie della cartella network/:

simone@linux:~> su

Password: xxxxxx

linux:/home/simone # mkdir net-cfgs

linux:/home/simone # cd net-cfgs

2. Creiamo una sottocartella per la configurazione domestica ed eseguiamo la copia della configurazione con i comandi:

linux:/home/simone/net-cfgs # mkdir network-home/
linux:/home/simone/net-cfgs # cp -r /etc/sysconfig/network/ ./network-home

e verifichiamo che la cartella network/ è stata effettivamente copiata con:

linux:/home/simone/net-cfgs # ll network-home/

totale 8
drwxr-xr-x 3 root root 72 2004-09-20 20:33 .
drwxr-xr-x 116 simone users 8088 2004-09-20 20:33 ..
drwxr-xr-x 6 root root 568 2004-09-20 20:33 network

3. Ripetiamo i passi 1. e 2. per la configurazione dell'ufficio ( e per ogni altra configurazoine che vogliamo aggiungere), avendo sempre cura di creare, al passo 2., una sotto-cartella apposita, ad esempio per l'ufficio network-office/

4. Infine, possiamo creare (nella cartella net-cfgs) uno script per attivare ogni configurazione quando necessario. Ad esempio, per ripristinare la configurazione domestica creiamo un file di testo, chiamiamolo switch-home contenente le righe:

-------------------------------------------------

#!/bin/bash

cp -r network-home/network /etc/sysconfig/

rcnetwork restart

-------------------------------------------------

e poi gli diamo l'attributo di esecuzione

linux:/home/simone/net-cfgs # chmod +x switch-home

A questo punto la cartella net-cfgs dovrebbe contenere qualcosa del genere:

linux:/home/simone/net-cfgs # ll
totale 21
drwxr-xr-x 5 root root 240 2004-09-20 20:55 .
drwxr-xr-x 116 simone users 8088 2004-09-20 20:55 ..
drwxr-xr-x 6 root root 568 2004-09-20 20:33 network-home
drwxr-xr-x 6 root root 568 2004-09-20 20:54 network-office
drwxr-xr-x 6 root root 568 2004-09-20 20:55 network-univ
-rwxr-xr-x 1 root root 14 2004-09-20 20:55 swhitch-home
-rwxr-xr-x 1 root root 14 2004-09-20 20:55 swhitch-office
-rwxr-xr-x 1 root root 14 2004-09-20 20:55 swhitch-univ

e dovrebbe essere possibile passare da una configurazione all'altra semplicemente eseguendo

linux:/home/simone/net-cfgs # ./switch-[home|office|univ]

Ovviamente per farlo, ogni volta, sarà necessario accedere come root in net-cfgs/ e digitare lo script adeguato.

Al più presto aggiungerò due righe su come creare le icone sul desktop in modo da rendere la cosa ancora più immediata!


In:



Commenti

Ritratto di AL9000
#1

Inviato da AL9000 il Ven, 08/06/2007 - 22:50.

collegamenti sul desktop

Buona idea!

Per completare il tutto e rendere le cose ancora più semplici basta creare dei collegamenti agli scriptini in modo da switchare tra una configurazione wireless e l'altra con un click.

Niente di complicato:

1)cliccare col destro del mouse sul desktop->crea->collegamento ad un'applicazione (ovviamente dare un nome al collegamento, tipo "wireless-home" o altro, nel campo dove c'è scritto il generico "collegamento ad un'applicazione")

2)cliccare sull'icona (la rotella a corona) per cambiare l'immagine. Una volta caricato l'elenco delle icone disponibili, basterà scrivere nella barra di ricerca qualcosa tipo "wireless", tanto per essere originali, e selezionare l'icona prescelta tra i risultati possibili

3)lasciare invariati i permessi e cliccare sulla linguetta "applicazione". Alla voce "comando" cliccare sfoglia, navigare fino alla cartella dov'è contenuto lo script creato con la guida di simone (quello che nel suo esempio al punto 4 è stato chiamato "switch-home")e selezionarlo

4)a questo punto nel campo "comando" sarà comparso il percorso dello scriptino. Non resta che anteporre a questo percorso il comando "kdesu" (senza virgolette,ovvio, e separandolo dal percorso con uno spazio, altrettanto ovvio) che permette di eseguire lo script con i privilegi di root.

Fatto, ripetere le operazioni per ciascuno scriptino creato e poi sarà possibile switchare tra le varie reti wireless cliccando il rispettivo collegamento creato sul desktop e immettendo la password di root

Ciao a tutti

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)



Ritratto di Mercurio
#2

Inviato da Mercurio il Sab, 09/06/2007 - 02:01.

_CM_RE: collegamenti sul desktop

C'è una soluzione ancora più "cool" che riempire il desktop di icone...

Ecco come la uso per cambiare i file di configurazione della scheda audio:
http://img139.imageshack.us/my.php?image=schermatacx2.jpg

Quanto ci vuole a programmarla? Uno script di due rige Laughing

<br />scelta=$(kdialog --combobox &quot;Seleziona scheda audio&quot; &quot;Integrata&quot; &quot;UA1-EX&quot;)<br />cp ~/&quot;.asoundrc&quot;$scelta ~/.asoundrc<br />

In pratica kdialog restituisce "Integrata" o "UA1-EX", e cp sovrascrive il file .asoundrc con .asoundrcIntegrata o .asoundrcUA1-EX a secondo della scelta.

Chi ha dimestichezza con bash può adattare facilmente quanto detto.
Consiglio vivamente di spippolare un pò con kdialog, ci sono tantissime finestre che possono tornare utili negli script... forse meriterebbe un tutorial.

Massima Zen:
Se su OpenSuSE qualcosa vuoi configulale,
il pannello di contlollo devi aplile.
(e magari sfogliare la documentazione)



Ritratto di AL9000
#3

Inviato da AL9000 il Ven, 15/06/2007 - 21:10.

DNS

un ulteriore commento,

solo per precisare che chi, come me, ha la necessità di settare anche dns diversi tra le varie reti wireless che utilizza dovrà cambiare anche il file /etc/resolv.conf

quindi quando settate le varie configurazioni wifi, copiate anche questo file, che contiene i dns che utilizzate, e mettetelo dove volete.

nell'esempio di simone, un buon posto potrebbe essere /home/simone/net-cfgs/network-home, cioè sullo stesso livello della cartella "network" che si è precedentemente copiato da /etc/sysconfig.

il tutto utilizzando sempre gli scriptini di simone ed aggiungendo semplicemente una riga prima di "rcnetwork restart":

cp /home/user/net-cfg/network-home/resolv.conf /etc

Fatto.

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)