Como posso tornar meu servidor tftp visível / disponível na minha rede local?

3

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.

    
por Alex Meuer 06.07.2016 / 11:45

2 respostas

2

Como você tem apenas INPUT regras, o que significa que você só aceita tráfego de entrada da porta 69, mas também tem tráfego, o que significa que você também precisa ACCEPT de tráfego de saída.

sudo iptables -A OUTPUT -p tcp --dport 69 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 69 -j ACCEPT
    
por Gen 06.07.2016 / 12:52
-1

Além disso, você sempre pode verificar as regras ativas com

sudo iptables -L

Para verificar as portas do lado de fora, acesse o console de outra máquina e instale o nmap e use-o assim

sudo apt-get install nmap
sudo nmap -sS <ip-adress>

O nmap lhe dirá se a porta está aberta e também deve sugerir que é um serviço tftp por trás dela

    
por s1mmel 19.05.2018 / 16:33