Forum Linux.débutant configuration des interfaces réseau

Posté par  .
Étiquettes : aucune
0
17
mai
2006
Bonjour,
j'aurai quelques questions à vous poser sur la configuration des interface réseau sous linux.
Actuellement j'ai un linux (version 2.6.16) possédant 2 interfaces réseaux : eth0 et rausb0.
eth0 est ma connexion via le port ethernet et rausb est une connexion via une clé wifi.
J'ai configuré mes 2 interfaces (eth0 est configurée automatiquement par mon noyau) et je les ai activées toutes les deux (ifconfig rausb0 up).
Je sais que ma connexion via le port ethernet fonctionne bien mais je n'ai aucune idée de ma connexion wifi et j'aimerai la tester.
J'ai cependant deux contraintes : je ne peut pas désactiver ma connexion ethernet (c'est un linux embarqué et j'utilise NFS, si je l'arrête je ne peut plus faire la moindre commande), la commande ping de mon linux n'accepte pas l'option -I (i majuscule) permettant de choisir l'interface sur laquelle faire le ping.

J'ai cherché un peut partout mais je n'ai pas trouvé comment faire. D'ailleurs, j'aimerai aussi savoir comment lire et écrire via ces interfaces. Je sais comment faire pour les périphériques, mais apparemment ce n'est pas la même chose pour les interfaces réseaux car il n'y a rien de relatif à celles-ci dans le répertoire /dev.

