Acesso externo ao servidor TFTP do Linux através do roteador

0

Estou usando o Ubuntu como a máquina host para minha placa Linux embarcada com o serviço tftp-hpa. Eu posso arrancar muito bem usando o bootloader u-boot enquanto passa o endereço IP local (192.168.1.10) do servidor TFTP em execução no host para a placa de destino (que tem o endereço IP 192.168.1.3). Este é o caso onde o servidor e o cliente estão atrás do roteador e na rede 192.168.1.x.

Eu quero poder exportar meu diretório além do meu roteador para a rede externa. Meu servidor TFTP está configurado (via / etc / default / tftp-hpa) da seguinte forma:

user@ubuntu:~$ cat /etc/default/tftpd-hpa

RUN_DAEMON="yes"

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/home/user/exported-nfs"

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l --secure"

Eu encaminhei a porta 69 (UDP) para o meu servidor em 192.168.1.10 dentro da configuração do roteador como mostrado aqui:

Eutambémconfiguromeuroteadorparausaroservidor(192.168.1.10)comooDMZ:

Isso funciona:

user@ubuntu:~$ tftp
tftp> trace
Packet tracing on.
tftp> connect 192.168.1.10
tftp> get /boot/uImage
sent RRQ <file=/boot/uImage, mode=netascii>
received DATA <block=1, 512 bytes>
sent ACK <block=1>
received DATA <block=2, 512 bytes>
sent ACK <block=2>
received DATA <block=3, 512 bytes>
...
sent ACK <block=4465>
received DATA <block=4466, 343 bytes>
Received 2286423 bytes in 0.5 seconds
tftp>

E isso não funciona:

user@ubuntu:~$ tftp
tftp> trace
Packet tracing on.
tftp> connect 129.196.194.210
tftp> 
tftp> get /boot/uImage
sent RRQ <file=/boot/uImage, mode=netascii>
sent RRQ <file=/boot/uImage, mode=netascii>
sent RRQ <file=/boot/uImage, mode=netascii>
sent RRQ <file=/boot/uImage, mode=netascii>
sent RRQ <file=/boot/uImage, mode=netascii>
Transfer timed out.

Eu posso com êxito o SSH (porta 22) para o meu servidor 192.168.1.10 usando o ip do roteador externo (129.196.194.210) para que meu encaminhamento de porta esteja funcionando.

user@ubuntu:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 0a:0c:c9:b1:fa:43  
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb1:da43/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:174803 errors:0 dropped:0 overruns:0 frame:0
          TX packets:155485 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:32417220 (32.4 MB)  TX bytes:94986400 (94.9 MB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:45130 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12913549 (12.9 MB)  TX bytes:12913549 (12.9 MB)

user@ubuntu:~$ ssh [email protected]
[email protected]'s password: 
Linux ubuntu 2.6.32-42-generic #96-Ubuntu SMP Wed Aug 15 18:57:09 UTC 2012 i686 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

New release 'precise' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Tue Sep 11 07:55:30 2012 from 129.196.194.210
user@ubuntu:~$ 

Mas o acesso TFTP de fora do roteador está constantemente falhando e expirando. O que estou fazendo de errado? Como posso consertar isso? Obrigado -

    
por PhilBot 11.09.2012 / 17:33

2 respostas

1

O TFTP através do NAT é muito problemático , uma vez que utiliza UDP, não TCP, para a transferência de dados. Você precisará configurar o roteador como um proxy TFTP, que a maioria dos roteadores domésticos não conseguirá fazer (mas eu sei que pfSense tem esse recurso).

    
por 13.09.2012 / 09:57
0

Você precisa do proxy tftp ou da configuração de tftp de porta única (porque no rfc, o servidor tftp deve atender em outra porta, após receber a solicitação para a porta 69). Alguns servidores tftp suportam isso, por exemplo:

  1. Abra o link
  2. Patch para tftpd (hpa) - link
por 11.09.2015 / 15:37