OVH Cloud OVH Cloud

Configuration automatique interface ethernet et/ou wifi

14 réponses
Avatar
Alexandre
Bonjour,

j'ai un portable et je change souvent de lieu de connexion à internet.
Comme j'en ai marre de reconfigurer manuellement /etc/network/interfaces et resolv.conf, je pense utiliser le script suivant:

/usr/share/doc/ifupdown/examples/ping-places.sh

Mais sauf erreur de ma part, les exemples donnés sont essentiellement des cas ethernet (et pas de wifi).
Donc je pensais compléter le script avec un if grep mon-essid $(iwlist scanning); then telle configuration...
mais avant de réinventer la roue, je voulais savoir quelles solutions vous aviez adoptées.

En vous remerciant de votre retour sur expérience.

Alexandre
--
---()()()----()()()----()()()--)()()(----)()()(----)()()(---
-()----()--()-()-----()----()--)(----)(-----)(-)(--)(----)(-
()----()----()()()----()()()----)()()(----)()()(----)(----)(


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

4 réponses

1 2
Avatar
Alexandre
Le 09/02 de l'annee 2008, vers 11 heures et 49 minutes, François TOURDE écrivait:
Mais je ne doute pas que tu vas mettre en ligne un de ces 4 le détail
de ta config ainsi que la façon dont tu y es arrivé, hein?



Voici ma configuration comme promis, pour le moment, je l'ai testée sur 5/6 points d'accès différents dont les 3 principaux types sont les suivants:
- un accès wifi en dhcp
- un accès ethernet en dhcp
- un accès ethernet avec ip fixe.

Mon linux: Debian Lenny, uname -r=2.6.22-3-686,

#aptitude install ifplugd whereami wireless-tools fping resolvconf
Version whereami: 0.3.34

Donc ma configuration est la suivante (les remarques sont les bienvenues):

1- /etc/network/interfaces contient juste ces deux lignes:
# The loopback network interface
auto lo
iface lo inet loopback


2- J'ai rajouté une ligne à /usr/share/whereami/testmii:
après la ligne qui contient "ifconfig $1 up" au début du script (9ème ligne chez moi):
je rajoute "sleep 3" pour que le testmii prenne bien en charge le ifconfig eth0 up


3- Voici mes fichiers /etc/whereami/detect.conf

# It is a good idea to default to somewhere... (Pas encore personnalisé)
default undocked

# Test for the presence of an ethernet connection plugged into eth0
testmii eth0 lan

# 'down' might be a location that is forced from the command line
# like "whereami down"
if down
always at undocked
always notat eth0,eth1
elif stop
# Or maybe we can't remember the exact command, so we do it twice!
# like "whereami stop" this time
always at undocked
always notat eth0,eth1
elif lan
# If the testmii at the top was successful
set INTERFACE eth0
testping 147.210.*.*,147.210.*.* ipfixe #note: toutes les adresses ip sont cachées.
testdhcp '192.168.*.*' dhcphome
testdhcp '*.*.*.*' dhcp
else
# If the testmii at the top failed
always modprobe ipw3945 w_eth1
fi

if w_eth1
# Some wireless drivers use one interface name
set INTERFACE eth1
testap scan wlan
fi

# If we have found at least some WLAN APs in the vicinity, find out
# if we can do anything with any of them
if wlan
testap wifihome wifihome,wdhcp
testap hotel hotel,wdhcp
# testap .+ wdhcp
# # And if there isn't, we will indicate that.
notat wlan,wdhcp
fi


####################################################################### /etc/whereami/whereami.conf

# # By default send all mail via our main mailserver, since we do TLS+SASL there
=any MAIL_RELAY="smtp.free.fr"
# By default we assume that the detection configured routing
=any GATEWAY=""
# By default we assume we have an unfiltered internet connection
=any PROXY="none"
=any NTPDAEMON=/etc/init.d/ntp-server
=any NTPSERVER=ntp


## You will need to install the "resolvconf" package for these to
## work, and edit the following couple of stanzas to the right
## interface names.

## This only happens if we are not at a WLAN
!wlan ifconfig eth1 down
!wlan resolvconf -d eth1

## This only happens if we are not at a LAN
!lan ifconfig eth0 down
!lan resolvconf -d eth0

## Setup wlan connections
!wlan if /bin/false; then
=any iwconfig eth1 mode managed
=any ifconfig eth1 up

# Wifi Appart / Lyon
=wifihome iwconfig eth1 essid "wifihome"
=wifihome iwconfig eth1 channel "3"
=wifihome iwconfig eth1 key "motdepasse"
=wifihome setmailrelay "smtp.free.fr"
-wifihome iwconfig eth1 key off

# Hotel hotel
=hotel iwconfig eth1 essid "hotel"
=hotel iwconfig eth1 channel "6"
=hotel setmailrelay ""

### Get IP from dhcp
=any dhclient eth1
!wlan fi


# ipfixe
=ipfixe ifconfig eth0 netmask "255.255.255.0"
=ipfixe ifconfig eth0 broadcast "147.210.*.*"
=ipfixe ifconfig eth0 "147.210.*.*"
=ipfixe route add default gw "147.210.*.*"
=ipfixe setresolver search blabbla.fr nameserver 193.*.*.* 147.210.*.*
=ipfixe setmailrelay "smtp.blabbla.fr"


# DHCP Home
=dhcphome setmailrelay "smtp.free.fr"


####################FIN################################################
--
AD

---()()()----()()()----()()()--)()()(----)()()(----)()()(---
-()----()--()-()-----()----()--)(----)(-----)(-)(--)(----)(-
()----()----()()()----()()()----)()()(----)()()(----)(----)(


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Bon, je réponds tard, mais chuis pas le seul ici, donc pas coupable :)

