[Bash] Choix de conf Wifi.(Résolu)

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

[Bash] Choix de conf Wifi.(Résolu)

Message 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 :D :D

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)).
Dernière modification par mariop31 le mer. 05 mars 2008, 19:30, modifié 1 fois.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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?
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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 ??? :roll:
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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 ??? :roll:
window manager (gnome, kde etc...)
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message par mariop31 »

tuxce a écrit : tu les montes sur les même rep?
Non.
tuxce a écrit :
mariop31 a écrit :wm kesako ??? :roll:
window manager (gnome, kde etc...)
Non plus.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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.:P :P

Par contre quand je démarre au taf, là c'est la haine grave. :twisted: :twisted:
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.:cry:

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) :?:
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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)
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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 ???
export HTTP_PROXY="http://user:mot-de-passe@ip du proxy:port/"
export FTP_PROXY="ftp://user:mot-de-passe@ip du proxy:port/"
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

ca serait mieux de vérifier en direct si les interfaces sont montées:

Code : Tout sélectionner

ifconfig
XferCommand, c'est dans le fichier /etc/pacman.conf

Code : Tout sélectionner

man pacman.conf
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message par mariop31 »

Merci beaucoup tuxce, je vérifie tout ca demain et je te tiens au courant.

Buona serra. (Bonsoir)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

tuxce a écrit :XferCommand, c'est dans le fichier /etc/pacman.conf

Code : Tout sélectionner

man pacman.conf
Je dirais même plus !
man pacman.conf
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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:
use_proxy = on
http_proxy = http://user:mot-de-passe@ip du proxy:port
ftp_proxy = ftp://user:mot-de-passe@ip du proxy:port
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.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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:

Code : Tout sélectionner

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!
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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:

Code : Tout sélectionner

route
......
Effectivement avant que je mette mon script crotte.sh en place, quand je faisais en mode console ou en terminal:

Code : Tout sélectionner

# route
Il mettait 3 plombes pour me répondre.

Alors que maintenant avec mon script la réponse à la commande

Code : Tout sélectionner

# route
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)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

pour le choix du réseau, tu peux utiliser

Code : Tout sélectionner

NET_PROFILES=(menu)
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
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message 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 ???
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message par mariop31 »

tuxce a écrit :pour le choix du réseau, tu peux utiliser

Code : Tout sélectionner

NET_PROFILES=(menu)
C'est ce que je fait.

tuxce a écrit :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
Comme je disais à Cactus je vais aller voir.
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Avatar de l’utilisateur
mariop31
archer
Messages : 133
Inscription : ven. 15 juin 2007, 12:17
Localisation : Auterive Haute-Garonne

Message 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???
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.
-+-Albert Einstein-+-
Répondre