IP : Trivial File Transfer Protocol (TFTP)

Configurando o TFTP em plataformas do NMS

18 Junho 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (8 Abril 2016) | Feedback


Índice


Introdução

O TFTP (Protocolo de transferência de arquivo trivial) é usado para transferir arquivos de dispositivos de rede e para dispositivos de rede.

Pré-requisitos

Requisitos

Os leitores deste documento devem ser usuários UNIX avançados que tenham acesso à conta-raiz UNIX e à ferramenta SMIT (System Management Interface) ou SAM (System Administration Manager).

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

  • IBM AIX 4.2 ou IBM AIX 4.3

  • HP-UX 10.20 ou HP-UX 11.0

  • Sun Solaris 2.6 ou Solaris 2.8

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Procedimento para AIX

/etc/inetd.conf - smit

Para acessar os serviços TFTP a partir do menu de acesso SMIT, siga este caminho:

/image/gif/paws/17844/cwm-tftp-config-hpux-1.gif

Deste ponto, você pode manipular vários serviços do inetd. Para mais informações sobre do SMIT, refira a documentação técnica IBM: AIX 4.3leavingcisco.com .

Quando você emite o comando loadrev ou o comando getfwrev, o software de switch WAN espera a única designação alfabética do interruptor no nome de arquivo estar no uppercase e residir em /usr/users/svplus/images/ipxbpx. Para utilizar o modo seguro de TFTP, leia a entrada do manual para o daemon TFTP (tftpd) e observe que o /etc/tftpaccess.ctl precisa ser mantido.

Verifique o TFTP local

Use esse método para verificar a configuração de TFTP por um TFTP para localhost:

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

Se o método acima falhar, a mensagem de diagnóstico é fornecida para identificar e solucionar o problema.

Verifique permissões/caso do arquivo

TFTP executa como o usuário de UNIX nobody. Os arquivos devem ser legíveis para qualquer um, e todos os diretórios no caminho devem ser passíveis de busca e leitura.

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

Procedimento para HP-UX

/etc/inetd.conf - SAM

No SAM, acesse Serviços de Rede na área Redes e Comunicações:

cwm-tftp-config-hpux-2.gif

cwm-tftp-config-hpux-3.gif

A configuração padrão para o daemon de TFTP (tftpd) é exibida abaixo. Quando você habilita os serviços TFTP, são criadas entradas de senha para o usuário TFTP. Consulte as entradas do manual online do HP-UX (usando o comando man xxxx) para tftp(1) e tftpd(1M) para obter detalhes.

Quando você emite o comando loadrev ou o comando getfwrev, o software de switch WAN espera a única designação alfabética do interruptor no nome de arquivo estar no uppercase e residir em /usr/users/svplus/images/ipxbpx. Para usar o modo seguro do TFTP, é necessário ter o nome do caminho /tftpboot/usr/users/svplus/images/ipxbpx e não pode ser um link simbólico. Para conseguir isto, crie a hierarquia do arquivo e coloque todo o software de switch e firmware sob /tftpboot. Um link simbólico pode existir apontando de /usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpx.

O software de switch pode erroneamente reivindicar que não pode se comunicar com a estação de trabalho do Cisco WAN Manager (CWM) se o nome de arquivo tem um caractere minúsculo para a designação do interruptor ou se o arquivo não existe na estação de trabalho CWM.

Depois que /etc/inetd.conf foi alterado, o modo seguro tftp assemelha-se a este:

# Before uncommenting the "tftp" entry below, please make sure

# that you have a "tftp" user in /etc/passwd. If you don't

# have one, please consult the tftpd(1M) manual entry for

# information about setting up this service.


tftp        dgram udp wait   root /usr/lbin/tftpd   tftpd /tftpboot

É necessário enviar um sinal de HUP ao processo inetd para forçá-lo a reler /etc/inetd.conf. Para uns detalhes mais adicionais, refira as entradas de manual on-line HP-UX para tftp(1) e tftpd(1M).

Verifique o TFTP local

Use esse método para verificar a configuração de TFTP por um TFTP para localhost:

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

