LFCA: Aprenda Dicas Básicas de Resoluçã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. Nesta seção, nos focamos 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 ampla lacuna entre os administradores de rede e os sysadmins. Sysadmins que carecem de visibilidade na rede costumam culparem administradores de rede por interrompimentos e paradas enquanto os administradores de rede com pouco conhecimento em servidores frequentemente retornam a culpa para os sysadmins por falhas em dispositivos de ponto de extremidade. No entanto, o jogo da culpa não ajuda a resolver problemas e, no ambiente de trabalho, isso pode antagonizar as relações entre colegas.

Como sysadmin, ter uma compreensão fundamental de resolução de problemas de rede ajudará a resolver problemas mais rápido e ajudará a promover um ambiente de trabalho coeso. É por esse motivo que nós juntamos esta seção para destacar algumas 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

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

TCP/IP Layer Model

Outro modelo conceptual igualmente importante é o modelo OSI (Interconexão de Sistemas Abertos). É um framework TCP/IP de 7 camadas que quebra um sistema de rede e funções de computação em cada camada.

No modelo OSI, estas funções são segmentadas nas seguintes camadas começando pelo fundo. Camada Física, Camada de Ligação de Dados, Camada de Rede, Camada de Transporte, Camada de Sessão. Camada de Apresentação e, finalmente, Camada de Aplicação no topo.

OSI Model

É impossível falar sobre resolução de problemas de rede sem fazer referência ao modelo OSI. Por essa razão, vamos guiá-lo através de cada camada e descobrir os vários protocolos de rede utilizados 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 engloba 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 são principalmente causados por:Cabo de rede/Ethernet desligado

  • Cabo de rede/ethernet desconectado
  • Cabo de rede/ethernet danificado
  • Placas de rede faltando ou danificadas

Neste nível, as perguntas que surgem são:

  • “O cabo de rede está conectado?”
  • “A ligação física de rede está up?”
  • “Tem um endereço IP?”
  • “Pode pingar o gateway IP padrão?”
  • “Pode pingar o 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 normalmente não é usado. A interface de rede ativa que fornece conectividade à rede e à Internet é a interface enp0s3. Podemos ver a partir da saída que o estado da interface é UP.

Se uma interface de rede estiver down, verá a saída state DOWN.

Network Interface Down

Se for o caso, pode levantar a interface usando o comando:

$ sudo ip link set enp0s3 up
Active Network Interface

Alternativamente, pode executar o comando ifconfig abaixo.

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

Apenas para confirmar que o seu PC escolheu uma diretoria de IP do router ou do 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 como segue para verificar o endereço IP do sistema.

$ ip address

Para verificar o endereço IP da porta de acesso padrão, execute o comando:

$ ip route | grep default

O endereço IP da porta de acesso padrão, que na maioria dos casos é o servidor DHCP ou o router, é indicado conforme mostrado abaixo. Em uma rede IP, você deve ser capaz de executar o ping na porta de acesso padrão.

Check Network Gateway

Para verificar os servidores DNS que você está usando, execute o seguinte comando em sistemas com init 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 resolução de problemas de rede acontece aqui.

Camada 2: Camada de Ligamento de Dados

Essencialmente, a camada de ligação de dados define o formato de dados na rede. É aqui que ocorre a comunicação de frames de dados entre hospedeis. O protocolo predominente nesta camada é o ARP (Address Resolution Protocol).

ARP é responsável por descobrir endereços de camada de ligação e realiza a mapeamento de endereços IPv4 em camada 3 para endereços MAC. Normalmente, quando um host contacta a porta de acesso padrão, as chances são que ele já tenha o IP do host, mas não os endereços MAC.

O protocolo ARP atua como um ponte entre o terceiro e o segundo layer, 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 se junta à 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 default, o roteador solicitada ARP para procurar o endereço MAC correspondente ao endereço IP.

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

$ ip neighbor show
Check Network ARP Table

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

Layer 3: Camada de Rede / Internet

Esta é a camada na qual você trabalha exclusivamente com endereços IPv4 que os administradores de sistema conhecem. Ela fornece vários protocolos, como ICMP e ARP, que já coveramos, e outros como RIP (Protocolo de Informação de Roteamento).

Alguns dos problemas comuns incluem configuração incorreta de dispositivos ou problemas com dispositivos de rede, como roteadores e switches. 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

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. 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 é chamado de Pesquisa de DNS Inversa.

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 é mais um 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 gerencia a transmissão de dados usando os protocolos TCP e UDP. Só para recapitular, TCP é um protocolo orientado à conexão enquanto o UDP é não-orientado. As aplicações em execução escutam em soquetes que compõem 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 sendo usada por um serviço em execução no sistema. Se você quiser que outro serviço use essa porta, pode ser obrigado a configurá-lo para usar uma porta diferente.

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

Muito do debugging acontecerá nestas 4 camadas. Muito pouco debugging é feito nas camadas de sessão, apresentação e aplicação. Isto é porque elas desempenham um papel menos ativo na funcionalidade de uma rede. No entanto, vamos rápido ter uma visão de 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 os dados a serem usados pela camada de aplicação. Ela especifica como os dispositivos devem criptografar, codificar e comprimir dados com o objetivo de garantir que sejam bem recebidos no 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 da aplicação. 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 em 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á dando errado e ajuda a reduzir o problema.

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