Forum Linux.gentoo dhcpcd inefficace au boot

Posté par  .
Étiquettes : aucune
0
22
août
2009
Bonjour,

Une fois mon ordi démarré, je suis obligé de faire la manip suivante (en root of course) avant d'avoir accès au réseau (et donc internet):


killall dhcpcd
dhcpcd eth0


Au démarrage, l'initialisation de eth0 et le lancement de dhcpcd eth0 (affectation de l'adresse IP correcte) a l'air de se passer normalement.

Avez-vous une idée, je ne sais pas par quoi commencer?

config: Powerbook G4 (ppc) sous gentoo

Merci d'avance
  • # wifi activé juste apres

    Posté par  . Évalué à 2.

    tu n'aurais pas le wifi qui se lance juste apres eth0 ?

    et qui casserait les routes par defaut recuperer par le dhcp ?

    un petit
    ifconfig
    route -n

    devrait te dire ce qui ne va pas apres la mise en place du dhcpd au premier passage (AVANT que tu fasses le killall)
    • [^] # Re: wifi activé juste apres

      Posté par  . Évalué à 1.

      Merci pour ta réponse mais je n'ai pas encore de wifi.

      Voici les résultats des commandes:


      ifconfig
      eth0 Link encap:Ethernet HWaddr 00:03:93:00:E3:F8
      inet addr:10.0.0.3 Bcast:10.0.0.255 Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:3 errors:0 dropped:0 overruns:0 frame:0
      TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:1252 (1.2 Kb) TX bytes:4781 (4.6 Kb)
      Interrupt:41 Base address:0x2800

      lo Link encap:Local Loopback
      inet addr:127.0.0.1 Mask:255.0.0.0
      UP LOOPBACK RUNNING MTU:16436 Metric:1
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


      L'adresse IP obtenue est bien celle prévue par le routeur pour cette machine


      route -n
      Kernel IP routing table
      Destination Gateway Genmask Flags Metric Ref Use Iface
      10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
      127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
      0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
      • [^] # Re: wifi activé juste apres

        Posté par  . Évalué à 1.

        Pour info, les résultats de ifconfig et route -n sont identiques avant et après le 2ème lancement de dhcpcd eth0
        • [^] # Re: wifi activé juste apres

          Posté par  . Évalué à 2.

          bizarre, tout semble au point de ce coté.

          apres le demarrage, et avant de faire le killall

          arrives-tu à pinguer ta passerelle (10.0.0.1) ?
          arrives-tu à pinguer google.com par son nom (ping google.com) ?
          arrives-tu à pinguer google.com par son IP (ping 74.125.45.100) ?

          que contient le fichier /etc/resolv.conf ?
          • [^] # Re: wifi activé juste apres

            Posté par  . Évalué à 1.

            ping 10.0.0.1 OK
            ping google.com KO
            ping 74.125.45.100 OK

            Voici le fichier resolv.conf

            # Generated by dhcpcd from eth0
            # /etc/resolv.conf.head can replace this line
            nameserver 10.0.0.1
            # /etc/resolv.conf.tail can replace this line
            • [^] # Re: wifi activé juste apres

              Posté par  . Évalué à 3.

              donc c'est ta passerelle qui fait aussi le DNS (d'apres le dhcp au prmeier lancement)

              que contient le /etc/resolv.conf
              APRES le killall et le lancement de dhcpd eth0 ?
              • [^] # Re: wifi activé juste apres

                Posté par  . Évalué à 1.

                Manque de rigueur dans ma réponse précédente...

                Voici le fichier resolv.conf AVANT
                # Generated by dhcpcd from eth0
                # /etc/resolv.conf.head can replace this line
                # /etc/resolv.conf.tail can replace this line

                et voici le même fichier APRES
                # Generated by dhcpcd from eth0
                # /etc/resolv.conf.head can replace this line
                nameserver 10.0.0.1
                # /etc/resolv.conf.tail can replace this line
                • [^] # Re: wifi activé juste apres

                  Posté par  . Évalué à 1.

                  Est-il possible qu'au démarrage lors du lancement de dhcpcd eth0, le DNS ne soit pas encore défini et de ce fait, dhcpcd ne l'écrit pas dans le fichier resolv.conf?

                  Intuition:
                  au démarrage, il y a un démon avahi-dnsconfd qui est lancé mais après le lancement de dhcpcd eth0. Ce peut-il que ce soit ça le problème? Et dans ce cas comment faire pour que son lancement intervienne avant celui de dhcpcd?
                  • [^] # Re: wifi activé juste apres

                    Posté par  . Évalué à 2.

                    Je pense que tu as trouvé le coupable avec avahi-dnsconfd. Désactive-le si tu n'en as pas besoin.
                    • [^] # Re: wifi activé juste apres

                      Posté par  . Évalué à 1.

                      Je ne pense pas qu'il faille le désactiver mais plutot faire en sorte qu'il s'exécute avant le lancement de dhcpcd.

                      Le problème est que dhcpcd semble être lancé automatiquement par le script net.eth0 qui initialise également l'interface eth0. En supposant que le démon avahi-dnsconfd nécessite que eth0 soit préalablement initialisé, alors il semble compliqué de lancer avahi-dnsconfd avant dhcpcd.

                      Je ne vois pas solution à moins de modifier le script net.eth0 ou effectivement de ne plus utiliser avahi-dnsconfd.

                      Le problème s'est résolu en ajoutant nameserver 10.0.0.1 dans le fichier resolv.conf.head. Ce n'est certes pas forcément une solution très propre mais elle a le mérite de fonctionner.
                      • [^] # Re: wifi activé juste apres

                        Posté par  . Évalué à 2.

                        Le truc c'est que j'ai l'impression que avahi-dnsconfd "prend le contrôle" du /etc/resolv.conf, un peu comme le fait NetworkManager : si tu essayes d'écrire "à la main" dedans, bien, mais ce démon peut d'un moment à un autre tout te virer.

                        Après, il faut voir l'intérêt de ce démon : avahi c'est bien pour pas mal de chose, mais pour la définition des DNS ... (quoique, ils disent que c'est sympa pour les réseaux IPv6 autoconfigurés, et en effet pour l'instant il n'existe pas d'implém client rdnss et donc sur un réseau IPv6-only, ce démon pourrait être utile).
                        • [^] # Re: wifi activé juste apres

                          Posté par  . Évalué à 1.

                          Dans ce cas, tu me conseilles de désactiver avahi-dnsconfd et d'utiliser un fichier resolv.conf modifié manuellement? Ou bien d'utiliser un autre service DNS et lequel?
                          • [^] # Re: wifi activé juste apres

                            Posté par  . Évalué à 2.

                            desactiver avahi-dnsconfd

                            du coup le remplissage du etc/resolv.conf devrait se faire par le dhcp
                            et tu devrais avoir 2 fois la ligne
                            nameserver 10.0.0.1

                            1 fois par le /etc/resolv.conf.head precedemment positionné
                            1 fois par le dhcp
                            • [^] # Re: wifi activé juste apres

                              Posté par  . Évalué à 1.

                              Manip effectuée. Tout fonctionne comme tu l'as prévu. J'ai donc supprimé le /etc/resolv.conf.head qui ne sert plus à rien.

                              Merci pour tout.
                • [^] # Re: wifi activé juste apres

                  Posté par  . Évalué à 2.

                  donc visiblement au demarrage la machine n'arrive pas à recuperer la valeur du serveur DNS

                  il semblerait que tu puisse le forcer
                  en mettant la ligne qui va bien dans /etc/resolv.conf.head

                  sinon tu peux essayer de voir sur les forum gentoo si ce n'est pas un souci connu
                  voire desactiver les services que tu penses fautif (avahi par exemple)
                  • [^] # Re: wifi activé juste apres

                    Posté par  . Évalué à 1.

                    La solution de mettre nameserver 10.0.0.1 dans /etc/resolv.conf.head fonctionne.

                    Je te remercie pour le temps que tu m'as consacré.
                    • [^] # Re: wifi activé juste apres

                      Posté par  . Évalué à 3.

                      ca depanne

                      mais ca ne resoud pas le probleme que le resolv.conf n'est pas remplit par le premier appel à dhcpd

                      et tu perds l'interet du dhcp,
                      enfin si ca te va comme ca ;)

Suivre le flux des commentaires

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