Se o método acima falhar, a mensagem de diagnóstico é fornecida para identificar e solucionar o problema.

Verifique permissões/caso do arquivo

TFTP executa como o usuário de UNIX nobody. Os arquivos devem ser legíveis para qualquer um, e todos os diretórios no caminho devem ser passíveis de busca e leitura.

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

Procedimento para Solaris

/etc/inetd.conf

As configurações padrão para o daemon de TFTP (TFTPD) de /etc/inetd.conf olham como esta:

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd

#

Quando você emite o comando loadrev ou o comando getfwrev, o software de switch WAN espera a única designação alfabética do interruptor no nome de arquivo estar no uppercase e residir em /usr/users/svplus/images/ipxbpx. Para usar o modo seguro do TFTP, é necessário ter o nome do caminho /tftpboot/usr/users/svplus/images/ipxbpx e não pode ser um link simbólico. Para conseguir isto, crie a hierarquia do arquivo e coloque todo o software de switch e firmware sob /tftpboot. Um link simbólico pode existir apontando de /usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpx.

O software de switch pode erroneamente reivindicar que não pode se comunicar com a estação de trabalho CWM se o nome de arquivo tem um caractere minúsculo para a designação do interruptor ou se o arquivo não existe na estação de trabalho CWM.

Depois que /etc/inetd.conf foi alterado, o modo seguro tftp olha como abaixo.

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -s /tftpboot

#

É necessário enviar um sinal de HUP ao processo inetd para forçá-lo a reler /etc/inetd.conf.

Verifique o TFTP local

Use esse método para verificar a configuração de TFTP por um TFTP para localhost:

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

Se o método acima falhar, a mensagem de diagnóstico é fornecida para identificar e solucionar o problema.

Verifique permissões/caso do arquivo

TFTP executa como o usuário de UNIX nobody. Os arquivos devem ser legíveis para qualquer um, e todos os diretórios no caminho devem ser passíveis de busca e leitura.

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

truss

Quando um daemon de TFTP é invocado, isso é feito a partir de inetd. Depois de identificar qual arquivo está sendo pesquisado, o processo root tftpd process chama um processo tftpd filho, que executa um usuário UNIX nobody. A execução do comando truss nesses processos fornece detalhes sobre o que está acontecendo. No exemplo seguinte, um processo da raiz TFTPD trussed, e mostra que está tentando abrir o o arquivo inexistente, /usr/users/svplus/images/ipxbpx/9235B.img.

truss -fae -o /tmp/tftpd.truss -p 10748

Nota: Neste exemplo, a identificação de processo do processo da raiz TFTPD é 10748.

# cat /tmp/tftpd.truss

10748:  psargs: in.tftpd 

10748:  poll(0xEFFFDD88, 1, 60000)       (sleeping...) 

10748:  poll(0xEFFFDD88, 1, 60000)                      = 1 

10748:  recvfrom(0, "\001 / u s r / u s e r s".., 516, 0, 0x000245C4, 0x00023BF0) = 50 

10748:  alarm(0)                                        = 0 

10748:  so_socket(2, 1, 0, "", 1)                       = 3 

10748:  bind(3, 0x0002362C, 16)                         = 0 

10748:  fork()                                          = 10754 

10754:  fork()          (returning as child ...)        = 10748 

10754:  setegid(60001)                                  = 0 

10754:  seteuid(60001)                                  = 0 

10754:  stat("/usr/users/svplus/images/ipxbpx/9235B.img", 0xEFFFFC88) Err#2 ENOENT 

10754:  setegid(0)                                      = 0 

10754:  seteuid(0)                                      = 0 

10754:  time()                                          = 982191999 

10754:  write(4, " :8B0F7F\0\0\001\0020403".., 24)      = 24 

10754:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE 

10754:  _exit(0) 

10748:  close(3)                                        = 0

10748:  poll(0xEFFFDD88, 1, 60000)      (sleeping...) 

10748:  poll(0xEFFFDD88, 1, 60000)                      = 0 

10748:  kill(10749, SIGKILL)                            = 0 

10748:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE 

10748:  _exit(0)

#

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 17844