Pular para o conteúdo principal

Instalação de Servidor TFTP em Ambiente CentOS


INTRODUÇÃO

Um servidor TFTP é útil em pelo menos duas situações:
Manipulação de arquivos em ativos de rede, como por exemplo, atualização de firmware, backup e restore de configuração;
Manter um backup de seus ativos de rede centralizados em um único diretório, que posteriormente vai para a unidade de fita, claro.
A primeira situação é bem comum, mas poucos se preocupam com a segunda situação, então fique com ela na mente, pense sobre isso enquanto toma banho (já resolvi tantos problemas pensando durante o banho),  eu voltarei nesse ponto em outro post.
PONTO DE PARTIDA

Eu parto do princípio que você já possui um Servidor CentOS 7 Básico.
INSTALAÇÃO DOS PACOTES

# yum  -y install  tftp-server xinetd
ATIVAR O SERVIÇO

# systemctl enable tftp.socket
CONFIGURAÇÃO DAS PERMISSÕES

# chown -R nobody:nobody /var/lib/tftpboot/
# chmod 777 /var/lib/tftpboot/
PERSONALIZAÇÃO DO ARQUIVO DE CONFIGURAÇÃO

# vi /etc/xinetd.d/tftp

service tftp
{
        disable                 = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s -c /var/lib/tftpboot
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

Observação: Sem o parâmetro -c você não será capaz de criar novos arquivos, apenas de atualizar os já existentes.
INICIAR O SERVIÇO

# systemctl start xinetd
# netstat -ntulp | grep 69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               1329/xinetd
TESTAR A COMUNICAÇÃO COM O SERVIÇO

Cliente TFTP para Linux

De preferência teste o envio a partir de outro servidor para ter certeza que tudo está funcionando.
# yum install -y tftp

# cd /etc/
# tftp -v 192.168.0.181 -c put passwd
Connected to 192.168.0.181 (192.168.0.181), port 69
putting passwd to IP:passwd [netascii]
Sent 28437 bytes in 0.2 seconds [1228778 bit/s]

Observação: 192.168.0.181 é o IP do meu servidor de TFTP, não esqueça de alterar o endereço.

De volta ao servidor de TFTP:
# ls -l /var/lib/tftpboot/
total 28
-rw-rw-rw- 1 nobody nobody 28111 Jul 23 16:41 passwd

De volta ao servidor Cliente:
# cd ~
# tftp -v IP -c get passwd
Connected to 192.168.0.181 (192.168.0.181), port 69
getting from 192.168.0.181:passwd to passwd [netascii]
Received 28437 bytes in 0.0 seconds [82130090 bit/s]

# ls -l passwd
-rw-r--r-- 1 root root 28111 Jul 23 16:50 passwd

Observe que o arquivo tem exatamente o mesmo tamanho.
Cliente TFTP para Windows

Podemos baixar um cliente linha de comando para Windows em TFTP Client for Windows

Download de um arquivo do TFTP Server
C:\>tftp.exe -i IP GET nome_arquivo_remoto nome_arquivo_local

Upload de um arquivo para o TFTP Server:
C:\>tftp.exe -i IP PUT nome_arquivo_local nome_arquivo_remoto

Download do arquivo passwd
C:\>tftp.exe -i 192.168.0.181 GET passwd passwd.txt
WinAgents TFTP Client version 2.0b Copyright (c) 2004-2011 by Tandem Systems, Ltd.
http://www.winagents.com - Software for network administrators

Transfering file passwd from server in octet mode...
Transferring data from 192.168.0.181...
Using blocksize = 512
Using TFTP timeout = 10s
Transfer size = 28111 bytes
File passwd was transferred successfully.
28111 bytes transfered for 1 seconds, 0 bytes/second

Comentários

Postagens mais visitadas deste blog

Tutorial: Consultas LDAP no Active Directory

Hoje será mostrado como fazer Consultas Salvas (Saved queries) e alguns exemplos: 1. No Active Directory Users and Computers, click com o botão direito no item Saved Queries e selecione New e depois Query. 2. Digite o nome para a Query, por exemplo: “Usuários Ativos” e coloque uma descrição e depois clic em Define Query. 3. Na drop-down box Find selecione Custom Search e então click em Advanced tab. 4. Digite uma das Queries e execute. Consultas de Usuarios Usuarios sem grupo (apenas domain users): (&(objectCategory=user)(objectClass=user)(!memberOf=*)) Usuarios sem e-mail (objectcategory=person)(!mail=*) Usuarios com e-mail (objectcategory=person)(mail=*) Usuarios que nunca fizeram logon no dominio (&(&(objectCategory=person)(objectClass=user))(|(lastLogon=0)(!(lastLogon=*)))) Usuários Criados depois de 09/10/2011 (objectCategory=user)(whenCreated>=20111009000000.0Z) Obs: troque o data por uma data da sua necessidade Usuários que precisam mudar a sen...

Usando o CIFS para mapear diretórios Windows no Linux

Usando o CIFS para mapear diretórios Windows no Linux Se você utiliza o samba e está tendo problemas com mapeamentos, não possui Samba no seu servidor Linux ou precisa acessar de forma rápida um diretório Windows pelo Linux, passe a usar o CIFS. Com ele, caso o servidor mapeado sofra um shutdown (Linux mapeando Windows), automaticamente ao se re-estabelecer a conexão com o Servidor, o mapeamento sobe. Neste post estarei tratando a situação onde temos um servidor Linux e desejamos através dele efetuar leituras ou gravações em diretórios no Windows. No Windows Estou adotando como exemplo o servidor com IP 192.168.0.1, dominio TESTE, usuário Administrador e senha 123!456. O objetivo é mapear o diretório D:\Teste no Linux. Então, pelo windows, compartilhe este diretório. No Linux# cd /mnt # mkdir teste # mount –t cifs //192.168.0.1/teste /mnt/teste –o user=Administrador,password=’123!456’,domain=TESTE Pronto!!! Agora você pode compartilhar seus arquivos entre o...

Erro MYSQL Cloud (Google, AWS, Digital Ocean) - Resolvido

Atualmente executando um servidor nginx com o wordpress, recebo um erro no banco de dados após alguns minutos de execução. Ao executar o comando para verificar os logs: # tail -f /var/log/mysqld.log a saída do comando é : 2019-09-12 19:11:24 25864 [Note] Plugin 'FEDERATED' is disabled. 2019-09-12 19:11:24 25864 [Note] InnoDB: Using atomics to ref count buffer pool pages 2019-09-12 19:11:24 25864 [Note] InnoDB: The InnoDB memory heap is disabled 2019-09-12 19:11:24 25864 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2019-09-12 19:11:24 25864 [Note] InnoDB: Memory barrier is not used 2019-09-12 19:11:24 25864 [Note] InnoDB: Compressed tables use zlib 1.2.11 2019-09-12 19:11:24 25864 [Note] InnoDB: Using Linux native AIO 2019-09-12 19:11:24 25864 [Note] InnoDB: Using CPU crc32 instructions 2019-09-12 19:11:24 25864 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2019-09-12 19:11:2...