Pesquisa de site

LFCA: Aprenda dicas básicas para solução de problemas de rede – Parte 12


Quando os sistemas encontram problemas, como às vezes acontece, você precisa saber como contornar o problema e restaurá-los a um estado normal e funcional. Nesta seção, nos concentramos nas habilidades fundamentais de solução de problemas de rede que qualquer administrador de sistemas Linux deve ter.

Compreensão fundamental da solução de problemas de rede

Na maioria dos casos, existe uma grande lacuna entre administradores de rede e administradores de sistemas. Os administradores de sistemas sem visibilidade de rede geralmente culparão os administradores de rede por interrupções e tempos de inatividade, enquanto os administradores de rede com conhecimento insuficiente do servidor muitas vezes culparão os administradores de sistemas pela falha do dispositivo endpoint. Porém, o jogo da culpa não ajuda a resolver problemas e, no ambiente de trabalho, pode antagonizar as relações entre colegas.

Como administrador de sistema, ter uma compreensão fundamental da solução de problemas de rede ajudará a resolver problemas mais rapidamente e a promover um ambiente de trabalho coeso. É por esse motivo que reunimos esta seção para destacar algumas dicas básicas de solução de problemas de rede que serão úteis ao diagnosticar problemas relacionados à rede.

Uma recapitulação do modelo TCP/IP

Em nosso tópico anterior da série LFCA, examinamos o modelo conceitual TCP/IP que mostra a transmissão de dados em um computador e os protocolos encontrados em cada camada.

Outro modelo conceitual igualmente importante é o modelo OSI (Open Systems Interconnection). É uma estrutura TCP/IP de 7 camadas que divide um sistema de rede e a computação funciona como cada camada.

No modelo OSI, essas funções são segmentadas nas seguintes camadas, começando de baixo. Camada Física, Camada de Enlace de Dados, Camada de Rede, Camada de Transporte, Camada de Sessão. Camada de apresentação e, finalmente, camada de aplicativo no topo.

É impossível falar sobre solução de problemas de rede sem fazer referência ao modelo OSI. Por esse motivo, orientaremos você em cada camada e descobriremos os vários protocolos de rede usados e como solucionar falhas associadas a cada camada.

Camada 1: Camada Física

Esta é provavelmente uma das camadas mais negligenciadas, mas é uma das camadas mais essenciais necessárias para que qualquer comunicação ocorra. A camada Física abrange os componentes físicos de rede de um PC, como placas de rede, cabos Ethernet, fibras ópticas, etc. A maioria dos problemas começa aqui e é causada principalmente por:

  • Cabo de rede/ethernet desconectado
  • Cabo de rede/ethernet danificado
  • Placa de rede ausente ou danificada

