Page 1 sur 2
[Bash] Choix de conf Wifi.(Résolu)
Publié : dim. 17 févr. 2008, 12:07
par mariop31
Bonjour.
Je viens d'installer une ARCH sur mon portable Dell D810.
Je me sert de cette machine aussi bien à la maison qu'au taf.
Du coup j'ai besoin de 2 conf différentes au niveau de mon Wifi.
Grâce au wiki
http://wiki.archlinux.fr/howto:reseau:wifi j'ai découvert l'option
NET_PROFILES=(menu)
Cela me satisfait grave
Ayant respectivement à la maison et au taf un serveur Samba, il faut que je puisse mettre en place le bon
/etc/fstab en fonction du fait que je sois à la maison ou taf.
Pour ce faire j'ai crée un petit script que j'ai appelé
/etc/rc.d/menu.sh:
Code : Tout sélectionner
#!/bin/sh
normal=`tput sgr0 `
rouge=`tput setaf 1`
vert=`tput setaf 2`
marron=`tput setaf 3`
bleuf=`tput setaf 4`
cyan=`tput setaf 5`
bleuc=`tput setaf 6`
blanc=`tput setaf 7`
echo "${rouge} Entre taf ou maison"
read rep
case $rep in
"taf" )
echo "${vert} Je passe par le paragraphe taf "
cp /etc/fstab.taf /etc/fstab
echo "${vert} Je copie le fstab "
route add -net X.X.X.X netmask 255.255.255.0 gw x.x.x.x
echo "${vert} J'ajoute la route du r�seau y.y.y.y "
;;
"maison" )
echo "${bleuf} Je passe par le paragraphe maison "
cp /etc/fstab.maison /etc/fstab
echo "${bleuf} Je copie le fstab "
;;
esac
echo "${cyan} Appuyer la touche <Entree> pour continuer..."
read touche
case $touche in
*) echo "${cyan} Reprise du script..."
;;
esac
echo "${normal} "
Dans /etc/rc.conf, j'ai rajouté:
DAEMONS=(syslog-ng network @cups menu.sh netfs crond @fam hal pacmandb @alsa stbd @bluetooth dbus ntpd portmap gdm)
Au boot la machine démarre puis affiche un menu avec le choix de ma configuration wifi, puis arrive l'exécution de mon script. Celui ci me demande "maison ou taf"
Ça fonctionne, mais j'aimerais bien optimiser.
Comment puis je faire pour donner comme argument à mon script le résultat de mon choix précédent (celui qui est lancé dans rc.conf NET_PROFILES=(menu)).
Publié : dim. 17 févr. 2008, 13:07
par tuxce
salut,
pourquoi tu n'intègres pas la définition de la route dans le profile du réseau?
sinon, la définition du profile réseau n'est rien d'autre qu'un fichier qui sera intérprété par bash, tu peux donc y mettre une commande...
sinon tu ne peux pas garder les lignes de tes 2 fstab dans un seul? ou encore mieux (enfin à mon avis), gérer les partages au niveau du wm?
Publié : dim. 17 févr. 2008, 13:49
par mariop31
tuxce a écrit :salut,
pourquoi tu n'intègres pas la définition de la route dans le profile du réseau?
Ok pour çà pas de pb.
tuxce a écrit :
sinon, la définition du profile réseau n'est rien d'autre qu'un fichier qui sera intérprété par bash, tu peux donc y mettre une commande...
Je vais essayer.
tuxce a écrit :
sinon tu ne peux pas garder les lignes de tes 2 fstab dans un seul? ou encore mieux (enfin à mon avis), gérer les partages au niveau du wm?
Non parce que je fais des montages smbfs d'une part et d'autre part ce n'est pas le même réseau.
wm kesako ???

Publié : dim. 17 févr. 2008, 14:16
par tuxce
mariop31 a écrit :
Non parce que je fais des montages smbfs d'une part et d'autre part ce n'est pas le même réseau.
tu les montes sur les même rep?
mariop31 a écrit :wm kesako ???

