# Le TFTP ne passe pas les switchs

**URL:** <https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025>\
**Category:** Support Debian\
**Created:** [Mai 7, 2020, 5:54 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025 "2020-05-07T17:54:47Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 7, 2020, 5:54 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/1 "2020-05-07T17:54:47Z")

</div>

Bonjour,

Depuis quelques temps, j’ai un problème que je ne comprend pas : le protocole TFTP ne passe pas les switchs. J’ai cherché sur Internet, mais je n’ai aucun sujet dessus.  
J’ai essayé avec un switch manageable de la marque Netgear (que j’ai briqué car je pensais que le problème venait du firmware) et un switch classique de la marque TP-Link. Quand je connecte directement le serveur au client avec un câble, ça fonctionne, mais quand je met un switch au milieu, ça ne fonctionne plus.

Fait encore plus surprenant, quand je connecte un autre ordinateur en wifi (le point d’accès wifi est relié à ce switch), cet ordinateur peut faire des requêtes TFTP sans aucun problème.

J’ai changé les ports, redémarré le serveur, le client, le switch, la box, rien n’y fait.

J’ai lancé une capture de paquets avec `tcpdump`, le serveur ne reçoit pas les paquets du client (alors que le DHCP a bien fonctionné).

Edit : je viens de tester avec un autre ordinateur car j’ai soupçonné la carte réseau, ça fait exactement la même chose, ça fonctionne rarement et ça ne fonctionne pas la plupart du temps.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Mai 7, 2020, 8:08 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/2 "2020-05-07T20:08:38Z")

</div>

Il peux y avoir plusieurs causes, les premières à vérifier :

- la partie dhcp fonctionne ? ton hôte cible reçoit t’il une ip ?
- la gateway/réseaux de la partie tftp sont-elles les mêmes que l’hôte cible (question bête mais dès fois que) ?
- la conf de la patte du switch pour le wifi a t’elle une conf identique à celles testées ?
- vérifie que le port 69 udp soit accessible depuis l’hôte cible et qu’accessoirement l’udp puisse passer.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 7, 2020, 8:50 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/3 "2020-05-07T20:50:39Z")

</div>