Nesta camada, as perguntas que vêm à mente são:

    Para verificar o status de suas interfaces de rede, execute o comando ip:

    ip link show
    

    Na saída acima, temos 2 interfaces. A primeira interface – lo – é o endereço de loopback e geralmente não é usada. A interface de rede ativa que fornece conectividade à rede e à Internet é a interface enp0s3. Podemos ver na saída que o estado da interface é UP.

    Se uma interface de rede estiver inativa, você verá a saída estado DOWN.

    Se for esse o caso, você pode abrir a interface usando o comando:

    sudo ip link set enp0s3 up
    

    Alternativamente, você pode executar o comando ifconfig mostrado abaixo.

    
    sudo ifconfig enp0s3 up
    ip link show
    

    Apenas para confirmar se o seu PC escolheu um endereço IP do roteador ou servidor DHCP, execute o comando ifconfig.

    ifconfig
    

    O endereço IPv4 é prefixado pelo parâmetro inet conforme mostrado. Por exemplo, o endereço IP deste sistema é 192.168.2.104 com uma sub-rede ou máscara de rede 255.255.255.0.

    
    ifconfig
    

    Alternativamente, você pode executar o comando ip address da seguinte maneira para verificar o endereço IP do seu sistema.

    
    ip address
    

    Para verificar o endereço IP do gateway padrão, execute o comando:

    
    ip route | grep default
    

    O endereço IP do gateway padrão, que na maioria dos casos é o servidor DHCP ou roteador, é indicado conforme mostrado abaixo. Em uma rede IP, você poderá executar ping no gateway padrão.

    Para verificar os servidores DNS que você está usando, execute o seguinte comando em sistemas systemd.

    
    systemd-resolve --status
    

    A melhor maneira de verificar os servidores DNS em uso é executar o comando nmcli mostrado

    
    ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS
    

    Como você observou, uma grande parte da solução de problemas de rede acontece aqui.

    Camada 2: Camada de Enlace de Dados

    Essencialmente, a camada de enlace de dados determina o formato dos dados na rede. É aqui que ocorre a comunicação de quadros de dados entre hosts. O protocolo predominante nesta camada é o ARP ( Protocolo de Resolução de Endereço).

    O ARP é responsável por descobrir endereços da camada de enlace e realizar o mapeamento de endereços IPv4 na camada 3 para endereços MAC. Normalmente, quando um host entra em contato com o gateway padrão, é provável que ele já tenha o IP do host, mas não os endereços MAC.

    O protocolo ARP preenche a lacuna entre a camada 3 e a camada 2, traduzindo os endereços IPv4 de 32 bits na camada 3 em endereços MAC de 48 bits na camada 2 e vice-versa.

    Quando um PC entra em uma rede LAN, o roteador (gateway padrão) atribui a ele um endereço IP para identificação. Quando outro host envia um pacote de dados destinado ao PC para o gateway padrão, o roteador solicita ao ARP para procurar o endereço MAC que acompanha o endereço IP.

    Cada sistema tem sua própria tabela ARP. Para verificar sua tabela ARP, execute o comando:

    ip neighbor show
    

    Como você pode notar, o endereço MAC do roteador está preenchido. Se houver um problema de resolução, o comando não retornará nenhuma saída.

    Camada 3: Camada de Rede/Internet

    Esta é a camada em que você trabalha exclusivamente com endereços IPv4 que estão familiarizados com os administradores de sistema. Ele fornece vários protocolos, como ICMP e ARP, que abordamos, e outros, como RIP (Routing Information Protocol ).

    Alguns dos problemas comuns incluem configuração incorreta de dispositivos ou problemas com dispositivos de rede, como roteadores e switches. Um bom lugar para começar a solução de problemas é verificar se o seu sistema escolheu um endereço IP da seguinte forma:

    ifconfig
    

    Além disso, você pode usar o comando ping para verificar a conectividade com a Internet enviando um pacote de eco ICMP para o DNS do Google. O sinalizador -c indica o número de pacotes sendo enviados.

    ping 8.8.8.8 -c 4
    

    A saída mostra uma resposta positiva do DNS do Google com zero perda de pacotes. Se você estiver tendo uma conexão intermitente, você pode verificar em qual ponto os pacotes estão sendo descartados usando o comando traceroute da seguinte maneira.

    traceroute google.com
    

    Os asteriscos indicam o ponto em que os pacotes estão sendo descartados ou perdidos.

    O comando nslookup consulta o DNS para obter o endereço IP associado a um domínio ou nome de host. Isso é conhecido como pesquisa DNS direta.

    Por exemplo.

    
    nslookup google.com
    

    O comando revela os endereços IP associados ao domínio google.com.

    
    Server:		127.0.0.53
    Address:	127.0.0.53#53
    
    Non-authoritative answer:
    Name:	google.com
    Address: 142.250.192.14
    Name:	google.com
    Address: 2404:6800:4009:828::200e
    

    O comando dig é outro comando usado para consultar servidores DNS associados a um nome de domínio. Por exemplo, para consultar os servidores de nomes DNS, execute:

    
    dig google.com
    

    Camada 4: Camada de Transporte

    A camada de transporte lida com a transmissão de dados usando os protocolos TCP e UDP. Só para recapitular, o TCP é um protocolo orientado a conexão, enquanto o UDP não tem conexão. Executando a escuta do aplicativo em soquetes que compreendem portas e endereços IP.

    Problemas comuns que podem ocorrer, incluindo portas TCP bloqueadas que podem ser exigidas pelos aplicativos. Se você possui um servidor web e deseja verificar seu estado de execução, use o comando netstat ou ss para verificar se o serviço web está escutando a porta 80

    sudo netstat -pnltu | grep 80
    OR
    ss -pnltu | grep 80
    

    Às vezes, uma porta pode estar em uso por um serviço em execução no sistema. Se quiser que outro serviço use essa porta, você poderá ser forçado a configurá-lo para usar uma porta diferente.

    Se ainda estiver com problemas, verifique o firewall e verifique se a porta de seu interesse está bloqueada.

    A maior parte da solução de problemas ocorrerá nessas quatro camadas. Muito pouca solução de problemas é feita nas camadas de sessão, apresentação e aplicativo. Isto porque desempenham um papel menos activo no funcionamento de uma rede. No entanto, vamos rapidamente ter uma visão geral do que acontece nessas camadas.

    Camada 5: Camada de Sessão

    A camada de sessão abre canais de comunicação chamados sessões e garante que eles permaneçam abertos durante a transmissão de dados. Ele também fecha quando a comunicação é encerrada.

    Camada 6: Camada de Apresentação

    Também conhecida como camada de sintaxe, a camada de apresentação sintetiza dados a serem usados pela camada de aplicação. Ele explica como os dispositivos devem criptografar, codificar e compactar dados com o objetivo de garantir que sejam bem recebidos do outro lado.

    Camada 7: Camada de Aplicação

    Por último, temos a camada de aplicação que está mais próxima dos usuários finais e permite que eles interajam com o software aplicativo. A camada de aplicação é rica em protocolos como HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP e NTP, para mencionar alguns.

    Conclusão

    Ao solucionar problemas de um sistema Linux, a abordagem em camadas usando o modelo OSI é altamente recomendada, começando pela camada inferior. Isso lhe dá insights sobre o que está errado e ajuda você a identificar o problema.