Re: Connexion réseau HS

Top Page

Reply to this message
Author: Olivier Allard-Jacquin
Date:  
To: ML Guilde
Subject: Re: Connexion réseau HS
    Bonjour Frédéric,

Frédéric a écrit :
> Bonjour,
>
> Ma mère a un petit soucis de connexion réseau survenu après avoir éteint et
> rallumé son ordi. La freebox (v5) marche bien (tel et TV), mais Linux
> n'arrive pas à la pinguer (network unreachable). Pourtant, tout semble
> OK :
>
> # ifconfig
> eth0      Lien encap:Ethernet  HWaddr 00:07:44:3E:ED:F8
>           inet adr:192.168.0.1  Bcast:192.168.0.255  Masque:255.255.255.0
>           adr inet6: fe80::208:74ff:fe3e:ece8/64 Scope:Lien
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:12756754 errors:0 dropped:0 overruns:103 frame:0
>           TX packets:9581622 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 lg file transmission:1000
>           RX bytes:3345597819 (3.1 GiB)  TX bytes:3017498291 (2.8 GiB)
>           Interruption:11 Adresse de base:0xec80

>
> lo        Lien encap:Boucle locale
>           inet adr:127.0.0.1  Masque:255.0.0.0
>           adr inet6: ::1/128 Scope:Hôte
>           UP LOOPBACK RUNNING  MTU:16436  Metric:1
>           RX packets:169974 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:169974 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 lg file transmission:0
>           RX bytes:66556701 (63.4 MiB)  TX bytes:66556701 (63.4 MiB)

>
> (c'est le mien, mais chez ma mère, ça donnait des choses similaires.
> L'interface est bien configurée).
>
> # route
> Table de routage IP du noyau
> Destination  Passerelle      Genmask         Indic Metric Ref    Use Iface
> 192.168.0.0  *               255.255.255.0   U     0      0        0 eth0
> link-local   0.0.0.0         255.255.255.0   U     1000   0        0 eth0
> default      192.168.0.254   0.0.0.0         UG    0      0        0 eth0

>
> C'est quoi ce 'link-local', résolu vers 169.254.0.0 ? Je n'ai pas fait
> gaffe s'il était présent lors de l'installe. Je pense que oui, car j'ai
> trouvé des liens vers des forums où d'autres personnes l'ont.


    C'est une "nouveauté", qui date depuis quelques années (5 ans ou plus,
je ne sais plus). Il y a une RFC à ce sujet, mais j'ai un peu la flemme
de chercher.. ;)


    L'idée est de fournir une connexion IP fonctionnelle même si :
- aucune adresse IP n' été déclarée par l'utilisateur (command
"ifconfig" sous Linux, panneau de configuration sous Windows, etc..)
- et/ou aucun serveur DHCP n'a répondu.


    Bref, la machine se débrouille pour avoir une connexion au réseau
local, même si il n'y a pas de configuration IP.


    Comme cela est-il possible ? C'est simple : Au démarrage, l'OS attribue
à chaque cartd réseau, et de manière aléatoire, une adresse IP dans
l'intervalle 169.254.0.0 -> 169.254.255.254. Accessoirement, il y a un
risque, environ 1/65535, que cette adresse IP décidée soit utilisée par
une autre machine du réseau local. Mais ce n'est pas trop important.


    Ainsi, toutes les machines du réseau local pourront discutées entre
elles, en utilisant le réseau 169.254.0.0/16 (ou /24 dans ton cas). Dans
le cas de l'utilisation de protocoles de découverte par broadcast, comme
ce que fait CUPS (TCP port 631) ou Samba (TCP port 445 ou 139), le
manque de configuration IP sera même transparent pour l'utilisateur.
Bref, c'est magique, ca marche tout seul.


    Maintenant, pour faire simple : Ne te prend pas la tête sur cette
adresse IP.


    Pour ce qui est du problème de ta mère, je ne pense pas que la cause
