Você pode tentar executar o tcpdump (ou wireshark) no servidor de inicialização e ver o que o cliente está solicitando. Pessoalmente, eu gosto de ver o que está acontecendo no ar, já que é verdade, verdade total e apenas verdade;) e isso me ajuda a determinar o que realmente está acontecendo.
Falando em permissões - lembre-se também das permissões do diretório. O processo tem que ter permissão de execução (x) no diretório para poder entrar no diretório (think: cd / path / x) e ler (r) a permissão para ler seu conteúdo (pense: ls / path / x). O bit de execução é uma obrigação, e a permissão de leitura para o usuário que o daemon tftpd executa também não deve prejudicar.
A seguir, você pode adicionar -vvvv
às opções dentro do arquivo /etc/default/tftpd-hpa
e reiniciar o servidor. Isso aumentará o nível de log do daemon tftpd-hpa e poderá lhe dar dicas extras quanto à raiz do problema (dê uma olhada em /var/log/messages
).
Outra idéia: tente obter o arquivo que seu cliente deseja por tftp (você obterá o que o cliente deseja ouvindo o que é executado na conexão) a partir do servidor tftp. Se você pode baixar o arquivo, então tem certeza de que o seu servidor tftp funciona, os arquivos estão lá, os caminhos estão corretos e as permissões estão corretas. Se houver algum outro problema, eles estão no lado do cliente (ou incompatibilidade de protocolo cliente-servidor).
Última coisa: eu não gosto da recomendação do HOWTO de tornar o diretório / tftpboot mundial gravável. Depois de obter a configuração de trabalho, remova a permissão de gravação do diretório. Um cliente invasor pode facilmente preencher o sistema de arquivos no qual seu diretório / tftpboot reside - não há autenticação embutida no protocolo (portanto, ftp "trivial").
Espero que a parede do texto ajude;)