web-dev-qa-db-fra.com

Comment puis-je rendre mon serveur TFTP visible / disponible sur mon réseau local?

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.

3
Alex Meuer

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
2
Gen