Partage
  • Partager sur Facebook
  • Partager sur Twitter

Linux From Scratch - Configuration réseau

    11 mai 2019 à 12:12:55

    Bonjour !

    J'ai récemment construit un système Linux From Scratch (systemd), en utilisant la version Française du livre (http://fr.linuxfromscratch.org). Le système hôte est Ubuntu 19.04.

    Tout fonctionne donc correctement, le système démarre, je peux me connecter et utiliser les outils préinstallés. Je me suis donc tourné vers Beyond Linux From Scratch, pour installer d'autres outils et notamment wget. Le problème est que je me suis rendu compte que je ne savais pas configurer de réseau WiFi en ligne de commande sous Linux, tout simplement parce que je ne l'avais jamais fait... Je vous demande donc votre aide pour cette configuration.

    Je pense qu'il y a un problème dans la configuration déjà faite, ou avec ping et wget, car ping fonctionne (dans un environnement chroot, avec une connexion WiFi) lorsque j'essaye de ping 8.8.8.8, mais pas lorsque j'essaye de ping google.com. Pareil pour wget, je ne peux pas y entrer d'URL...

    Merci d'avance pour vos réponses (et dites moi, bien sûr, si quelque chose n'est pas clair) !

    -
    Edité par Dean9244 11 mai 2019 à 12:13:21

    • Partager sur Facebook
    • Partager sur Twitter
      11 mai 2019 à 22:22:38

      Bonjour,

      Si tu ping 8.8.8.8 et pas google.com, alors tu as un problème au niveau de la résolution de nom de domaine (problème de DNS).

      Je connais pas LFS, donc je ne pourrais pas te dire où regarder exactement. Généralement, tu retrouves la conf dans /etc/resolv.conf (et/ou /etc/resolvconf.conf si tu utilises openresolv). Tu peux aussi utiliser un outils comme dig pour comprendre un peu mieux l'origine du problème.

      J'utilise Arch, pour me connecter en CLI à un réseau WiFi, j'utilise wpa_supplicant combiné avec dhcpcd: très simple à gérer.

      • Partager sur Facebook
      • Partager sur Twitter
        11 mai 2019 à 23:55:42

        Merci beaucoup pour votre (ta?) réponse !

        J'arrive effectivement à ping 8.8.8.8, dans l'environnement chroot... Mais comment est-ce que je peux corriger de problème de DNS ?

        J'ai bien un fichier resolv.conf, qui comporte ça (je passe les commentaires, bien sûr)

        nameserver 127.0.0.53
        options edns0
        search home

        J'ai essayé d'installer wpa_supplicant (avec succès), ainsi que d'autres outils de ce genre, sans réellement savoir comment m'en servir...

        D'ailleurs (désolé de l'avoir oublié), la commande ifconfig dans l'environnement chroot et après avoir booté le système ne donne pas la même chose... J'ai 4 résultats en chroot, avec la partie qui gère la connexion WiFi (wlp2s0), et je n'ai que trois résultats (qui n'ont rien à voir avec les autres) lorsque je boot le système.

        • Partager sur Facebook
        • Partager sur Twitter
          12 mai 2019 à 12:08:38

          HugoNeveux a écrit:

          J'arrive effectivement à ping 8.8.8.8, dans l'environnement chroot... Mais comment est-ce que je peux corriger de problème de DNS ?

          Le problème peut venir de plusieurs point (pare-feu trop restrictif, gestionnaire de réseau mal configuré, proxy mal configuré, etc...). Tu peux utiliser dig +trace google.com pour essayer de déterminer l'origine du blocage (mais il devrait juste de donner 127.0.0.53.

          HugoNeveux a écrit:

          J'ai bien un fichier resolv.conf, qui comporte ça (je passe les commentaires, bien sûr)

          nameserver 127.0.0.53
          options edns0
          search home

          Ce fichier laisse supposer que tu utilises un proxy DNS (cache et DNSSEC avec EDNS0 probablement ??). Tu peux utiliser ss pour savoir quel est le process qui gère le proxy.

          ss -lput 

          Tu peux aussi modifier le fichier resolv.conf pour ne pas utiliser le proxy DNS mais un autre serveur DNS de ton choix, voir si ça règle le problème.

          HugoNeveux a écrit:

          J'ai essayé d'installer wpa_supplicant (avec succès), ainsi que d'autres outils de ce genre, sans réellement savoir comment m'en servir...

          Je mets un hook sur la config de dhcpcd pour qu'il utilise wpa_supplicant: https://wiki.archlinux.org/index.php/Dhcpcd#10-wpa_supplicant

          Je modifie le fichier de conf comme suit: https://wiki.archlinux.org/index.php/WPA_supplicant#Connecting_with_wpa_passphrase

          A noter qu'avec cette config, se connecter à des Hotspots WiFi gratuit (FastFood, Lieux publics, Univ, etc...) peut être parfois un peu compliqué ^^

          HugoNeveux a écrit:

          D'ailleurs (désolé de l'avoir oublié), la commande ifconfig dans l'environnement chroot et après avoir booté le système ne donne pas la même chose... J'ai 4 résultats en chroot, avec la partie qui gère la connexion WiFi (wlp2s0), et je n'ai que trois résultats (qui n'ont rien à voir avec les autres) lorsque je boot le système.


          Quand tu chroots, tu gardes la conf réseau du parent. Les noms des interfaces, c'est udev qui les déterminent (si je dis pas de bêtises). Donc ça peut changer selon les cas. Tu peux identifier une carte par l'adresse MAC ou son modèle dans tous les cas.

          Donc le mieux c'est de nous donner la sortie de ip a lorsque tu as lancé le système directement pour qu'on puisse t'aider.

          -
          Edité par KoaTao 12 mai 2019 à 12:10:42

          • Partager sur Facebook
          • Partager sur Twitter
            12 mai 2019 à 15:04:24

            Pour le DNS, j'ai trouvé une solution... Qui apparemment ne marche pas après un redémarrage. Je peux ping google.com après avoir modifié le fichier /run/systemd/resolve/resolv.conf (en chroot), et en utilisant les paramètres du système hôte. Le problème, c'est que ce fichier n'existe plus une fois que j'ai redémarré mon ordinateur...

            Pour la sortie deip a, la voici... Mais apparemment, la partie qui correspond au WiFi n'y est pas

            1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                inet 127.0.0.1/8 scope host lo
                   valid_lft forever preferred_lft forever
                inet6 ::1/128 scope host
                   valid_lft forever preferred_lft forever
            2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
                link/ether 38:d5:47:3d:32:73 brd ff:ff:ff:ff:ff:ff
            3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
                link/sit 0.0.0.0 brd 0.0.0.0



            • Partager sur Facebook
            • Partager sur Twitter
              12 mai 2019 à 15:58:02

              Le fichier resolv.conf est réécrit au démarrage. Sans connaître le gestionnaire utilisé ou le proxy DNS par exemple, ça va être difficile de t'aider sur ce point. Dis-toi qu'il existe une multitude de network managers et autres logiciels orientés réseaux. Vu que LFS est très orienté DIY je suppose, c'est toi qui choisit ce que tu installes et comment tu le configures.

              As-tu installé tous les pilotes/firmwares nécessaires au bon fonctionnement de ta carte réseau sans-fil? Tu as des erreurs au démarrages?

              Tu peux retrouver le modèle et des infos sur ta carte avec la commande lspci (ou lsusb si c'est un dongle).

              -
              Edité par KoaTao 12 mai 2019 à 16:05:25

              • Partager sur Facebook
              • Partager sur Twitter
                12 mai 2019 à 17:09:12

                Je ne sais pas exactement quel network manager j'utilise, est-ce qu'il existe un moyen de le vérifier ?

                Pour les pilotes / firmwares, est-ce que ça se configure dans le fichier .config du kernel, ou est-ce qu'il faut les installer à partir d'un autre endroit ?

                La commande lspci me donne ce résultat

                02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)

                J'ai quelque chose au démarrage, je sais pas si c'est une erreur ou même si c'est lié, mais ça s'affiche à l'endroit où je dois entrer mon login

                audit : type=1701 audit(1557672919.055.5): auid:4294967295 uid=76 gid=76 ses=4294967295 subj=kernel pid=263 comm="systemd-network" exe"/lib/systemd/systemd-networkd" sig=6 res=1

                Ça s'affiche deux fois, avec uniquement un changement dans les nombres (dis moi si il y a besoin de la deuxième ligne).

                -
                Edité par Dean9244 12 mai 2019 à 19:08:28

                • Partager sur Facebook
                • Partager sur Twitter
                  12 mai 2019 à 19:29:18

                  Bonjour,

                  Assure toi que tu as les bons firmware pour ta carte et qu'ils sont bien charger au démarage: http://linuxfromscratch.org/blfs/view/svn/postlfs/firmware.html

                  L'audit est normal. Je ne sais pas du tout ce que ça veut dire. Mais en tout cas, on sait que tu utilises systemd-network comme network manager. Donc ça aide déjà :)

                  Je suppose que tu utilises aussi systemd-resolved. C'est ce service qui écoute probablement à l'adresse 123.0.0.53 (au port 53) (ss ou netstat confirmera). Et c'est probablement ce service qui écrit sur le fichier resolv.conf. Donc c'est probablement un problème de configuration du service.

                  Ceci devrait t'aider: http://www.linuxfromscratch.org/lfs/view/systemd/chapter07/network.html

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 mai 2019 à 12:56:33

                    Merci ! Désolé pour le manque de réponses, je n'ai pas eu beaucoup de temps ces derniers jours.

                    J'ai quand même essayé d'installer les firmwares (iwlwifi), en configurant le noyau, mais rien n'y fait, je n'arrive toujours pas à voir de quoi me connecter en WiFi avec ifconfig...

                    J'ai bien suivi la partie sur le réseau, mais j'imagine que sans firmwares / drivers, ça ne peut pas marcher.

                    En utilisant dmesg |grep -i firmware, j'ai quand même deux erreurs, et je ne sais pas si elles sont en lien avec la connexion WiFi. Les firmwares qui ne peuvent pas être chargés sont i915/skl_dmc_ver1_27.bin et regulatory.db. J'ai essayé de copier ceux qui se trouvaient dans le dossier /lib/firmware du système hôte dans le dossier correspondant sur le système LFS (i195, regulatory.db, et tous les drivers avec iwlwifi dans leurs noms), mais ça ne fonctionne toujours pas.

                    Peut être que ça vient d'une erreur de configuration du kernel, mais les options relatives à iwlwifi sont toutes activées.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 mai 2019 à 10:18:48

                      Bonjour,

                      C'est fort probable que tu n'as pas lancer le daemon systemd-resolved (c'est pas un problème de wifi mais de DNS iwlwifi ne sert à rien pour ça).

                      Il est également possible que tu as fait une erreur dans la config réseau.

                      Tu utilises quoi pour gérer le réseau systemd-networkd ?

                      Que tu donnes la commande systemctl status systemd-resolved ?

                      -
                      Edité par millman 24 mai 2019 à 10:21:16

                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 mai 2019 à 16:28:07

                        En fait, l'OP a deux problème distincts:

                        - Pas d'interface réseau sans-fil avec Linux (problème à redéfinir)

                        - Pas de résolution DNS

                        Son problème de DNS semble venir de systemd-resolved:

                        Dean9244 a écrit:

                        Pour le DNS, j'ai trouvé une solution... Qui apparemment ne marche pas après un redémarrage. Je peux ping google.com après avoir modifié le fichier /run/systemd/resolve/resolv.conf (en chroot), et en utilisant les paramètres du système hôte. Le problème, c'est que ce fichier n'existe plus une fois que j'ai redémarré mon ordinateur...

                        Je ne comprends pas pourquoi l'OP chroot dans son système et pourquoi il ne boot pas directement dessus?!
                        Mais vu que je connais rien à LFS, je suppose qu'il y a une bonne raison.

                        Pour le problème de WiFi, j'avoue ne pas avoir vraiment suivit, là encore, j'ai du mal à comprendre pourquoi il chroot dans son système et ce qu'il a fait avec les firmwares.

                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 mai 2019 à 16:47:29

                          KoaTao a écrit:

                          Je ne comprends pas pourquoi l'OP chroot dans son système et pourquoi il ne boot pas directement dessus?!

                          Je n'avais pas vu l'histoire du chroot. C'est normale que cela ne marche pas alors les réseaux est géré par le système host. De plus l'installation des firmwares ne corresponde pas à ton noyau.

                          Pour configurer le réseau il faut booter sur le système LFS.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Linux From Scratch - Configuration réseau

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          • Editeur
                          • Markdown