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.

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.

É 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 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

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.

Se for o caso, pode levantar a interface usando o comando:
$ sudo ip link set enp0s3 up

Alternativamente, pode executar o comando ifconfig abaixo.
$ sudo ifconfig enp0s3 up $ ip link show

Apenas para confirmar que o seu PC escolheu uma diretoria de IP do router ou do 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 de 255.255.255.0.
$ ifconfig

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.

Para verificar os servidores DNS que você está usando, execute o seguinte comando em sistemas com init systemd.
$ systemd-resolve --status

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

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

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

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

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

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

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/