Communication réseau que dans un sense

Bonjour,

J’ai deux ordinateurs reliés entre eux par wifi avec un routeur.
Ordinateur A : debian
Ordinateur B : windows 7

Quand je fais un “ping” de A vers B ça marche bien. Par contre quand je fais un “ping” de B vers A, cela marche seulement quand je viens tout juste de faire un “ping” de A vers B.
Pour résumé, à chaque fois que je veux communiquer de B vers A je suis obligé de faire juste avant un “ping” de A vers B, ce qui n’est pas normale.
J’utilise dhcp et je n’ai pas installé de firewall.

Merci d’avance pour votre réponse.

Quand tu fais tes ‘ping’, tu utilises les IP des PC ou leur noms ?

leur IP

Regardes à tout hasard dans le parefeu de W7 si le protocole ICMP est autorisé.

Déjà faudrait savoir si ça ne le fait que pour le ping (ICMP) ou si c’est un problème plus général (toute la pile IP).

Pourrais-tu installer un serveur quelconque sur le Linux (OpenSSH, Apache, peu importe c’est juste pour tester) et essayer d’y accéder à partir du Windows dans les mêmes conditions que tu fais tes ping ?

Avec un point d’accès, tu veux dire (ou la fonction point d’accès d’un combiné routeur-point d’accès) ?

Ça pourrait être un problème de résolution ARP.
Quand ça ne marche pas, que se passe-t-il exactement ? Il y a un message d’erreur, genre “host unreachable” ou rien du tout, juste pas de réponse ? Que contiennent les caches ARP des deux machines ? Tu peux faire une capture de paquets sur les deux machines, ou au moins sur une ?

Oui, même avec le parefeu W7 désactivé j’ai le même problème.

[quote=“syam”]Déjà faudrait savoir si ça ne le fait que pour le ping (ICMP) ou si c’est un problème plus général (toute la pile IP).

Pourrais-tu installer un serveur quelconque sur le Linux (OpenSSH, Apache, peu importe c’est juste pour tester) et essayer d’y accéder à partir du Windows dans les mêmes conditions que tu fais tes ping ?[/quote]
J’ai OpenSSH et apache2 d’installé, et j’obtiens le même problème.

Je suis connecté à une livebox de chez orange.

Quand ça marche :

C:\Users\Snyfir>ping 192.168.1.10

Envoi d'une requête 'Ping'  192.168.1.10 avec 32 octets
Réponse de 192.168.1.10 : octets=32 temps=99 ms TTL=64
Réponse de 192.168.1.10 : octets=32 temps=326 ms TTL=64
Réponse de 192.168.1.10 : octets=32 temps=232 ms TTL=64
Réponse de 192.168.1.10 : octets=32 temps=53 ms TTL=64

Et quand ça marche pas :

C:\Users\Snyfir>ping 192.168.1.10

Envoi d'une requête 'Ping'  192.168.1.10 avec 32 octets de données :
Réponse de 192.168.1.122 : Impossible de joindre l'hôte de destination.
Réponse de 192.168.1.122 : Impossible de joindre l'hôte de destination.
Réponse de 192.168.1.122 : Impossible de joindre l'hôte de destination.
Réponse de 192.168.1.122 : Impossible de joindre l'hôte de destination.

comment je fais pour regarder le cache ARP ?

Sous Windows : arp -a
Sous Linux : arp -n
Mais d’après le message d’erreur, a priori c’est bien un problème ARP.
192.168.1.122 est bien l’adresse de la machine Windows ?

[quote=“PascalHambourg”]
192.168.1.122 est bien l’adresse de la machine Windows ?[/quote]
oui

Alors sur windows quand ça marche j’ai :

C:\Users\Snyfir>arp -a

Interface : 192.168.1.122 --- 0xb
  Adresse Internet      Adresse physique      Type
  192.168.1.1           7c-61-93-ab-31-34     dynamique
  192.168.1.10          70-f1-a1-f3-5a-54     dynamique
  192.168.1.255         ff-ff-ff-ff-ff-ff     statique
  224.0.0.22            01-00-5e-00-00-16     statique
  224.0.0.251           01-00-5e-00-00-fb     statique
  224.0.0.252           01-00-5e-00-00-fc     statique
  255.255.255.255       ff-ff-ff-ff-ff-ff     statique

quand ça marche pas :

C:\Users\Snyfir>arp -a