> [@Clochette](#):
>
> la partie dhcp fonctionne ? ton hôte cible reçoit t’il une ip ?

Oui, l’hôte cible obtient une adresse IP sans problème.

> [@Clochette](#):
>
> la gateway/réseaux de la partie tftp sont-elles les mêmes que l’hôte cible (question bête mais dès fois que) ?

Je n’ai qu’un seul réseau et le serveur TFTP est aussi le routeur.

> [@Clochette](#):
>
> la conf de la patte du switch pour le wifi a t’elle une conf identique à celles testées ?

Le switch n’est pas manageable, du coup, je pense que oui, mais je n’ai pas moyen de vérifier.

> [@Clochette](#):
>
> vérifie que le port 69 udp soit accessible depuis l’hôte cible et qu’accessoirement l’udp puisse passer.

J’ai réussi à lancer un système sur l’hôte cible, j’ai fait des requêtes TFTP et ça répond sans problème.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 8, 2020, 9:01 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/4 "2020-05-08T09:01:54Z")

</div>

> [@Almtesh](#):
>
> le protocole TFTP ne passe pas les switchs.

Comment utilises-tu TFTP ? Avec quels OS et logiciels clients et serveurs, quelle commande ?  
Tu as fait une capture de trafic sur le poste client et sur le serveur en même temps ?  
Tu as essayé avec d’autres types de trafic (ping, ssh…) ?  
La résolution ARP fonctionne ?

Le protocole TFTP n’a rien de particulier tant qu’il n’y a pas de NAT ni de filtrage IP sur le chemin. Il utilise des paquets UDP en unicast dans les deux sens. Je ne vois aucune raison pour qu’il ne passe pas à travers un switch qui ne fait rien d’autre que de la commutation de trames classique.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 9, 2020, 4:04 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/5 "2020-05-09T16:04:16Z")

</div>

Woaw, trop de questions !

> [@PascalHambourg](#):
>
> Comment utilises-tu TFTP ? Avec quels OS et logiciels clients et serveurs, quelle commande ?

J’utilise TFTP pour un boot par le réseau. Le serveur TFTP est dnsmasq.

> [@PascalHambourg](#):
>
> Tu as fait une capture de trafic sur le poste client et sur le serveur en même temps ?

Non, que sur le serveur, le client n’a pas encore d’OS installé. Cependant, j’ai pu mettre un ordinateur entre le client TFTP et le switch, et les requêtes TFTP arrivent bien au switch, mais elle ne quittent pas le switch pour arriver au serveur.

> [@PascalHambourg](#):
>
> Tu as essayé avec d’autres types de trafic (ping, ssh…) ?

Oui, tout le reste semble fonctionner.

> [@PascalHambourg](#):
>
> La résolution ARP fonctionne ?

Je vois le traffic ARP normal, il semble pas y avoir de perte de paquets à ce niveau-là.

> [@PascalHambourg](#):
>
> Je ne vois aucune raison pour qu’il ne passe pas à travers un switch qui ne fait rien d’autre que de la commutation de trames classique.

Pareil, c’est pour ça que je demande ici, si quelqu’un ne verrait pas un truc que j’aurais oublié dans le concept de la « commutation de trames classique ».

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 9, 2020, 5:07 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/6 "2020-05-09T17:07:19Z")

</div>

> [@Almtesh](#):
>
> J’utilise TFTP pour un boot par le réseau.

Donc le firmware de la machine (et ses bugs).  
Et ça ?

> [@Almtesh](#):
>
> J’ai réussi à lancer un système sur l’hôte cible, j’ai fait des requêtes TFTP et ça répond sans problème.

«&nbsp;Hôte cible&nbsp;», c’est bien la même machine cliente ?

> [@Almtesh](#):
>
> j’ai pu mettre un ordinateur entre le client TFTP et le switch, et les requêtes TFTP arrivent bien au switch, mais elle ne quittent pas le switch pour arriver au serveur.

Hmm. Elles arrivent à la machine intermédiaire. Quant à savoir si elles arrivent vraiment au switch, sans port mirroring…  
Tu as comparé les paquets TFTP envoyés par le firmware et par le système, jusqu’à la couche ethernet ?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 11, 2020, 2:32 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/7 "2020-05-11T14:32:48Z")

</div>

> [@PascalHambourg](#):
>
> Donc le firmware de la machine (et ses bugs).

Bugs qui n’existe que quand un switch est à l’autre bout du câble. Je garde çe en tête parce que j’y crois moyen, comme toutes les autres hypothèses sur mon problème alors que ce sont les pistes les plus solides que j’ai.

> [@PascalHambourg](#):
>
> « Hôte cible », c’est bien la même machine cliente ?

Oui, c’est toi qui l’a appellé comme ça.

> [@PascalHambourg](#):
>
> Elles arrivent à la machine intermédiaire. Quant à savoir si elles arrivent vraiment au switch, sans port mirroring…

Le fonctionnement est le même avec ou sans la machine intermédiaire, du coup, je me dis que le problème ne vient pas de là. Quand au port mirroring, c’est dommage, j’ai briqué le switch qui aurait pu le faire.

> [@PascalHambourg](#):
>
> Tu as comparé les paquets TFTP envoyés par le firmware et par le système, jusqu’à la couche ethernet ?

Je n’ai pas compris ta question. Je n’ai pas de paquets à comparer, je n’ai que ceux envoyés par le client, n’en ai pas sur le serveur.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Mai 11, 2020, 2:48 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/8 "2020-05-11T14:48:27Z")

</div>

Si j’ai bien compris, TFTP marche depuis un OS qui tourne sur la machine. Donc je suggère de comparer les trames ethernet contenant des paquets TFTP envoyées par le firmware lors du boot et celles envoyées par l’OS.

---

<div class="post-metadata">

**Author:** ![AnonymousCoward](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f9ae1b/32.png) [@AnonymousCoward](https://www.debian-fr.org/u/AnonymousCoward)\
**Post date:** [Mai 20, 2020, 2:57 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/9 "2020-05-20T14:57:30Z")

</div>

Ce problème de TFTP et de switch attise ma curiosité et j’avoue ne pas avoir la moindre idée de ce qui pourrait provoquer de tels symptômes.

@Almtesh - Oserais-je demander si tu as progressé dans ta compréhension du problème ?

–  
AnonymousCoward

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Mai 20, 2020, 3:30 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/10 "2020-05-20T15:30:05Z")

</div>

Non, pas du tout, pour le moment, j’ai installé un disque dur dans le client TFTP pour qu’il ne démarre plus par le réseau, mais c’est un vieux disque de récupération, je ne sais pas s’il va tenir longtemps. C’est pour ça que j’aimerai trouver l’origine du problème.  
Après, j’ai acheté un nouveau PC, je ferai plus de tests quand je l’aurais reçu.

---

<div class="post-metadata">

**Author:** ![AnonymousCoward](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f9ae1b/32.png) [@AnonymousCoward](https://www.debian-fr.org/u/AnonymousCoward)\
**Post date:** [Mai 20, 2020, 4:41 UTC](https://www.debian-fr.org/t/le-tftp-ne-passe-pas-les-switchs/82025/11 "2020-05-20T16:41:16Z")

</div>

Cela ne répond pas forcément à ton besoin mais as-tu déjà essayé [iPXE](https://ipxe.org/) ?

Pour éviter un téléchargement par TFTP, tu peux générer un fichier de démarrage d’un peu plus de 1 Mo que tu colles sur une clé USB avec un coup de dd et hop !

Les fichiers peuvent être téléchargés en HTTP(S), tu peux donc avoir un script PHP qui génère dynamiquement les directives de démarrage à iPXE.

Fonctionne même pour des Raspberry Pi 3/4.

–  
AnonymousCoward
