Introdução
Neste laboratório, você explorará conceitos fundamentais de endereçamento IP e alcançabilidade de rede em um ambiente Linux. Você usará utilitários de linha de comando comuns como ping e ip a para realizar diagnósticos de rede essenciais. Os exercícios o guiarão através do teste da pilha TCP/IP local com o endereço de loopback, identificando o endereço IP privado da sua máquina e verificando a conectividade pública com a internet.
Adicionalmente, você aprenderá a testar a alcançabilidade na rede local e obterá uma compreensão de endereços de uso especial explorando a comunicação multicast. Ao completar estas etapas, você desenvolverá habilidades práticas para solucionar problemas de configurações de rede e verificar diferentes camadas de conectividade IP em um sistema Linux.
Teste a Pilha TCP/IP Local com ping 127.0.0.1
Nesta etapa, você aprenderá a testar a própria configuração de rede do seu sistema usando o endereço de loopback. Este é um passo de diagnóstico fundamental para garantir que a pilha de software TCP/IP esteja instalada e funcionando corretamente, mesmo antes de verificar quaisquer conexões de rede físicas.
O endereço de loopback, que é quase sempre 127.0.0.1, é um endereço IP especial que um computador usa para se referir a si mesmo. Quando você envia tráfego de rede para 127.0.0.1, ele não sai para nenhum hardware de rede (como uma placa Wi-Fi ou Ethernet). Em vez disso, o tráfego "volta" internamente dentro do sistema operacional. Isso é extremamente útil para testes.
Usaremos o comando ping, um utilitário de rede comum usado para testar a alcançabilidade de um host em uma rede IP.
Agora, vamos pingar o endereço de loopback. No seu terminal, que está atualmente no diretório ~/project, digite o seguinte comando e pressione Enter.
ping 127.0.0.1
Você verá um fluxo contínuo de respostas de 127.0.0.1. Isso indica que a pilha TCP/IP do seu sistema está funcionando como esperado. Cada linha representa uma "echo reply" bem-sucedida recebida da máquina local.
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.052 ms
...
O comando ping continuará a ser executado até que você o pare. Para parar o comando, pressione Ctrl+C. Após pará-lo, você verá um resumo das estatísticas do ping.
Este teste bem-sucedido confirma que o software de rede na sua máquina virtual está operacional.
Identifique Seu Endereço IP Privado com ip a
Nesta etapa, você identificará o endereço IP privado da sua máquina virtual. Após confirmar que a pilha TCP/IP interna funciona com o endereço de loopback, o próximo passo lógico é encontrar o endereço que seu sistema usa para se comunicar com outros dispositivos na mesma rede local.
A maioria das redes locais (como aquela em que esta máquina virtual está, ou sua rede doméstica/de escritório) usa endereços IP privados. Esses são intervalos especiais de endereços IP que não são alcançáveis pela internet pública. Eles são reservados para uso interno. Este sistema evita o esgotamento de endereços IPv4 e adiciona uma camada de segurança.
Para encontrar seu endereço IP em um sistema Linux moderno, você pode usar o comando ip a (que faz parte da suíte iproute2 e substitui o comando mais antigo ifconfig).
No seu terminal, execute o seguinte comando:
ip a
A saída listará todas as interfaces de rede no seu sistema. Você está procurando sua interface de rede principal, que geralmente é nomeada eth0 ou ens.... O endereço IP é listado na linha que começa com inet.
Aqui está um exemplo de como a saída pode parecer. Seu endereço IP e nomes de interface podem diferir.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:0a:71:39 brd ff:ff:ff:ff:ff:ff
inet 172.16.50.171/24 brd 172.16.50.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe0a:7139/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:ae:2a:df:b8 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
No exemplo acima, o endereço IP privado é 172.16.50.171. Agora, identifique o endereço inet do seu sistema e verifique se ele se enquadra em um dos intervalos padrão de endereços IP privados:
- Classe A:
10.0.0.0a10.255.255.255 - Classe B:
172.16.0.0a172.31.255.255 - Classe C:
192.168.0.0a192.168.255.255
O endereço IP 172.16.50.171 do nosso exemplo se enquadra no intervalo privado da Classe B. Sua VM LabEx também terá um IP de um desses intervalos.
Teste de Acessibilidade da Internet Pública com ping 8.8.8.8
Nesta etapa, você verificará se sua máquina virtual pode se comunicar com a internet pública. Você confirmou que sua pilha TCP/IP local funciona e encontrou seu endereço IP privado. Agora, vamos ver se você consegue alcançar um servidor fora da sua rede local.
Endereços IP públicos são endereços globalmente únicos que são roteáveis na internet. Sua VM, com seu IP privado, não pode usar diretamente esse endereço na internet. Em vez disso, um roteador ou gateway na rede realiza a Tradução de Endereços de Rede (NAT - Network Address Translation). Ele traduz o endereço IP privado da sua VM para um endereço IP público ao enviar tráfego para a internet, e vice-versa para o tráfego de retorno.
Para testar isso, faremos um ping em um endereço IP público bem conhecido: 8.8.8.8. Este é o endereço de um dos servidores DNS públicos do Google, que é altamente disponível e uma escolha padrão para testar a conectividade com a internet.
No seu terminal, digite o seguinte comando e pressione Enter:
ping 8.8.8.8
Você deverá ver uma série de respostas bem-sucedidas. Observe que o valor time= é tipicamente maior do que quando você pingou o endereço de loopback, pois os pacotes de dados estão viajando pela internet até o servidor do Google e voltando.
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=2.34 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=2.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=2.35 ms
...
Essas respostas confirmam que sua VM está se conectando com sucesso à internet pública. Pressione Ctrl+C para parar o comando ping.
Teste de Acessibilidade da Rede Local Pingando um IP Não Atribuído
Nesta etapa, você tentará se comunicar com um endereço IP na sua rede local que não está atribuído a nenhum dispositivo. Isso demonstra que, para que a comunicação seja bem-sucedida, um IP de destino não apenas deve estar na rede correta, mas também deve ser ativamente reivindicado por um host que possa responder.
Você já encontrou seu próprio endereço IP privado. Agora, você escolherá outro endereço dentro da mesma sub-rede que é quase certamente não utilizado. Uma sub-rede é uma subdivisão lógica de uma rede IP. Por exemplo, se o seu endereço IP for 172.16.50.171 com uma máscara /24, sua sub-rede inclui todos os endereços de 172.16.50.1 a 172.16.50.254.
Vamos escolher um endereço IP que provavelmente não está em uso. Com base no endereço IP comum 172.16.50.171 para este ambiente, tentaremos pingar 172.16.50.250.
No seu terminal, digite o seguinte comando e pressione Enter:
ping 172.16.50.250
Desta vez, você não verá nenhuma resposta. O comando parecerá travar, enviando pacotes sem resposta. Isso ocorre porque não há nenhum dispositivo nesse endereço IP para responder à solicitação de ping. Após alguns segundos, pare o comando pressionando Ctrl+C. Você verá um resumo indicando 100% de perda de pacotes. Esse timeout é uma maneira comum de determinar que um host não é alcançável na rede.
PING 172.16.50.250 (172.16.50.250) 56(84) bytes of data.
^C
--- 172.16.50.250 ping statistics ---
23 packets transmitted, 0 received, 100% packet loss, time 22510ms
Esta saída confirma que um endereço IP deve estar ativo na rede para ser alcançável. Pressione Ctrl+C para parar o comando.
Explore Endereços Multicast com ping 224.0.0.1
Nesta etapa final, você explorará uma categoria diferente de endereços IP: multicast. Até agora, você trabalhou com endereços unicast, onde a comunicação é um-para-um (sua máquina para o loopback, sua máquina para um servidor público, etc.).
Multicast é um método de comunicação um-para-muitos. Um único pacote é enviado de uma origem para um endereço multicast especial, e a infraestrutura de rede o entrega a todos os dispositivos que "assinaram" esse endereço. Isso é muito mais eficiente do que enviar pacotes individuais para cada destino.
A faixa de endereços IP de 224.0.0.0 a 239.255.255.255 é reservada para multicast (Classe D). Usaremos um endereço multicast especial e bem conhecido: 224.0.0.1. Este é o endereço do grupo "all-hosts" (todos os hosts). Qualquer host capaz de multicast no segmento de rede local deve responder ao tráfego enviado para este endereço.
Vamos ver o que acontece quando você pinga. No seu terminal, execute:
ping 224.0.0.1
Teoricamente, qualquer host capaz de multicast na rede local deve responder a um ping para o grupo "all-hosts". Você pode esperar ver respostas da sua própria máquina. No entanto, em muitos ambientes Linux modernos, por razões de segurança ou desempenho de rede, as solicitações de eco ICMP para endereços multicast são ignoradas por padrão.
Observe a saída. Provavelmente você não verá nenhuma resposta. Após alguns segundos, pare o comando pressionando Ctrl+C. O resumo mostrará 100% de perda de pacotes.
PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.
^C
--- 224.0.0.1 ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13312ms
Este resultado demonstra um princípio importante de redes do mundo real: padrões teóricos (como responder a multicast de todos os hosts) nem sempre são implementados ou habilitados na prática. Configurações de sistema, firewalls ou configurações de kernel podem alterar o comportamento esperado. Pressione Ctrl+C para parar o ping.
Resumo
Neste laboratório, você explorou conceitos fundamentais de endereçamento IP e alcançabilidade de rede em um ambiente Linux usando utilitários comuns de linha de comando. Você aprendeu a verificar a integridade da pilha TCP/IP local pingando o endereço de loopback (127.0.0.1) e como identificar o endereço IP privado do seu sistema para comunicação na rede local usando o comando ip a.
Além disso, você praticou o diagnóstico de conectividade de rede testando a alcançabilidade da internet pública com ping 8.8.8.8 e observando a resposta ao pingar um endereço IP local não atribuído. O laboratório concluiu com uma exploração de tipos de endereços especiais, especificamente usando ping 224.0.0.1 para entender a função dos endereços multicast para comunicação um-para-muitos em uma rede.



