J'ai regardé les questions suivantes sans succès:
J'ai essayé d'utiliser tftp-hpa, atftpd et tftp. Je suis retourné à TFTP car utiliser les autres ne faisait aucune différence.
Jusqu'à présent j'ai:
Tftp installé
Sudo apt-get install xinetd tftpd tftp
Configurez /etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
Créé le dossier/tftpboot et a exécuté ce qui suit:
Sudo chmod -R 777 /tftpboot
Sudo chown -R nobody /tftpboot
J'ai autorisé le port 69 via iptables:
Sudo iptables -A INPUT -p tcp --dport 69 -j ACCEPT
Sudo iptables -A INPUT -p udp --dport 69 -j ACCEPT
Sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:tftp
ACCEPT udp -- anywhere anywhere udp dpt:tftp
et redémarré le service:
Sudo /etc/init.d/xinetd restart
Je peux me connecter correctement en utilisant localhost (même résultat si j'utilise explicitement 127.0.0.1):
tftp localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get test
Received 21 bytes in 0.0 seconds
tftp> quit
Cependant, aucun de mes collègues ne peut y accéder à partir de leurs machines (même réseau, même masque de sous-réseau) et, surtout, je ne peux pas y accéder à partir de la carte intégrée dont j'ai besoin (câbles Ethernet connectés au même commutateur). Je suis sur Google pendant des heures et je n'ai pas encore trouvé de solution.
Le fait que cela fonctionne localement suggérerait un problème de pare-feu/port, mais le port 69 est autorisé sur iptables et je ne sais pas quoi faire d'autre.
Etant donné que vous n’avez que des règles INPUT
, ce qui signifie que vous n’acceptez que le trafic entrant du port 69, mais que le trafic sort également, vous devez donc ACCEPT
trafic sortant.
Sudo iptables -A OUTPUT -p tcp --dport 69 -j ACCEPT
Sudo iptables -A OUTPUT -p udp --dport 69 -j ACCEPT