Journal configuration wifi itinérante avec debian etch

Posté par  (site web personnel) .
Étiquettes :
0
29
oct.
2005
J'ai pendant longtemps utilisé une configuration inspirée par le très grand journal http://linuxfr.org/~artefact/16564.html

Certains aspects ne me satisfaisaient pas, en effet, ce paramètrage ne permettait pas:

  • de pouvoir gérer le WPA

  • de gérer des priorités par waproamd



De plus:

  • la configuration de waproamd n'est pas vraiment simple (par rapport à la complexité du problème simple à résoudre)

  • waproamd m'obligeait à mettre mon ssid en broadcast



Mon but est d'avoir une réseau domestique connecté en WPA et qui s'adapte selon l'endroit.
Par exemple, à mon domicile, je veux qu'il lance nis et me monte un mon home par nfs.

Pour cela, j'ai dû installer: guessnet, resolvconf, wpa_supplicant, ifplugd, arping, net-tools


Au passage, j'utilise un drivers ndiswrapper, j'ai pourtant une carte rt2500 (ralink),

  • le driver rt2500 ne fonctionne pas parfaitement (impossible de décharger le module),

  • l'installation du drivers à partir du package rt2500-source (par module-assistant) échoue sur le noyau 2.6.12-kk7 (ca passe tout de même en bidouillant).

  • ce driver n'est pas géré par wpa_supplicant (il existe un mode générique wext que je n'ai pas testé).

  • Seul regret, le drivers ndiswrapper ne permet pas d'utiliser aircrack, ce qui fait le bonheur de mes voisins!