Interface : 192.168.1.122 --- 0xb
  Adresse Internet      Adresse physique      Type
  192.168.1.1           7c-61-93-ab-31-34     dynamique
  192.168.1.255         ff-ff-ff-ff-ff-ff     statique
  224.0.0.22            01-00-5e-00-00-16     statique
  224.0.0.251           01-00-5e-00-00-fb     statique
  224.0.0.252           01-00-5e-00-00-fc     statique
  239.255.255.250       01-00-5e-7f-ff-fa     statique
  255.255.255.255       ff-ff-ff-ff-ff-ff     statique

et sur linux :

  Adresse               HWAdresse             Flags Mask
  192.168.1.122         00:18:de:a5:e8:a1     C
  192.168.1.1           7c:61:93:ab:31:34     C

Sur Linux, c’est aussi quand ça ne marche pas ? (en ayant attendu que l’adresse s’efface du cache ARP auparavant ou après l’avoir effacée avec arp -d)
Il va falloir chercher pourquoi la résolution ARP depuis Windows ne marche pas, si la requête ARP arrive au Linux, si la réponse ARP est émise et arrive au Windows. D’où l’utilité de la capture de paquets.

[quote=“PascalHambourg”]Sur Linux, c’est aussi quand ça ne marche pas ? (en ayant attendu que l’adresse s’efface du cache ARP auparavant ou après l’avoir effacée avec arp -d)
Il va falloir chercher pourquoi la résolution ARP depuis Windows ne marche pas, si la requête ARP arrive au Linux, si la réponse ARP est émise et arrive au Windows. D’où l’utilité de la capture de paquets.[/quote]

Sur linux j’obtiens tout le le temps la même chose.

Ça voudrait dire que le Linux reçoit la requête ARP du Windows (puisqu’il met à jour son cache ARP) mais que la réponse ARP n’est pas reçue ou prise en compte par le Windows…

Je viens de faire quelque tests avec Wireshark. il en result que le PC avec debian ne répond pas au requête ARP qui le concerne. Est ce que sa peut être une option qui est désactivé ?

Si je comprends bien, wireshark lancé sur le PC Debian voit les requêtes ARP envoyées par le PC Windows mais pas de réponse ARP à ces requêtes ? Tu peux copier une de ces requêtes stp ?

Enfaîte wireshark est sur le pc windows (je n’ai pas d’interface graphique sur le pc linux).

Le PC windows envoi une requette ARP mais n’obtiens pas de résultat du pc linux.

Quand le pc linux envoi une requette ARP le pc windows lui répond.

Voici la requette ARP de windows :

"35","22.927119","Intel_a5:e8:a1","Broadcast","ARP","42","Who has 192.168.1.108?  Tell 192.168.1.122"

0000   ff ff ff ff ff ff 00 18 de a5 e8 a1 08 06 00 01  ................
0010   08 00 06 04 00 01 00 18 de a5 e8 a1 c0 a8 01 7a  ...............z
0020   00 00 00 00 00 00 c0 a8 01 6c                    .........l

Adresse IP de linux : 192.168.1.108
Adresse IP de windo : 192.168.1.122

D’après les messages précédents l’adresse du PC Linux n’est pas 192.168.1.10 ?
Si le PC Windows cherche a contacter une autre adresse, normal que le PC Linux ne réponde pas.

Il faudrait vraiment vérifier ce que le PC Linux reçoit et envoie. Sans interface graphique, il y a la version console de wireshark, tshark, ou tcpdump, plus léger.

sisi, c’est juste que l’adresse IP à changé entre temps.

Alors j’ai regardé avec tcpdump, et le pc windows envoi bien la requette ARP mais le pc avec linux ne la reçoit pas.
J’ai essayé sur un autre réseau wifi et j’obtiens le même problème.
Le pc avec linux est en dual boot avec windows et quand je suis sur windows je n’ai pas ce problème.

Je suis surpris, car comme expliqué plus haut je pensais que le PC recevait au moins les requêtes ARP puisque son cache ARP contient l’adresse du PC Windows. Donc aucun paquet ARP émis ou reçu par le PC Linux ? Tu as bien spécifié la bonne interface (wifi) à tcpdump ?

Je suis surpris, car comme expliqué plus haut je pensais que le PC recevait au moins les requêtes ARP puisque son cache ARP contient l’adresse du PC Windows. Donc aucun paquet ARP émis ou reçu par le PC Linux ? Tu as bien spécifié la bonne interface (wifi) à tcpdump ?[/quote]
Oui. Ca marche quand c le pc linux qui envoi la requette. Là il recoi bien la reponse arp.