Instale o servidor tftp no CentOS 8 ou RedHat 8

Hoje o artigo será pequeno. Em geral, na minha opinião, tudo é bastante simples, mas desde que o CentOS8 foi lançado recentemente, existem poucos guias e, especificamente sobre o tftp no CentOS, vi muitas dicas francamente prejudiciais na Internet, então tentarei pedir uma tendência para corrigir a situação a partir do momento em que a nova versão for lançada. Então, vamos ao conjunto de três equipes patéticas de que precisamos. Primeiro, instale todos os pacotes necessários:

sudo dnf -y install xinetd tftp-server tftp vim 

Agora vamos criar (ou corrigir) o arquivo de configuração xinetd para que ele inicie o servidor tftp ao acessar a porta correspondente, isso pode ser feito através do editor vi padrão, através do nano, que é mais familiar para a maioria das pessoas, ou através do vim, que difere do vi padrão que possui uma funcionalidade mais ampla, incluindo destaque de sintaxe. Eu prefiro o último parágrafo, portanto, este editor foi a última palavra no comando acima. Se alguém estiver satisfeito com os editores disponíveis no sistema, você não poderá instalar o vim (embora, além de usar mais 60 MB de espaço em disco, ele também não seja pior).

 sudo vim /etc/xinetd.d/tftp 

Aqui você precisa entrar no modo de inserção de texto (digite: definir colar e inserir), depois edite (insira a tecla no teclado), selecione o arquivo de configuração abaixo, copie e cole na janela do terminal.

Ao editar o texto de configuração , preste atenção ao argumento server_args . No final da linha, é fornecido o caminho para o diretório em que os arquivos fornecidos pelo tftp serão fornecidos. Mude este diretório para aquele que deve ser usado com você. Também quero dizer imediatamente que será necessário configurar um servidor tftp no SeLinux para trabalhar com este diretório, não há configuração "padrão" para um servidor tftp no CentOS. Agora não vou escrever sobre a configuração do SeLinux, porque, de alguma forma, prepararei um artigo separado sobre este tópico.

 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 

Em seguida, pressione Esc e, em seguida, ": wq" e digite.

Agora ligue o servidor:

 sudo systemctl start xinetd sudo systemctl enable xinetd sudo firewall-cmd --permanent --zone=public --add-service=tftp && sudo firewall-cmd --reload 

Sim, você não precisa travar o tftpd na inicialização, embora isso não seja totalmente óbvio.
Em seguida, você precisa verificar se tudo funciona. Criamos um arquivo e tentamos baixá-lo (eu fiz isso para o popular caminho de armazenamento de arquivos, se você tiver outro, altere-o aqui):

 echo passed > ~/test.txt sudo mv ~/test.txt /var/lib/tftpboot tftp 127.0.0.1 -c get test.txt cat test.txt 

Se a palavra "aprovada" aparecer no console, o servidor estará em execução. Se, ao mesmo tempo, não puder ser acessado pela rede local - lide com as zonas no firewalld, fizemos acesso à zona pública, nem todos precisam acessar o tftp a partir dela.

PS Se houver perguntas nos comentários, explicarei como transferir o centos 8 do firewalld para o iptables, mas IMHO não há diferença fundamental entre eles.

Source: https://habr.com/ru/post/pt470303/


All Articles