[Risolto] Switch automatico configurazione eth

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
robertobartola
Linux 0.x
Linux 0.x
Messaggi: 9
Iscritto il: gio 15 gen 2009, 12:38
Nome Cognome: Roberto Bartola
Slackware: 12.1
Kernel: 2.6.24.5
Desktop: kde

[Risolto] Switch automatico configurazione eth

Messaggio da robertobartola »

Ciao a tutti.
Ho una situazione che vorrei risolvere e per la quale vorrei scrivere qualche script, ma mi chiedevo se per caso non esistessa gia' qualche cosa di preconfezionato.

Ecco la situazione:
- Notebook che uso in ufficio (192.168.1.*/24) in maniera wired (eth0) e che ho configurato con un indirizzo IP statico (192.168.1.222)
- Lo stesso notebook in casa (192.168.0.*/24), dove ho un router che funge da server DHCP

Vorrei che al momento dell'attivazione dei daemoni rc.d e dintorni il NB riconoscesse in quale situazione sia ed utilizzasse la corretta configurazione dei parametri di rete.
Ovvero usare due differenti rc.inet1.conf (es. rc.inet1.conf-casa; rc.inet1.conf-uffcio) e switchare tra essi.

E' chiaro che potrei configurare il router domestico ad assumere gli indirizzi in maniera compatibile con quella del mio ufficio, quindi
- indirizzo IP del client
- default gw
ma avrei comunque dei problemi con il server DNS che nel mio ufficio e' un indirizzo della LAN (differente dal gateway) mentre a casa e' il server DNS del provider.

Ho provato con 2 schede ethernet, la prima ad IP statico (ufficio), la seconda IP dinamico (casa), ma poi devo dare a mano il default gw (route add df gateway ...) in almeno una delle due situazioni.

Vorrei che il NB (che poi lancio spesso in modalita' testo) si settasse autonomamente in una delle due configurazioni in maniera autonoma da un intervento umano.

Avete qualche consiglio su qualche sw che faccia tutto cio' ?

Ciao Roberto
Ultima modifica di robertobartola il mar 10 feb 2009, 15:13, modificato 1 volta in totale.

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Switch automatico configurazione eth

Messaggio da Ansa89 »

All'avvio puoi passare al bootloader un parametro (es: lan=casa) e poi creare uno script che controlli la variabile "lan" per impostare correttamente il file "/etc/rc.d/rc.inet1.conf".
I passi sarebbero questi:
1) crei i due file di configurazione "/etc/rc.d/rc.inet1.conf-casa" e "/etc/rc.d/rc.inet1.conf-ufficio" con le impostazioni che ti servono
2) crei uno script "/etc/rc.d/rc.lan" così:

Codice: Seleziona tutto

#!/bin/bash
if [ "$lan" == "casa" ]; then
   cp /etc/rc.d/rc.inet1.conf-casa /etc/rc.d/rc.inet1.conf
elif [ "$lan" == "ufficio" ]; then
   cp /etc/rc.d/rc.inet1.conf-ufficio /etc/rc.d/rc.inet1.conf
else
   echo "ERRORE"
fi
#EOF
3) inserisci lo script dentro il file "/etc/rc.d/rc.M" prima che vengano inizializzate le schede di rete
4) modifichi il file "/etc/lilo.conf" così:

Codice: Seleziona tutto

image = /boot/tuo_kernel
  root = /dev/hda3
  label = Linux-casa
  append = "lan=casa"
  read-only
image = /boot/tuo_kernel
  root = /dev/hda3
  label = Linux-ufficio
  append = "lan=ufficio"
  read-only
5) esegui il comando "lilo" da utente root
6) al boot potrai scegliere quale kernel usare (in realtà il kernel è lo stesso, cambia il parametro per impostare la scheda di rete)

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: Switch automatico configurazione eth

Messaggio da urka58 »

