Anhanguera educacional (polo Parobé RS)
ÁNALISE E DESENVOLVIMENTO DE SISTEMAS
AUTOR(ES):
Adir Evandro Borba
Disciplina:
Sistemas distribuídos
Parobé RS
2025
SUMÁRIO
1. ATIVIDADE 01 - Sincronização NTP:.........................................................................3.10
2. ATIVIDADE 02 - Virtualização e conteinerização - Virtualização VM:......................11.22
3. ATIVIDADE 03 - Conteinerização com Docker.........................................................23.27
4. ATIVIDADE 04 – Analisador de pacotes Wireshark.................................................28.30
REFERÊNCIAS..................................................................................................................31
1. Sincronização NTP
Sincronização NTP: Nesta atividade, é solicitado que se aplique a
sincronização de relógios através de servidor NTP em sistema operacional
Linux e Windows.
Alguns serviços, como por exemplo, de acesso remoto e de autenticação de
usuários podem não funcionar adequadamente caso haja uma diferença muito
grande no horário da máquina cliente (solicitante) em relação à máquina
servidora (que roda e disponibiliza o serviço). Por esse motivo, é muito
importante saber como habilitar a sincronização horária das máquinas
utilizando o NTP. A configuração, bem como suas etapas, varia entre os
sistemas operacionais e entre suas versões. Para realizar essa configuração em
um sistema operacional GNU/Linux Ubuntu Desktop 18.04.1 (Bionic Beaver),
siga o procedimento abaixo: Abra o Terminal, pressionando as teclas “CTRL +
T” do teclado. Instale o serviço “ntp”, através do gerenciador de pacotes “apt”,
conforme a Figura 1.
Figura 1.
Uma vez instalado o serviço, precisamos editar o arquivo de
configuração do mesmo. Podemos fazer isso através do
comando sudo nano /etc/[Link], conforme Figura 2.
Figura2.
Na tela que aparece, devemos remover as informações destacadas em branco,
pressionando a tecla “DELETE” do teclado, até apagar tudo o que está
destacado em branco, conforme Figura 3.
Figura 3.
Agora devemos alterar a linha destacada em branco, conforme Figura 4.
Figura 4.
Agora basta digitar o endereço de algum servidor público de NTP, após a
palavra “pool”. No Brasil, recomenda-se utilizar os servidores do projeto
[Link] ([Link]). Sendo assim, essa linha ficará conforme Figura 5.
Figura 5.
Salve essas alterações digitando “CTRL + X” no teclado, depois “S”, e por fim,
“ENTER”. Reinicie o serviço ntp para ele utilizar essa nova configuração, com o
servidor do [Link], com o comando “sudo service ntp restart”, conforme
Figura 6.
Figura 6.
Feito isso, o serviço estará configurado adequadamente e já funcionará
consultando um conjunto de servidores NTP através da Internet.
Adicionalmente, para fazer uma consulta manual e pontual, você poderá
digitar o seguinte comando no Terminal: ntpq -p, o que trará como resposta a
saída da Figura 7.
Figura 7.
Pela saída da Figura 7, percebemos que foram consultados 6 servidores
NTP. As informações mais importantes são os domínios/endereços IP dos
servidores consultados, os estratos aos quais eles pertencem (coluna st); o
delay e o offset, valores estes em unidade de milissegundos. Baseado nos
parâmetros de deslocamento (offset) e atraso (delay) de cada um deles, foi
determinado que o relógio do computador local tem erro negativo de 0,486
milissegundos, o que significa que o relógio deve ser adiantado em 486
microssegundos para estar sincronizado com os servidores NTP consultados. O
servidor [Link] foi escolhido como referência, por ter um valor de delay
menor (com exceção da referência, [Link]).
Agora vamos realizar a configuração em um sistema operacional Windows.
Para realizar essa configuração em um sistema operacional Windows 10, siga o
procedimento abaixo: 1. Abra o Prompt de Comando (CMD), pressionando as
teclas “CTRL + R” do teclado, digitando “cmd” e OK. 2. Na janela do CMD
vamos inserir o código a seguir e pressionar a tecla “Enter”: w32tm /config
/syncfromflags:manual /manualpeerlist:[Link] Conforme podemos
observar na Figura 8:
Figura 8
Na Figura 8, podemos observar que ao final do comando aparece a
mensagem “O comando foi concluído com sucesso”. Lembre-se, para executar
os comandos você deve estar em um usuário Administrador ou executar o
CMD como Administrador. Agora que fizemos o apontamento para o servidor
[Link], que vamos utilizar, devemos reiniciar o serviço de data e hora, para
aplicar as alterações 3. Vamos utilizar o comando “net stop w32time” e “net
start w32time” para parar o serviço e iniciar, reiniciando-o, conforme podemos
observar na Figura 9:
Figura 9.
Após isso vamos forçar uma sincronização de data e hora para verificar se está
tudo funcionando corretamente. 4. Podemos forçar uma sincronização através
do comando “w32tm /resync /rediscover”, conforme observamos na Figura 10.
Figura 10.
Checklist:
• Abra o Terminal do sistema operacional Linux, pressionando as teclas “CTRL
+ T” do teclado;
• Instale o serviço “ntp”, através do gerenciador de pacotes “apt”;
• Editar o arquivo de configuração do NTP. Podemos fazer isso através do
comando sudo nano /etc/[Link];
• Na tela que aparece, devemos remover as informações referentes as
configurações de pool, pressionando a tecla “DELETE” do teclado, até apagar
tudo;
• Digitar o endereço de algum servidor público de NTP, após a palavra “pool”.
No Brasil, recomenda se utilizar os servidores do projeto [Link] ([Link]).
• Salve essas alterações digitando “CTRL + X” no teclado, depois “S”, e por fim,
“ENTER”;
• Reinicie o serviço ntp para ele utilizar essa nova configuração, com o servidor
do [Link], com o comando “sudo service ntp restart”.
• Reinicie a máquina e logue no sistema operacional Windows.
• Abra o Prompt de Comando (CMD), pressionando as teclas “CTRL + R” do
teclado, digitando “cmd” e OK;
• Na janela do CMD vamos inserir o código a seguir e pressionar a tecla
“Enter”:
• “w32tm /config /syncfromflags:manual /manualpeerlist:[Link]”;
• Vamos utilizar o comando “net stop w32time” e “net start w32time” para
parar o serviço e iniciar, reiniciando-o;
• Vamos forçar uma sincronização através do comando “w32tm /resync
/rediscover”.
CONCLUSÃO
O Network Time Protocol (NTP) é um protocolo essencial para garantir a
sincronização precisa dos relógios dos dispositivos em uma rede de
computadores. Ele é amplamente utilizado em diversas aplicações que
dependem de uma referência de tempo precisa. Com o NTP, é possível garantir
que todos os dispositivos estejam trabalhando com a mesma hora de
referência, o que facilita a solução de problemas e melhora o desempenho das
aplicações.
2.2 ATIVIDADE 02 - VIRTUALIZAÇÃO E CONTEINERIZAÇÃO - VIRTUALIZAÇÃO
VM
2.2.1 INTRODUÇÃO
A virtualização é uma tecnologia que permite criar ambientes virtuais e
simulados a partir de uma máquina física única. Com esse processo, os
profissionais de TI podem aproveitar seus investimentos anteriores e otimizar
a capacidade total de uma máquina física, distribuindo recursos
tradicionalmente ligados ao hardware por diversos ambientes.
Uma máquina virtual, também conhecida como VM, não é
diferente de qualquer outro computador físico, como um
laptop, um smartphone ou um servidor. Ela tem CPU, memória,
discos para armazenar os arquivos e pode se conectar à
Internet, se necessário. Embora as partes que compõem o seu
computador (chamadas de hardware) sejam físicas e tangíveis,
as VMs costumam ser consideradas como computadores
virtuais ou computadores definidos pelo software em servidores
físicos, existindo apenas como código.
O VirtualBox é um software de virtualização de código aberto da
Oracle que permite criar e executar máquinas virtuais em um computador
físico. O software emula um computador completo, incluindo sistemas
operacionais e aplicativos. O usuário pode executar diferentes sistemas
operacionais em um único hardware, como Linux dentro do Windows,
Windows dentro do Mac, ou Mac dentro do Windows. O VirtualBox é usado
por desenvolvedores para fornecer código mais rápido executando vários
sistemas operacionais em um único dispositivo.
2.2.2 DESENVOLVIMENTO
Vamos iniciar criando a máquina virtual com o sistema operacional
GNU/Linux, que como exemplo será o usado a distro lubunto-24.04 através do
software Oracle VM VirtualBox.
• Instalação do Lubunto
No VirtualBox selecionamos a opção “Novo”, conforme a imagem 1.
Imagem 1.
Agora devemos definir um nome para nossa máquina virtual, qual tipo de
sistema operacional, conforme a imagem 2.
Imagem 2.
Agora devemos definir a quantidade de memória RAM e processador, que será
utilizada pela nossa máquina virtual, conforme a imagem 3.
Imagem 3.
Agora devemos selecionar a criação de um novo disco virtual para ser
utilizada em nossa máquina virtual, conforme a imagem 4.
Imagem 4.
Agora que as configurações estão definidas, a máquina virtual já
aparece na lista de máquinas virtuais, conforme a imagem 5.
Imagem 5.
Na opção “Configurações” representada pelo ícone de uma
engrenagem para apontar o caminho de nossa imagem (iso) que contém o
sistema operacional. Vemos como apontamos o caminho da imagem de
instalação do sistema operacional, para isso ocorrer devemos criar um leitor de
CD virtual e indicar a imagem como se fosse um CD-ROM. Acessamos o menu
“Armazenamento”, depois “Vazio”, depois o ícone de um novo CD para
localizar nossa imagem, conforme a imagem 6.
Imagem 6.
Após o apontamento do caminho da imagem, devemos pressionar o
botão “OK”, e depois o botão “Iniciar”, representado pelo ícone de uma seta
na cor verde, conforme a imagem 7.
Imagem 7.
Feito isso teremos a opção de instalar nossa máquina virtual, ela
deve ser selecionada e seguir as etapas de instalação até a sua conclusão.
2.2.3 CONCLUSÃO
A virtualização usando aplicativos como o VirtualBox é uma
ferramenta que oferece muitos benefícios, incluindo a capacidade de testar e
desenvolver software em diferentes sistemas operacionais, isolado e seguro de
ambientes e eficiência no uso de recursos de hardware. No entanto, é
importante estar ciente das possíveis sobrecargas de desempenho e das
necessidades de recursos de hardware para garantir o funcionamento eficiente
das máquinas virtuais.
2.3 ATIVIDADE 03 - CONTAINERIZAÇÃO COM DOCKER:
2.3.1 INTRODUÇÃO
A conteinerização com Docker é uma tecnologia que permite criar e
utilizar contêineres Linux para executar aplicações. Os contêineres são
ambientes isolados que contêm todos os componentes necessários para
executar um programa.
O Docker é um software de código aberto usado para implantar
aplicativos dentro de containers virtuais. A conteinerização permite que
vários aplicativos funcionem em diferentes ambientes complexos. Por
exemplo: o Docker permite executar o WordPress em sistemas Windows, Linux
e macOS, sem problemas.
2.3.2 DESENVOLVIMENTO
A realização dessa atividade tem como objetivo compreender como
orquestrar o servidor web apache em um cluster simples através do Docker, e
para começar foi acessado o site: [Link]
desktop/, e em seguida foi feito a inscrição com a criação da conta, conforme a
imagem 10 e 11.
Imagem 10.
Imagem 11.
Depois de inscrito, entramos no ambiente de desenvolvimento do
Docker, conforme a imagem 12.
Imagem 12.
Com acesso a plataforma foi adicionado 3 nós que farão parte do cluster,
através do botão “Add new instance”:
Após isso, foi escolhido o primeiro nó para ser o mestre, utilizando o comando:
docker swarm init --advertise-addr [Link].
Esse comando define esse nó como o manager do cluster. Repare que, ao
executar esse comando, e apresentada uma saída com a mensagem: “To add
worker to this swarm, run the following command” (Para adicionar um worker
ao swarm, execute o seguinte comando). E com os nós criados e seus papeis
definidos, para criar o serviço que rodará (de maneira distribuída, replicada) do
servidor web Apache, foi digitado o seguinte comando no nó mestre: docker
service create --name WEB --publish 80:80 --replicas=5 httpd.
Para saber em quais nós as 5 réplicas desse serviço estão sendo executadas,
digite o seguinte comando: Docker service ps WEB.
2.3.3 Conclusão
A conteinerização com Docker oferece uma maneira eficiente e
consistente de desenvolver, implantar e gerenciar aplicações. Utilizando
contêineres, e possível garantir que o ambiente de execução seja o mesmo em
todas as etapas do ciclo de desenvolvimento, reduzindo problemas de
compatibilidade e facilitando a escabilidade.
2.4 Atividade 04 – Analisador de Pacotes Wireshark
2.4.1 Introdução
Wireshark é um analisador de protocolos utilizado para monitorar o
tráfego de rede. Esse software captura pacotes de dados transmitidos em uma
rede local, permitindo assim que administradores de rede analisem e resolvam
problemas de comunicação ou identifiquem possíveis ameaças à segurança.
Também conhecido como sniffers, esses analisadores de protocolo conseguem
capturar a maioria dos pacotes de dados utilizados em uma rede, além de
fornecer vários recursos para filtragem e para visualização dos dados
capturados. O wireshark ajuda na identificação e resolução de problemas de
comunicação, congestionamento e latência, permitindo que os
administradores de rede analisem o tráfego em tempo real e identifiquem a
origem dos problemas.
2.4.2 Desenvolvimento
Para a realização da atividade proposta, foi utilizado o software
Wireshark versão estável 4.4.5. Faremos o download e a instalação do
Wireshark seguindo as especificações do software. O objetivo desse programa
e capturar e analisar o trafego que viaja em uma rede, e possível guardar
dados de captura em um arquivo, para acesso futuro. A peculiaridade do
programa consiste na possibilidade de criar filtros ou usar filtros pré-
configurados e selecionar os pacotes e os protocolos de comunicação que nos
interessam, em tempo real ou sobre uma captura feita anteriormente. Para tal
fim devemos selecionar a rede que deve ser analisada. No meu principal, será
apresentada uma caixa listando as interfaces de rede. Selecione a interface e
clique em start.
Esta atividade e chamada de farejamento (sniffing), porque e assim que
conseguimos “sentir” e separar os dados interessados.
Construtor de filtros
A caixa de diálogo de construção de filtros e um recurso que torna
mais fácil a utilização do Wireshark pelos usuários para capturar e criar filtros
de exibição. Para acessá-la, clique no menu Analyze e em seguida na opção
Display Filter Expression. Na janela de seleção dos filtros pré-configurados e
possível colocar chaves especificas de busca, colocando, por exemplo, o nome
de um dispositivo e visualizar os pacotes que incluam aquela palavra, ou
excluam a mesma dos resultados.
2.4.3 Conclusão
O Wireshark e uma ferramenta indispensável para análise e
monitoramento de redes. Sua capacidade de capturar pacotes de dados em
tempo real e fornecer uma análise detalhada, faz dele uma escolha popular
entre profissionais de TI. Com filtros avançados, suporte a centenas de
protocolos e uma interface gráfica amigável, o Wireshark ajuda a resolver
problemas de rede, garantir a segurança e entender o tráfego de dados em
profundidade.
REFERÊNCIAS
[Link]
ntp/
O que é conteinerização? Quais são os benefícios? | Veritas
Docker | O que é Docker e como ele funciona?
O que é Wireshark e como você pode usá-lo para proteger sua rede? -
TecnoGuia