Eu analisei as seguintes perguntas sem sucesso:
Eu tentei usar tftp-hpa, atftpd e tftp. Eu voltei a tftp como usar os outros não fez diferença.
Até agora eu tenho:
Instalado o tftp
sudo apt-get install xinetd tftpd tftp
Configure o /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
}
Criei a pasta / tftpboot e executei o seguinte:
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
Eu permiti a porta 69 através do 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
e reiniciou o serviço:
sudo /etc/init.d/xinetd restart
Eu posso conectar bem usando localhost (mesmo resultado se eu explicitamente usar 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
No entanto, nenhum dos meus colegas pode acessá-lo de suas máquinas (mesma rede, mesma máscara de sub-rede) e, o mais importante, não consigo acessá-lo da placa embarcada que eu preciso (cabos ethernet conectados ao mesmo switch ).
Eu estive pesquisando por horas e não encontrei uma correção ainda.
O fato de ele funcionar localmente sugere um problema de firewall / porta, mas a porta 69 é permitida no iptables e não tenho certeza do que fazer.