Outils pour utilisateurs

Outils du site


software:applications:tftpd-hpa:installer_serveur_tftp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
software:applications:tftpd-hpa:installer_serveur_tftp [2023/12/14 15:38] yoannsoftware:applications:tftpd-hpa:installer_serveur_tftp [2024/07/22 14:59] (Version actuelle) – [Echec de l'upload] yoann
Ligne 23: Ligne 23:
 sudo apt-get install tftpd-hpa sudo apt-get install tftpd-hpa
 </code> </code>
 +
 +<note>
 +Sur certaines distributions, à la fin de l'installation le service n'est pas correctement lancé. Voir la section 
 +</note>
  
 Pour vérifier l'état du service : Pour vérifier l'état du service :
Ligne 115: Ligne 119:
 </code> </code>
  
-Modifier le fichier de configuration :+Modifier le fichier de configuration **/etc/default/tftp-hpa**, ajouter l'option **%%--create%%** à la variable **TFTP_OPTIONS**:
 <file> <file>
 +... 
 +TFTP_OPTIONS="--secure --ipv4 --verbose --create"
 </file> </file>
  
-Modifier les droits sur le dossier racine du serveur TFTP, l'utilisateur tftp doit avoir les droits d'écriture. Si les droit ne sont pas correctment positionnés, on obtient un message 'Error code 0: Permission denied'' :+Modifier les droits sur le dossier racine du serveur TFTP, l'utilisateur tftp doit avoir les droits d'écriture. Si les droit ne sont pas correctement positionnés, on obtient un message ''Error code 0: Permission denied'' :
  
 <code  bash> <code  bash>
Ligne 135: Ligne 140:
  
 Modifier le masque associé à l'utilisateur tftp pour que les fichiers créés ne soient accessibles qu'en lecture aux utilisateurs du système (other). Modifier le masque associé à l'utilisateur tftp pour que les fichiers créés ne soient accessibles qu'en lecture aux utilisateurs du système (other).
 +
  
 ===== Pare-feu ===== ===== Pare-feu =====
  
-Il est possible de spécifier u+Il est possible de spécifier une plage de ports
 <file> <file>
 +TFTP_OPTIONS="--secure --ipv4 --verbose --create --port-range 53000:55000"
 </file> </file>
 +
 Pour pouvoir gérer correctement les connexions, le module **ip_conntrack_tftp** doit être chargé : Pour pouvoir gérer correctement les connexions, le module **ip_conntrack_tftp** doit être chargé :
  
Ligne 156: Ligne 163:
  
  
 +<file>
 +table ip ipfilter {
 +  comment "Firewall"
 +
 +  ct helper tftp-standard {
 +    type "tftp" protocol udp
 +    l3proto ip
 +  }
 +
 +  chain PRE { 
 +    type filter hook prerouting priority filter; policy accept;
 +    udp dport 69 ct helper set "tftp-standard"
 +  }
 +  
 +  chain inbound {
 +    comment "Filtrage des paquets entrants"
 +    type filter hook input priority filter; policy drop;
 +    ct state invalid counter drop
 +    
 +    ct state established,related counter accept
 +    
 +    iif "lo" counter accept comment "Accepte le trafic local sur l'interface loopback"
 +
 +    udp dport 69 counter accept
 +    ct helper "tftp" accept
 +    
 +
 +    log prefix "[FW] [REJECT] [RID=666] " counter reject comment "Rejette tout trafic entrant non explicitement autorise"
 +  }
 +
 + chain outbound {
 +    comment "Filtrage des paquets sortants"
 +    type filter hook output priority filter; policy drop;
 +    
 +    ct state established,related counter accept comment "Autorise tout trafic sortant en lien avec les connexions explicitement autorisees"
 +    
 +    log prefix "[FW] [REJECT] [RID=667] " counter reject comment "Rejette tout trafic sortant non explicitement autorise"
 +  }
 +
 +  chain forward {
 +    type filter hook forward priority filter; policy drop;
 +    log prefix "[FW] [REJECT] [RID=668] " counter reject comment "Rejette tout transfert non explicitement autorise"
 +  }
 +}
 +
 +</file>
 +
 +===== Dépannage =====
 +
 +==== Echec de démarrage du service après installation ====
 +
 +Le service ne démarre pas à la fin du processus d'installation.
 +<code bash>
 +systemctl status tftpd-hpa.service
 +</code>
 +
 +<file>
 +juil. 02 14:31:57 node-7c87 systemd[1]: Starting tftpd-hpa.service - LSB: HPA's tftp server...
 +juil. 02 14:31:57 node-7c87 tftpd-hpa[16693]:  * Starting HPA's tftpd in.tftpd
 +juil. 02 14:31:57 node-7c87 systemd[1]: tftpd-hpa.service: Control process exited, code=exited, status=71/OSERR
 +juil. 02 14:31:57 node-7c87 systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'.
 +juil. 02 14:31:57 node-7c87 systemd[1]: Failed to start tftpd-hpa.service - LSB: HPA's tftp server.
 +</file>
 +
 +Le journal indique également :
 +<code bash>
 + journalctl --priority err
 +</code>
 +
 +<file>
 +juil. 02 14:31:57 node-7c87 in.tftpd[16700]: cannot open IPv6 socket, disable IPv6: Address family not supported by protocol
 +juil. 02 14:31:57 node-7c87 in.tftpd[16700]: Cannot set nonblock flag on socket: Bad file descriptor
 +juil. 02 14:31:57 node-7c87 systemd[1]: Failed to start tftpd-hpa.service - LSB: HPA's tftp server.
 +</file>
 +
 +Modifier le fichier **''/etc/default/tftpd-hpa''** ajouter l'option **%%--ipv4%%** :
 +
 +<file>
 +TFTP_USERNAME="tftp"
 +TFTP_DIRECTORY="/srv/tftp"
 +TFTP_ADDRESS="192.168.1.10:69"
 +TFTP_OPTIONS="--secure --ipv4"
 +</file>
 +
 +
 +==== Echec de l'upload ====
 +
 +Toute tentative d'upload (copie d'un fichier sur le serveur TFTP) échoue. Les messages suivants peuvent être retournés au client :
 +
 +<file>
 +Error code 1: File not found
 +</file>
 +
 +
 +<file>
 +ERROR: transfer fail.
 +</file>
 +
 +  * Vérifier que l'utilisateur tftp a le droit d'écriture à un sous dossier de son home mais pas à son home (/srv/tftp) ;
 +  * Vérifier la présence de l'option **%%--create%%** dans la variable **''TFTP_OPTIONS''** du fichier **''/etc/default/tftpd-hpa''**.
 +
 +voir section [[software:applications:tftpd-hpa:installer_serveur_tftp#autoriser_l_upload_sur_le_serveur|Autoriser l'upload sur le serveur TFTP]]
 ===== Références ===== ===== Références =====
  
software/applications/tftpd-hpa/installer_serveur_tftp.1702568286.txt.gz · Dernière modification : 2023/12/14 15:38 de yoann