Questa guida permette di avere molte configurazioni di rete disponibili e selezionabili al boot o in qualsiasi momento, senza dover perdere troppo tempo. Farò riferimento a Gentoo installata su PPC.
* app-admin/sudo
Latest version available: 1.6.7_p5-r2
Latest version installed: 1.6.7_p5-r2
Size of downloaded files: 341 kB
Homepage: http://www.sudo.ws/
Description: Allows certain users/groups to run commands as root
License: Sudo
* app-admin/quickswitch
Latest version available: 1.05
Latest version installed: 1.05
Size of downloaded files: 19 kB
Homepage: http://quickswitch.sf.net
Description: Utility to switch network profiles on the fly
License: GPL-2
Per eseguire lo script in GTK per la selezione della configurazione è anche necessario
* gnome-extra/zenity
Latest version available: 2.8.1
Latest version installed: 2.8.1
Size of downloaded files: 713 kB
Homepage: http://www.gnome.org/
Description: commandline dialog tool for gnome
License: LGPL-2
Copiare il file di configurazione di esempio /etc/quickswitch/switchto.conf.sample switchto.conf
$ cp /etc/quickswitch/switchto.conf.sample /etc/quickswitch/switchto.conf.sample
in alcune distribuzioni potrebbe variare la path del file di configurazione
Il file di configurazione è estremamente semplice e ben commentato, comunque per aggiungere un esempio riporto il mio file di configurazione
# The global configuration section. # --------------------------------- [config] device=eth0 # Path to save last good known configuration... servicefilename=/etc/quickswitch/switchto.last # DHCP command (default) # # Add a -R to not overwrite /etc/resolv.conf. Add a # '-h hostname' to specify a hostname (Some ISPs need this). dhcpconfig=/sbin/dhcpcd -n # # Kill dhcpcd client. dhcpkill=/sbin/dhcpcd -k [files] #questa sezione serve a sostituire dei file in automatico al cambio dei profili #in questo esempio non viene usata samba=/etc/smb.conf [Abisso] description=Casa address=192.168.1.8 netmask=255.255.255.0 hostname=mekare FQHostname=mekare.abisso.no-ip.org gateway=192.168.1.1 domain=abisso.no-ip.org search=abisso.no-ip.org dns1=192.168.1.2 [Auto] description=DHCP automatic config address=dhcp hostname=mekare
Ci sono due configurazioni definite Abisso e Auto la prima è statica e la seconda usa il DHCP per ottenere i parametri gswitchto gswitchto è uno script che ho trovato su internet e modificato in modo che, con l’ausilio di sudo, possa essere usato da utenti non root senza bisogno di password (ovviamente questi utenti dovranno avere il permesso di farlo)
Purtroppo non ricordo il sito da cui ho preso l’originale nè il nome dell’autore
Per installarlo, scaricatelo e copiatelo sotto /usr/local/bin
$ cp gswitchto /usr/local/bin/ $ chmod a+x /urs/local/bin/gswitchto
Per esaustività supponiamo di voler dare al gruppo netmad e all’utente nolith il permesso di cambiare le impostazioni di rete Prima di tutto troviamo la path di switchto
$ which switchto /usr/bin/switchto
Benissimo, ora passiamo ad editare la configurazione di sudo, utilizziamo il comando visudo e aggiungiamo alla fine
#Allow to switch network nolith ALL= NOPASSWD: /usr/bin/switchto %netmad ALL = NOPASSWD: /usr/bin/switchto
Se avete problemi con visudo, utilizza la stessa sintassi di vim, quindi premete i scrivete il testo esc :wq
Adesso i membri del gruppo netmad e l’utente nolith possono eseguire sudo switchto tutti_i_parametri_che_vuoi con i permessi di root senza digitare alcuna password.
Per un utilizzo dettagliato rimando al man e alla homepage però vorrei far presente una features molto interessante
Aggiungento al kernel il parametro SWITCHTO=nome_del_profilo ed invocando switchto -s all’avvio (ad esempio in rc.local) si può attivare direttamente il profilo specificato con il kernel e in caso non sia stato specificato viene attivato l’ultimo profilo usato.
/usr/local/bin/gswitchto è uno script che permette di visualizzare la lista delle configurazioni disponibili e selezionarne una, consiglio di inserirsela nel pannello di Gnome per cambiare al volo la config.
Presto sarà disponibile la guida per aggiungere ifupd a questo meccanismo....