soit netfilter, car le message ne serait pas le même ("sendmsg:
Operation not permitted" et non pas "network unreachable").


    Par contre, est-ce que cela ne serait pas un problème de DNS. ? Hier
par exemple, j'ai eu pas mal de problèmes avec le Linux de bon
beau-frère et les DNS de Cegetel. Le routeur (D-link) semble avoir du
mal à fonctionner en temps que serveur DNS (il se configure en fonction
de ce que lui indique le serveur DHCP du FAI), et si je hard-code les
DNS de Cegetel dans le "/etc/resolv.conf" du Linux, de temps en temps
cela plante. En effet, Cegetel s'amuse (cela fait déjà 3 fois en 5 mois)
à changer les adresse sIP de ses DNS.


    J'ai résolu la solution en trouvant sur un forum de Cegetel une liste
d'adresse IP de DNS (une douzaines de serveurs). Mais sinon, il y a des
sites, http://www.opendns.com/ par exemple, qui fournissent des service
de DNS gratuit. Ou sinon, tu peux regarder au niveau de
http://80.247.230.136/dns.htm , il y a des listes de serveurs DNS
gratuits qui sont mis à jours.


    Attention cependant aux problèmes de DNS :
- Galère pour le SMTP : Les serveurs DNS de certains FAI, ce fut le cas
pour Wanadoo, s'amusent à ne pas renvoyer la même IP pour l'adresse
"smtp.un-nom-de-fai.com" lorsque la requête vient de son réseau, ou de
l'extérieur. Pour un FAI, c'est une manière simple de renvoyer à
"/dev/null" toutes les demandent d'envois de mail reçus en-dehors de son
réseau. Note personnelle : C'est une méthode pas très intelligente, mais
passons...


- Risque de spoofing : Si tu utilises un DNS dont tu ne peux pas
vérifier la véracité, par exemple un DNS glané n'importe où sur le net,
celui-ci peut te renvoyer volontairement sur une mauvaise adresse IP
lorsque tu surfes. Ainsi, au lieux d'aller sur www.paypal.com, tu peux
te retrouver sur un site étranger qui n'a rien à voir avec PayPal, mais
qui simule complètement le site, et donc lui fournir par erreur ton mot
de passe. L'usage fait que d'ordinaire, on fasse confiance aux DNS de
son propre FAI.

> Est-ce que ça peut être un problème hard ?


    C'est possible.


> La carte réseau est pourtant
> neuve (j'avais des ennuis avec la précédente, une veille 3COM ; j'espère
> que ce n'est pas un truc dans le PC qui les claque ?). Comment vérifier le
> hard ?


- Le /var/log/messages, ou /var/log/kernel* peuvent te donner des
informations à ce sujet
- "dmesg" peut aussi remonter des erreurs
- la commande "ifconfig", avec les lignes :

    RX packets:12756754 errors:0 dropped:0 overruns:103 frame:0
                            ^^^^^^^^
    TX packets:9581622 errors:0 dropped:0 overruns:0 carrier:0
                            ^^^^^^^^
peuvent aussi aider
- après, tu as les incontournables :
 + un "ping" sur une adresse IP fixe connue permet de savoir si au moins
l'ICMP passe. Personnellement, j'utilise un "ping" sur www.google.fr
pour faire mes tests. Une adresse IP de cette adresse est actuellement
66.249.93.104.
 + un "tcpdump -i eth0 -n -p" permet de savoir qu'est-ce qui plante dans
la connexion. Si tu vois que la résolution DNS ne donne rien, mais que
le "ping" lancé précédemment marche, alors il y a un soucis de DNS
 + si tu branches une machine en face de celle de ta mère, avec un câble
croise (à moins que les interfaces réseaux aient un mode croisé
automatique), tu peux lancer un "tcpdump", afin de voir si les paquets
passent.
 + a tout hasard, lance un "iptables -L -n -v", et vérifie que ce n'est
pas netfilter qui bloque tout. Mais au vu de ton message d'erreur, j'en
doute.


    Cordialement,


                        Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!