étape 1: installation de wpa_supplicant : ce service gère le roaming et le gestion de l'accès WEP et WPA

  • editer /etc/default/wpasupplicant


    • modifier ENABLED à 1

    • modifier OPTIONS selon sa config (pour moi OPTIONS="-D ndiswrapper -w -i wlan0 -c /etc/wpa_supplicant.conf")



  • editer /etc/wpasupplicant.conf (gestion des points d'accès)


    • mettre des sections network selon vos points d'accès habituels.

    • scan_ssid = 1 permet de détecter les réseaux qui ne font pas de broadcast

    • priority permet de gérer le cas où une zone vous offre plusieurs points d'accès

    • le plus simple est de s'inspirer du fichier /usr/share/doc/wpasupplicant/examples/wpa_supplicant.conf.gz avec de nombreux exemples!

    • l'outil wpa_passphrase vous permet de générer une clé à partir d'une phrase (pratique si votre point d'accès ne prend pas de phrase en entrée).




étape 2: ifplugd : ce service permet de detecter si votre carte ethernet est connectée à un hub ou si votre carte wifi est reliée à un point d'accès.

  • editer le fichier " /etc/default/ifplugd"

  • ajouter vos interfaces dans INTERFACES ou HOTPLUG_INTERFACES. Personnellement je ne met que les cartes pcmcia/ clé usb dans hotplug!



étape 3: /etc/network/interfaces

  • ne mettez pas vos interfaces ethernet et wifi en auto: elles sont gérées dorénavant par ifplugd!

  • grace à guessnet nous, allons pouvoir établir des profil par interfaces:


  • pour chaque carte, établir une section mapping avec un ligne appelant le script guessnet et d'autres paramètres optionnels

  • exemple:


    mapping wlan0
    script /usr/sbin/guessnet-ifupdown
    #map default: none-wifi
    map timeout: 3
    map verbose: true
    map debug: true
    map home-wifi none-wifi


    est une section permettant de lier ma carte wlan0 à home-wifi et none-wifi

    une autre section pour l'ethernet permet de pointer vers d'autre 'profil'


    mapping eth0
    script /usr/sbin/guessnet-ifupdown
    map default: none
    map timeout: 3
    map verbose: true
    map debug: true
    map home none disconnected


  • Ensuite il reste à définir les interfaces 'profil' : home-wifi, none-wifi home none et disconnected, j'utilise 2 moyens pour détecter le profil à utiliser:


    • test wireless essid ESSID-NAME :permet pour une carte wifi de tester si l'essid correspond

    • test peer address XX.XX.XX.XX mac XX:XX:XX:XX:XX:XX permet de détecter si une adresse ip / adress mac existe sur le reseau (arping doit etre present)



    voici l'exemple pour chez moi:



      iface home-wifi inet dhcp
      test wireless essid XXXXXXX
      up echo -e "home wireless network connected" | festival --tts -b
      up /etc/init.d/portmap restart
      up mount /home
      up /etc/init.d/nis restart
      up /etc/init.d/ntpdate restart
      up /sbin/rpc.statd
      down echo -e "home wireless network disconnected" | festival --tts -b
      down umount /home
      down /etc/init.d/nis stop
      down /etc/init.d/portmap stop



    guessnet teste si le ssid correspond et dans si cela s'avère vrai, alors il execute chaque ligne "up"!
    Ici, je lance portmap, nis et j'effectue un montage nfs. De plus, je fais parler via festival pour me prévenir des connections/deconnection! Cela est fortement pratique surtout pour le down (coupures intempestives etc.)!
    Bien sûr portmap, nis, et le montage de home ne sont pas activé au démarrage.


voila c'est fini!!!!

En espérant que mon expérience facilitera la vie à d'autres, Mathieu
  • # Astuce

    Posté par  . Évalué à 0.

    Merci pour ça je vais le tester dès que possible. Mais est-ce que ça n'aurait pas plutot sa place dans les astuces ?


    Arnaud
  • # Hé bé !

    Posté par  . Évalué à 4.

    Houla mais ca m'interesse vraiment tout ca...

    Ca te derange si apres tests, que je pressens tres concluants, je met ta doc en page wiki et la poste sur celui d'ubuntu-fr.org ?
  • # whereami

    Posté par  . Évalué à 2.

    Personne n'a pensé à citer whereami qui sert en fait à faire tout ça en un seul paquet, sans se casser trop les pieds (c'est des fichiers de confs tout de même) et en étant de plus très très puissant ?

    En gros on peut détecter ce que l'on veut (si on a telle ip et que l'adresse de broadcast est machin et que l'adresse mac de telle ip est machin, ou bien plus simplement, si je détecte tel AP), et faire ce que l'on veut avec (de se connecter, à monter ses ressources NFS etc...)

    C'est vraiment un outil génial !
    • [^] # Re: whereami

      Posté par  (site web personnel) . Évalué à 1.

      whereami gere tout cela? il gere la connection WPA?
      je suis interresé par un exemple!

      Je trouve guessnet extremement simple l'utilisation paramétrage se situe dans le fichier interfaces ... fichier que l'on édite dans tous les cas!
      • [^] # Re: whereami

        Posté par  . Évalué à 2.

        Je pense, en tout cas c'est très très performant, n'hésite pas à regarder et en plus c'est assez facile de le modifier, car écrit en bash ou en autre language interprété, donc tu peut très facilement le modifier pour ajouter des fonctionnalités (et renvoyer les patchs à l'auteur :D )
        • [^] # Re: whereami

          Posté par  (site web personnel) . Évalué à 1.

          J'ai regardé,
          Oui c'est très bien fait, oui c'est très puissant, mais c'est vraiment trop compliqué par rapport au besoin que j'ai (compliqué: relativement parlant)!

          guessnet et largement plus simple et me suffit!

          avec whereami, dans les exemples que j'ai parcouru, il faut 2 fichiers de confs supplémentaires (detect.conf et whereami.conf) ... guessnet : 0 fichiers supplémentaires (tout dans interfaces) et si jamais je veux faire quelque chose de plus complexe, et bien je fais un script et l'appelle par une ligne up ...


          bref pas convaincu, mais franchement j'aimerai bien que tu me trouves un exemple là ou whereami que guessnet ne peut pas faire, ou moins bien!
  • # NetworkManager

    Posté par  . Évalué à 1.

    Est-ce que NetworkManager de RH ne fait pas ce genre de truc ?

    http://people.redhat.com/dcbw/NetworkManager/

    Ca devrait êtr integré à Gnome à priori ( ou Ubuntu l'integrera... ).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.