Oppure usa wicd...puoi memorizzare e preimpostare un gran numero di connessioni.
Ciao

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: Switch automatico configurazione eth

Messaggio da urka58 »

@ Ansa89
Scusa, ma come fai a passare la variabile allo script ""/etc/rc.d/rc.lan"?
L'append nelle sezioni di /etc/lilo.conf viene memorizzato in /proc/cmdline e puoi richiamarlo con un semplice cat...
Dovrebbe essere un parametro passato al kernel, non valido e che il kernel ignora bellamente, quindi nessun problema.
Vuoi dire che resta come variabile globale?
Prima di apprezzare wicd io usavo uno script abbastanza simile che avevo postato qui
viewtopic.php?f=1&t=23041
Ciao

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Switch automatico configurazione eth

Messaggio da Ansa89 »

Di preciso non so come funziona (sono piuttosto niubbo sull'argomento). Però i dati empirici dicono che se fai l'append di una variabile, la puoi usare negli script d'avvio.
Non credo che la variabile resti come variabile globale (anche se non ci ho mai fatto caso).

EDIT
Ho letto la discussione che mi hai postato e ho notato che come append inserivi solo una parola (invece io faccio un'assegnazione, anche se non so fino a che punto il sistema possa capire che quella è un'assegnazione...).

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Switch automatico configurazione eth

Messaggio da targzeta »

Ansa89 ha scritto:Di preciso non so come funziona (sono piuttosto niubbo sull'argomento). Però i dati empirici dicono che se fai l'append di una variabile, la puoi usare negli script d'avvio.
Non credo che la variabile resti come variabile globale (anche se non ci ho mai fatto caso)....
I parametri non riconosciuti dal kernel fanno parte dell'ambiente del processo init, dato che init esegue tutti gli script di avvio, queste variabili sono a disposizione di tali script. Ora bisogna vedere (non sono sotto linux) come viene eseguito il processo login, infatti da login(1):

Codice: Seleziona tutto

-p      By default, login discards any previous environment.  The -p 
        option disables this behavior.
indi per cui...

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Switch automatico configurazione eth

Messaggio da Ansa89 »

Offtopic: Ok, ho capito.
Però adesso basta OT :D .

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Re: Switch automatico configurazione eth

Messaggio da urka58 »

Ansa89 ha scritto:Offtopic: Ok, ho capito.
Però adesso basta OT :D .
Non era, almeno da parte mia, ma credo anche di Spina, un tentativo di metterti alle strette...!!
Non avevo mai valutato la posssibilità di impostare una variabile all'avvio ed ero curioso di capire come ti fosse venuta l'idea.
Aveva ragione il vecchio a non voler morire, ogni giorno se ne impara una nuova.
Ciao

robertobartola
Linux 0.x
Linux 0.x
Messaggi: 9
Iscritto il: gio 15 gen 2009, 12:38
Nome Cognome: Roberto Bartola
Slackware: 12.1
Kernel: 2.6.24.5
Desktop: kde

Re: Switch automatico configurazione eth

Messaggio da robertobartola »

Grazie a tutti !
Ora ho ultimato la personalizzazione che prevede un paio di script che vengono avviati in avvio [tramite il parametro passato da lilo (thanx Ansa89)] e verificano lo stato del networking caricando dapprima la configurazione prevista dal lilo e in alternativa l'altra.

Sono un paio di script semplici e probabilmente inefficienti e con alcuni bug, ma li allego cosi' che chi vuole le possa migliorare.
Allegati
lancfg-0.0.1.tgz
Modesto pacchetto con gli script di aggiornamento della cfg di rete.
Potrebbe essere provvisto di bug.
(7.49 KiB) Scaricato 70 volte

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Switch automatico configurazione eth

Messaggio da Ansa89 »

Dovresti modificare il titolo del tuo primo post, mettendo il tag "[Risolto]" :D .
Felice di esserti stato di aiuto 8) .

Rispondi