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

Quando os sistemas encontram problemas, como às vezes acontece, você precisa saber lidar com o problema e restaurá-los para um estado normal e funcional. Nessa seção, nós concentramos em habilidades básicas de resolução de problemas de rede que qualquer administrador de sistemas Linux deve ter.

Compreensão Fundamental de Resolução de problemas de Rede

Na maioria dos casos, há uma grande lacuna entre os administradores de rede e os administradores de sistemas. Administradores de sistemas que carecem de visibilidade na rede costumam culparem administradores de rede por paradas e interrupções no serviço, enquanto os administradores de rede que carecem de conhecimento suficiente sobre servidores frequentemente retornam a culpa para os administradores de sistemas por falhas em dispositivos de ponta. No entanto, o jogo da culpa não ajuda a resolver problemas e, num ambiente de trabalho, isso pode antagonizar as relações entre colegas.

Como um administrador de sistemas, ter uma compreensão fundamental de resolução de problemas de rede ajudará a resolver issue mais rápido e ajudará a promover um ambiente de trabalho coeso. É por esse motivo que nós montamos esta seção para destacar algumas das dicas básicas de resolução de problemas de rede que serão úteis quando diagnosticando problemas relacionados à rede.

A Recap of the TCP / IP Model

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.

TCP/IP Layer Model

Outro modelo conceitual igualmente importante é o modelo OSI (Open Systems Interconnection). É um framework TCP/IP de 7 camadas que divide um sistema de rede e funções de computação em cada camada.

No modelo OSI, essas funções são segmentadas nas seguintes camadas, começando de baixo para cima: Camada Física, Camada de Enlace de Dados, Camada de Rede, Camada de Transporte, Camada de Sessão, Camada de Apresentação e, finalmente, a Camada de Aplicação no topo.

OSI Model

É impossível falar sobre solução de problemas de rede sem fazer referência ao modelo OSI. Por esse motivo, vamos guiar você através de cada camada e descobrir 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, porém é uma das camadas mais essenciais 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 surgem são:

  • “O cabo de rede está conectado?”
  • “A conexão física de rede está ativa?”
  • “Você possui um endereço IP?”
  • “Você consegue fazer ping no seu gateway padrão?”
  • “Você consegue fazer ping no seu servidor DNS?”

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

$ ip link show
Check Network Interface Status

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

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

Network Interface Down

Nesse caso, você pode ativar a interface usando o comando:

$ sudo ip link set enp0s3 up
Active Network Interface

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

$ sudo ifconfig enp0s3 up
$ ip link show
Enable Network Interface

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

$ ifconfig
Check Server IP Address

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 de 255.255.255.0.

$ ifconfig
Check Server IP Address

Alternativamente, você pode executar o comando ip address da seguinte forma 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ê deve ser capaz de fazer ping no gateway padrão.

Check Network Gateway

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

$ systemd-resolve --status
Check DNS Servers

A better way to check the DNS servers in use is to run the nmcli command shown

$ ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS
Check DNS Using nmcli Command

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

Camada 2: Camada de Link de Dados

Essencialmente, a camada de link de dados determina o formato de 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ços).

ARP é responsável por descobrir endereços de camada de link e realizar o mapeamento de endereços IPv4 na camada 3 para endereços MAC. Geralmente, 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 atua como ponte entre o layer 3 e o layer 2, traduzindo endereços IPv4 de 32 bits do layer 3 para endereços MAC de 48 bits do layer 2 e vice-versa.

Quando um PC entra em uma rede LAN, o roteador (default gateway) atribui-lhe um endereço IP para identificação. Quando outro host envia um pacote de dados destinado ao PC para a porta padrão, o roteador solicitadaARP para procurar a respectiva MAC address que corresponde ao endereço IP.

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

$ ip neighbor show
Check Network ARP Table

Como podem ver, o endereço MAC do roteador está preenchido. Se houver um problema de resolução, o comando não retorna nada.

Layer 3: Camada de Rede / Internet

Esta é a camada na qual você trabalha exclusivamente com endereçosIPv4 que os administradores de sistemas estão familiarizados. Ela fornece múltiplos protocolos, comoICMP e ARP que abordamos e outros, comoRIP (Routing Information Protocol).

Alguns dos problemas comuns incluem a configuração incorreta de dispositivos ou problemas com dispositivos de rede, como roteadores e switchs. Um bom ponto de partida para a depuração é verificar se o seu sistema selecionou um endereço IP, conforme segue:

$ ifconfig
Check Server IP Address

Também é possível usar o comando ping para verificar a conectividade à internet enviando um pacote de eco ICMP para o DNS do Google. A opção -c indica o número de pacotes enviados.

$ ping 8.8.8.8 -c 4
Check Network Activity

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

$ traceroute google.com
Trace Network Activity

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 de 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 os 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 é responsável pela transmissão de dados usando os protocolos TCP e UDP. Só para recapitular, TCP é um protocolo orientado à conexão enquanto UDP é não-orientado. As aplicações em execução escutam em soquetes que compõem de portas e endereços IP.

Problemas comuns que podem ocorrer incluem portas TCP bloqueadas que podem ser necessárias por aplicações. Se você tem um servidor web e quer verificar seu estado de execução, use o comando netstat ou ss para verificar se o serviço web está ouvindo a porta 80

$ sudo netstat -pnltu | grep 80
OR
$ ss -pnltu | grep 80
Check Network Ports Status

Algumas vezes, uma porta pode estar em uso por um serviço em execução no sistema. Se você quiser que outro serviço use essa porta, pode ter que configurá-lo para usar uma porta diferente.

Se você ainda tiver problemas, verifique o firewall e verifique se a porta que você está interessado está bloqueada.

Muito da depuração acontecerá nestas 4 camadas. Muito pouca depuração é feita nas camadas de sessão, apresentação e aplicação. Isso é porque elas desempenham um papel menos ativo na funcionalidade de uma rede. No entanto, vamos ter uma olhada rápida no que acontece nestas camadas.

Camada 5: Camada de Sessão

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

Camada 6: Camada de Apresentação

Também conhecida como camada de sintaxe, a camada de apresentação sintetiza dados para uso pela camada de aplicação. Ela define como os dispositivos devem criptografar, codificar e comprimir dados com o objetivo de garantir que seja bem recebido no outro lado.

Camada 7: Camada de Aplicação

Por fim, temos a camada de aplicação, que está o mais próxima possível dos usuários finais e permite que eles interajam com o software de aplicação. A camada de aplicação é rica em protocolos, como HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP e NTP, por exemplo.

Conclusão

Ao diagnosticar um sistema Linux, é altamente recomendável o uso do modelo de OSI, com uma abordagem em camadas, começando pela camada inferior. Isso dá insights sobre o que está errado e ajuda a encontrar o problema.

Source:
https://www.tecmint.com/basic-network-troubleshooting-tips/