window manager (gnome, kde etc...)
Publié : dim. 17 févr. 2008, 14:38
par mariop31
tuxce a écrit :
tu les montes sur les même rep?
Non.
tuxce a écrit :mariop31 a écrit :wm kesako ???

window manager (gnome, kde etc...)
Non plus.
Publié : dim. 17 févr. 2008, 15:27
par mariop31
tuxce a écrit :salut,
pourquoi tu n'intègres pas la définition de la route dans le profile du réseau?
sinon, la définition du profile réseau n'est rien d'autre qu'un fichier qui sera intérprété par bash, tu peux donc y mettre une commande...
C'est fait et çà marche.
Publié : lun. 18 févr. 2008, 20:18
par mariop31
Bonsoir.
Je reviens à la charge, j'ai un drôle de pb.
Voilà:
Quand je démarre mon pc portable à la maison avec mon interface wifi, aucun pb tout est ok, la machine est très rapide et je ne rencontre aucun soucis.
Par contre quand je démarre au taf, là c'est la haine grave.
Le pc démarre correctement, j'arrive sur l'invite de gdm je rentre mon username puis mon passwd, et là ça se met à ramer grave. (Je me souviens il y a de ça un bon moment ou j'avais eu quelque chose de similaire, le pb à l'époque venait de ma conf réseau j'étais en Ubuntu)
J'ai beau chercher je ne vois ou je merde!!!
Pour info ma carte wifi semble être configuré correctement, j'arrive à rentrer sur le serveur Samba de la boîte j'arrive à sortir sur le net. Mais pour lancer une IceWeasel j'ai le temps de boire un café et de fumer un mégot.
Tant que j'y suis je n'arrive pas à utiliser yaourt ou pacman parce que je suis confronté à un proxy squid avec authentification. Si quelqu'un pouvait me donner la marche à suivre ce serait sympa. (Je sais le faire avec Debian/Ubuntu mais avec ArchLinux)
(C'est peut être là mon pb)

Publié : lun. 18 févr. 2008, 20:45
par tuxce
pour l'interface graphique, vérifie que l'interface loopback est bien montée.
pour le proxy, tu peux modifier la directive XferCommand pour indiquer à wget les paramètre user/mdp et modifier le /etc/wgetrc pour indiquer l'adresse du proxy (ou alors en definissant une variable *_proxy)
Publié : lun. 18 févr. 2008, 21:14
par mariop31
tuxce a écrit :pour l'interface graphique, vérifie que l'interface loopback est bien montée.
Je pense que c'est bon, ci joint un extrait de mon rc.conf.
#
lo="lo 127.0.0.1"
eth0="eth0 192.168.92.79 netmask 255.255.255.0 broadcast 192.168.92.255"
INTERFACES=(lo eth0 eth1)
#
Sachant eth1 est mon interface wifi.
tuxce a écrit :pour le proxy, tu peux modifier la directive XferCommand...
Comment puis-je faire pour trouver cette directive
XferCommand
tuxce a écrit :.....pour indiquer à wget les paramètre user/mdp et modifier le /etc/wgetrc pour indiquer l'adresse du proxy....
C'est bon j'ai trouvé le fichier j'essayerai ça demain.
tuxce a écrit :....(ou alors en definissant une variable *_proxy)
J'ai essayé ce matin de mettre ces deux lignes dans mon .bashrc, mais pacman ou yaourt ne fonctionnait pas. Je pense que c'est ce tu tentes de me dire ???
Publié : lun. 18 févr. 2008, 22:14
par tuxce
ca serait mieux de vérifier en direct si les interfaces sont montées:
XferCommand, c'est dans le fichier /etc/pacman.conf
Publié : lun. 18 févr. 2008, 22:25
par mariop31
Merci beaucoup tuxce, je vérifie tout ca demain et je te tiens au courant.
Buona serra. (Bonsoir)
Publié : mar. 19 févr. 2008, 00:25
par marc[i1]
tuxce a écrit :XferCommand, c'est dans le fichier /etc/pacman.conf
Je dirais même plus !
man pacman.conf
Publié : mar. 19 févr. 2008, 09:00
par mariop31
Bonjour.
En ce qui concerne pacman, c'est résolu.
Voilà ce que j'ai fait:
J'ai dévalidé la ligne suivante dans /etc/pacman.conf:
XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
Puis j'ai rajouté dans le fichier /etc/wgetrc les lignes suivantes:
Compte tenu que j'utilise squid avec une authentification je ne peux pas faire du ftp, donc il a fallu que je remplace ftp par http dans les fichiers:
/etc/pacman.d/core /etc/pacman.d/community et /etc/pacman.d/extra
Par contre en ce qui concerne mon pb de lenteur sous gnome, j'ai trouvé une soluce mais elle n'est pas très élégante mais ça fonctionne (
Du reste je ne comprends pas pourquoi, s'il y avait quelqu'un qui puisse m'expliquer ce serait sympa), voilà ce que j'ai fait.
J'ai crée un script s'appelant
crotte.sh (oui je sais c'est pas top) contenant ce qui suit:
Code : Tout sélectionner
#!/bin/bash
sudo ifconfig eth0 down ----> mon interface ethernet
sudo ifconfig eth1 down ----> mon interface wifi
sudo ifconfig eth0 up
sudo ifconfig eth1 up
### EOF ###
Je l'ai mis dans /etc/rc.d
Ce script est lancé au moment du boot dans /etc/rc.conf
DAEMONS=(syslog-ng network @cups !menu.sh netfs crond fam hal pacmandb alsa stbd bluetooth !dbus ntpd !portmap crotte.sh gdm)
Et là ça fonctionne, plus de pb de lenteurs.
Publié : mar. 19 févr. 2008, 11:15
par tuxce
toujours pas de soluce, mais une hypothèse, je suppose que meme si les 2 interfaces sont montées, il n'y en a qu'une seule de branchée physiquement...
si c'est le cas, c'est peut etre un souci au niveau de la route:
eth0 doit etre placée en premier dans l'ordre de la route, ce qui doit faire ralentir la résolution des adresses vu qu'elle n'est pas branchée (supposition).
maintenant, c'est bizarre que gnome n'utilise pas exclusivement lo!
Publié : mar. 19 févr. 2008, 19:46
par mariop31
tuxce a écrit :toujours pas de soluce, mais une hypothèse, je suppose que meme si les 2 interfaces sont montées, il n'y en a qu'une seule de branchée physiquement...
si c'est le cas, c'est peut etre un souci au niveau de la route:
......
Effectivement avant que je mette mon script crotte.sh en place, quand je faisais en mode console ou en terminal:
Il mettait 3 plombes pour me répondre.
Alors que maintenant avec mon script la réponse à la commande
est immédiate.
tuxce a écrit :.....eth0 doit etre placée en premier dans l'ordre de la route, ce qui doit faire ralentir la résolution des adresses vu qu'elle n'est pas branchée (supposition).
maintenant, c'est bizarre que gnome n'utilise pas exclusivement lo!
Lundi matin quand j'ai fait mes essais l'interface ethernet était branchée et active ainsi que l'interface wifi.
Ci joint un extrait de mon fichier /etc/rc.conf:
#
# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
HOSTNAME="arch_laptop"
#
# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available
# interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# - prefix an entry in INTERFACES with a ! to disable it
# - no hyphens in your interface names - Bash doesn't like it
#
# Note: to use DHCP, set your interface to be "dhcp" (eth0="dhcp")
#
lo="lo 127.0.0.1"
eth0="eth0 192.168.92.79 netmask 255.255.255.0 broadcast 192.168.92.255"
INTERFACES=(lo eth0 eth1)
lo (loopback) eth0 (interface ethernet) eth1 (interface wifi)
#
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
# - prefix an entry in ROUTES with a ! to disable it
#
gateway="default gw 192.168.92.246"
ROUTES=(!gateway)
#
# Enable these network profiles at boot-up. These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
# - set to 'menu' to present a menu during boot-up (dialog package required)
# - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network-profiles
#
NET_PROFILES=(menu)
Et actuellement que eth0 soit branchée ou pas c'est ok (toujours avec mon crotte.sh).
Je dois dire que j'ai monté la
ArchLinux sur mon pc portable à la maison. D'abord avec l'interface ethernet puis j'ai fini avec l'interface wifi. C'était samedi 16 février à ce moment aucun souci, j'ai essayé le pc portable que lundi 18 février au taf et c'est là que j'ai rencontré mon pb.
La distro précédente était une
Debian ETCH avec
guessnet comme appli pour faire une connexion wifi itinérante, aucun soucis tout était OK.
Un peu zarbi ce pb non??? Surtout que je ne vois pas de cause à effet, si ce n'est que le pb vient de la conf réseau. (Grâce à un peu d'expérience linux)
Publié : mar. 19 févr. 2008, 20:34
par tuxce
pour le choix du réseau, tu peux utiliser
ou jeter un coup d'oeil à ce post:
http://forums.archlinux.fr/topic1295.html
ou encore utiliser un utilitaire comme wicd:
http://wiki.archlinux.fr/howto:reseau:wicd
Publié : mer. 20 févr. 2008, 10:41
par Cactus
wicd est génial, il faut le tester !
Sinon, je trouve la syntaxe de ton rc.conf curieuse :
- pas de ligne définissant les param réseau de eth1 (à moins que tu n'ailles chercher un network-profile)
- je ne comprends pas la ligne "l0 (loopback) eth0........" : ça ne crée pas un warning ou une erreur de syntaxe ???
Publié : jeu. 21 févr. 2008, 07:23
par mariop31
Cactus a écrit :wicd est génial, il faut le tester !...
Ben je vais aller voir.
Cactus a écrit :...Sinon, je trouve la syntaxe de ton rc.conf curieuse :
- pas de ligne définissant les param réseau de eth1 (à moins que tu n'ailles chercher un network-profile)....
En effet eth1 est pris en compte dans un fichier dans /etc/network-profiles/
Cactus a écrit :.....- je ne comprends pas la ligne "l0 (loopback) eth0........" : ça ne crée pas un warning ou une erreur de syntaxe ???
Dans le fichier qui dans le post c'est juste pour expliquer mes différentes interfaces. Dans le fichier réel ce n'est pas écrit comme ça.
Publié : jeu. 21 févr. 2008, 07:25
par mariop31
tuxce a écrit :pour le choix du réseau, tu peux utiliser
C'est ce que je fait.
Comme je disais à
Cactus je vais aller voir.
Publié : ven. 22 févr. 2008, 13:15
par mariop31
Je suis en train de me battre avec
wicd. Ça ne fonctionne pas chez moi ou bien alors je n'y arrive pas. Il me fait penser un peu à
guessnet que j'avais installé avant sur la
ETCH sur ce même portable, à la différence que çà a fonctionné de suite.
Je lis un max d'infos sur
wicd et il semble que cette application aime bien dhcp. En ce qui me concerne je suis un farouche anti dhcp. Comment faire pour dire
wicd que je ne veux pas de dhcp??
J'ai également un pb de compréhension en ce qui concerne l'ordre des
daemons dans le rc.conf.
Ci joint un extrait de mon /etc/rc.conf:
DAEMONS=(syslog-ng @alsa !network @cups fam dbus hal wicd netfs crond pacmandb stbd wicd bluetooth ntpd gdm)
D'après vous est ce que mon /etc/rc.conf est correct???