Le 13921ième jour après Epoch,
Alexandre écrivait:

2- J'ai rajouté une ligne à /usr/share/whereami/testmii:
après la ligne qui contient "ifconfig $1 up" au début du scrip t (9ème ligne chez moi):
je rajoute "sleep 3" pour que le testmii prenne bien en charge le
ifconfig eth0 up



faut faire gaffe à ce genre de "kluges", à toi de gérer ;)

[...]
=wifihome iwconfig eth1 essid "wifihome"
=wifihome iwconfig eth1 channel "3"
=wifihome iwconfig eth1 key "motdepasse"
=wifihome setmailrelay "smtp.free.fr"
-wifihome iwconfig eth1 key off


[...]
=hotel iwconfig eth1 essid "hotel"
=hotel iwconfig eth1 channel "6"
=hotel setmailrelay ""


[...]
=ipfixe ifconfig eth0 netmask "255.255.255.0"
=ipfixe ifconfig eth0 broadcast "147.210.*.*"
=ipfixe ifconfig eth0 "147.210.*.*"
=ipfixe route add default gw "147.210.*.*"
=ipfixe setresolver search blabbla.fr nameserver 193.*.*.* 147.210.*.*
=ipfixe setmailrelay "smtp.blabbla.fr"



J'ai l'impression que tu utilises bcp le "="... A mon avis il serait
préférable de privilégier les + et -, surtout dans le cas de s set* ...

Je n'ai aucun "=" dans ma config whereami, et ça marche plutôt bien :p
Avatar
Alexandre
Le 15/02 de l'annee 2008, vers 01 heures et 14 minutes, François TOURDE écrivait:
J'ai l'impression que tu utilises bcp le "="... A mon avis il serait
préférable de privilégier les + et -, surtout dans le cas des set* ...



oui effectivement, cela fonctionne bien avec les + et les -.

D'ailleurs, je me pose une question et je me permets de relancer ce fil même s'il est un peu vieux (est-ce en désaccord avec une éthique de la mailing liste?).

En effet, par exemple, je souhaite lancer fetchmail en user seulement sur certains points de connexion (pour des raisons de sécurité des mots de passe transférés en clair et des raisons techniques qui m'empêchent de récupérer mes mails via ce moyen sur certains points de connexion). Donc il faudrait que je lance fetchmail sur mon user uniquement dans les cas voulus. Est-ce que vous auriez une idée sans faire appel à un script externe?

je suppose un truc du genre :
=eth0maison su mon_user; fetchmail -d 600

et voici les remarques après rebootage:
1) A ne pas reproduire car cela a pour effet de loguer automatiquement le user sans entrer le password et ceci sans que le redémarrage complet se soit terminé.
2) après un ps -ef | grep fetchmail, l'application n'a pas été lancée.
3) c'est peut-être l'utilité du "=" de whereami car à chaque boot, il peut être utile de lancer un processus même si l'on reste sur le même lieu.

Je reste à la recherche de la solution et vous remercie de vos avis.

--
---()()()----()()()----()()()--)()()(----)()()(----)()()(---
-()----()--()-()-----()----()--)(----)(-----)(-)(--)(----)(-
()----()----()()()----()()()----)()()(----)()()(----)(----)(

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13943ième jour après Epoch,
Alexandre écrivait:

Le 15/02 de l'annee 2008, vers 01 heures et 14 minutes, François TOU RDE écrivait:
J'ai l'impression que tu utilises bcp le "="... A mon avis il serait
préférable de privilégier les + et -, surtout dans le cas des set* ...



oui effectivement, cela fonctionne bien avec les + et les -.

D'ailleurs, je me pose une question et je me permets de relancer ce
fil même s'il est un peu vieux (est-ce en désaccord avec une éthique
de la mailing liste?).



Pas à ma connaissance.

En effet, par exemple, je souhaite lancer fetchmail en user
seulement sur certains points de connexion (pour des raisons de
sécurité des mots de passe transférés en clair et des raisons
techniques qui m'empêchent de récupérer mes mails via ce m oyen sur
certains points de connexion). Donc il faudrait que je lance
fetchmail sur mon user uniquement dans les cas voulus. Est-ce que
vous auriez une idée sans faire appel à un script externe?



Disons que si c'est juste une question de sécurité, alors il faut
utiliser le mode ssl de fetchmail. Ce que je fais d'ailleurs.

je suppose un truc du genre :
=eth0maison su mon_user; fetchmail -d 600



J'ai utilisé les principes suivants:

- La cible "nomail" arrête exim en envoi
- La cible "hsadsl" lance fetchmail

Du coup, dans mon detect.conf, je qualifie les emplacements avec
nomail et hsadsl pour avoir les services que je veux selon où je suis.

+nomail -> arrêt de l'envoi des mails
+hsadsl -> démarrage de fetchmail et exim
-hsadsl -> arrêt de fetchmail et exim


et voici les remarques après rebootage:
1) A ne pas reproduire car cela a pour effet de loguer
automatiquement le user sans entrer le password et ceci sans que le
redémarrage complet se soit terminé.



Comment ça "loguer" automatiquement?

2) après un ps -ef | grep fetchmail, l'application n'a pas ét é
lancée.



Ou alors s'est vite arrêtée, non?
1 2