Merci
  • # Résal

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Les deux interfaces sont peut-être toutes deux dans des ranges IP différents? Genre 192.168.x.x pour eth0 et 10.x.x.x pour le wifi. Si c'est le cas: ping le routeur correspondant au résal wifi.

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: Résal

      Posté par  . Évalué à 1.

      Le problème c'est que j'ai un seul et me routeur pour mes deux connection (en fait je veut tester si ma clé wifi marche sur ma carte).
      Cependant, ça ma donné une idée : si je fais un ping avec une autre machine sur l'adresse IP que j'ai spécifié pour mon interface réseau, cela devrai prouver que le tout fonctionne non?

      exemple :
      pour la configuration de l'interface, si je fais :
      #ifconfig rausb0 192.168.2.99
      alors si je fais avec une autre machine :
      #ping 192.168.2.99
      ca devrai marcher il me semble

      Le problème c'est que j'ai essayé, mais apparement, d'après l'activité des diodes de mon routeur, le ping passe par l'ethernet :-(
      J'ai essayé de débrancher le cable ethernet reliant ma carte à mon routeur juste avant le ping et ça bloque.

      D'ailleurs, lorsque je fais un ifconfig, cela m'affiche pour mon interface rausb0 :

      Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
      inet addr:192.168.2.99 Bcast:192.168.2.255 Mask:255.255.255.0
      ...

      Est-ce que le "Link encap:Ethernet" est correct ? Est-ce que cela ne veut pas dire que ma connexion soi-disant wifi est en fait simulée par une connexion ethernet ?
      • [^] # Re: Résal

        Posté par  . Évalué à 2.

        En meme temps que tu ping, regarde au niveau de tes trames réseaux, utilise tcpdump:
        tcpdump -i rausb0

        Si quelque chose passe, à priori c'est que c'est bon.
      • [^] # Re: Résal

        Posté par  . Évalué à 2.

        Bonjour,

        Comme les deux interfaces réseau sont sur la même plage d'adresse avec le même routeur, le test de l'interface WIFI n'est pas facile. Si la table de routage indique des routes passant par eth0, il est normal que ce soit la carte ethernet qui soit solicitée pour les réponses au ping (les paquets aller et retour peuvent prendre des chemins différents).

        Pour vérifier que l'interface Wifi fonctionne, voici en vrac quelques pistes :
        - modification de la table de routage en forçant le passage par rausb0 pour une adresse particulière de ton réseau local : tu regardes alors si les connexions s'établissent entre l'adresse 192.168.2.99 et cette adresse choisie.
        - segmentation de la plage d'adresse actuelle (192.168.2.0/24) en utilisant un masque sur plus de 24 bits (peut être un peu compliqué...)
        - désactivation de l'interface eth0 avec une réactivation automatique après un temps déterminé (avec un at ou quelque chose du genre "ifconfig eth0 down; sleep 60 ; ifconfig eth0 up"). Evidemment, ça dépend de ce qui est monté en NFS (est-ce que /sbin, /etc, /lib restent accessibles ?). Au pire des cas, est-il envisageable de récupérer la connexion réseau en rebootant ?

        Sinon, je pense qu'il est effectivement normal d'avoir "Lien encap:Ethernet" dans le résultat du ifconfig pour la carte Wifi (en tout cas c'est comme ça chez moi).

        Enfin, avant de faire ces tests, tu peux essayer de voir ce que donne comme résultat la commande iwconfig : si elle n'indique pas les bon paramètres (Mode, Essid, Cell, ...) il est inutile d'aller plus loin.

        J'espère que ma modeste contribution t'aidera à arriver à tes fins.

        JJD
        • [^] # Re: Résal

          Posté par  . Évalué à 1.

          Bonjour,

          ta suggestion de modifier la table de routage m'a donné une idée toute bête : "pingger" une addresse hors de mon réseau via mon interface wifi. J'ai donc trouvé un site web avec une adresse IP dans son URL et j'ai rajouté à ma table de routage un chemin vers cette adresse via mon interface wifi.
          Résultat : le ping à échoué. J'ai donc essayé avec l'interface ethernet et là le ping à fonctionné.

          Cela veut donc dire que c'est la configuration de mon interface wifi qui est mauvaise :-(.

          J'aurai d'auilleurs quelques question à ce propos. Dans le tutorial d'installation du driver de ma clé, il est dit de faire un insmod suivi d'un modprobe. J'aimerai savoir ce qu'apporte le modprobe vis à vis de insmod, sachant que mon driver ne dépend d'aucun autre (normalement il dépend de usbcore, mais je l'ai mis comme partie intégrante de mon noyau).
          En fait, le modprobe me pose problème car lorsque je l'exécute, il ne trouve pas le fichier contenant les dépendances entre modules (le fichier modules.dep). De plus, mon noyau ne contient pas la commande depmod, permettant de générer ce fichier il me semble (je pense que cela vient du fait que j'utilise NFS et que celui-ci me monte un partition en lecture seule).
          J'ai donc essayé de le créer à la main (j'ai fait un fichier vide), mais rien à faire, il ne le trouve toujours pas. J'ai pourtant essayé de le mettre dans les répertoire suivants :
          - /lib/modules/VERSION_DE_MON_NOYAU/
          - /lib/modules/
          - /

          Voici donc mes questions :
          - Y a-t-il une variable d'environnement (un quelque chose du style) permettant de spécifier le chemin d'accès au fichier modules.dep ?
          - Est-il possible de de configurer un noyau pour que celui-ci gère le NFS et qu'il monte un partition en lecture-écriture ? Si oui, est-ce que le compilateur va alors ajouter automatiquement la commande depmod à mon noyau ?

          Merci
          • [^] # Re: Résal

            Posté par  . Évalué à 2.

            Je me pose juste la question: si ton interface existe quand tu fais un "ifconfig -a", est-ce que ca ne veut pas dire que ton module n'est pas déjà utilisé?
            Essaye de taper la commande "lsmod" pour voir s'il est bien présent.
            • [^] # Re: Résal

              Posté par  . Évalué à 1.

              Oui, mon module est bien présent, c'est d'ailleur lui qui me crée l'interface.

              En fait, je me demandais si modprobe faisait des choses en plus par rapport à insmod, sans lequelles je ne pourrai pas configurer correctement ma connection wifi.
              D'après ce que j'ai lu, modprobe est une commande de haut niveau qui vérifie notamment les dépendances du module chargé et, le cas échéant, charge les modules nécessaires (ce que ne fais pas insmod apparemment).

              D'ailleur dans le tutorial que j'ai pu lire, il faut utiliser insmod, puis depmod et enfin modprobe. Vu que les deux commandes sont employées dans la procédure d'install, je me disais que modprobe devait faire un truc en plus.
              • [^] # Re: Résal

                Posté par  . Évalué à 1.

                Ca y est j'ai résolu mon problème.

                J'ai utilisé une nouvelle version du driver de ma clé wifi (c'est une DWL-G122 et le driver est le rt2570 pour ceux que ça interrèsse).
                Je n'ai pas utilisé le modprobe, ce qui tend à me confirmer que le modprobe ne fait "que" vérifier les dépendances du module en plus de le charger.

                Je n'ai eu qu'à (cross)compiler mon driver, le mettre dans l'arborescence de fichier de ma carte, le lancer sur celle-ci, configuerer mon interface (adresse IP et adresse IP du routeur) et finalement l'activer (ifconfig rausb0 up). Tout à l'air de marcher : le ping vers mon site web distant fonctionne, les LED clignote, la vie est belle :-)

Suivre le flux des commentaires

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