Quando os sistemas encontram problemas, como às vezes acontece, você precisa saber como contornar o problema e restaurá-los ao estado normal e funcional. Nesta seção, enfocamos as habilidades fundamentais de solução de problemas de rede que qualquer administrador de sistemas Linux deve ter.
Na maioria dos casos, há uma grande lacuna entre administradores de rede e administradores de sistemas. Administradores de sistemas sem visibilidade de rede geralmente culparão administradores de rede para interrupções e os tempos de inatividade, enquanto os administradores de rede terão conhecimento insuficiente do servidor, muitas vezes culpam os administradores de sistemas pela falha do dispositivo de endpoint. No entanto, o jogo da culpa não ajuda a resolver problemas e, em um ambiente de trabalho, isso pode antagonizar as relações entre os colegas.
Como administrador de sistema, ter uma compreensão fundamental da solução de problemas de rede ajudará a resolver os problemas mais rapidamente e a promover um ambiente de trabalho coeso. É por esta razão que reunimos esta seção para destacar alguns dos
dicas básicas de solução de problemas de rede isso será útil ao diagnosticar problemas relacionados à rede.Em nosso tópico anterior do LFCA series, nós olhamos para 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 (Interconexão de sistemas abertos) modelo. É uma estrutura TCP / IP de 7 camadas que divide um sistema de rede e funções de computação como cada camada.
No OSI modelo, essas funções são segmentadas nas seguintes camadas, começando da parte inferior. Camada Física, Camada de Link de Dados, Camada de Rede, Camada de Transporte, Camada de Sessão. Camada de apresentação e, finalmente, a 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, iremos guiá-lo por cada camada e descobrir os vários protocolos de rede usados e como solucionar problemas de falhas associadas a cada camada.
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:
Nesta camada, as perguntas que vêm à mente são:
Para verificar o status de suas interfaces de rede, execute o comando ip:
Mostrar link $ ip.
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 é o enp0s3
interface. Podemos ver na saída que o estado da interface é PRA CIMA.
Se uma interface de rede estiver inativa, você verá o estado PARA BAIXO saída.
Se for esse o caso, você pode ativar a interface usando o comando:
$ sudo ip link set enp0s3 up.
Alternativamente, você pode executar o comando ifconfig mostrado abaixo.
$ sudo ifconfig enp0s3 up. Mostrar link $ ip.
Apenas para confirmar que seu PC escolheu um endereço IP do roteador ou servidor DHCP, execute o comando ifconfig.
$ ifconfig.
O IPv4 O endereço é prefixado pelo parâmetro inet, conforme mostrado. Por exemplo, o endereço IP para este 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 endereço de IP comando da seguinte forma para verificar o endereço IP do seu sistema.
endereço $ ip.
Para verificar o endereço IP do gateway padrão, execute o comando:
rota $ ip | grep padrão.
O endereço IP do gateway padrão, que na maioria dos casos é o servidor ou roteador DHCP, é indicado conforme mostrado abaixo. Em uma rede IP, você deve ser capaz de executar ping no gateway padrão.
Para verificar os servidores DNS que você está usando, execute o seguinte comando nos sistemas systemd.
$ systemd-resolve --status.
A melhor maneira de verificar os servidores DNS em uso é executar o comando nmcli mostrando
$ (lista dev nmcli || nmcli dev show) 2> / dev / null | grep DNS.
Como você observou, uma grande parte da solução de problemas de rede acontece aqui.
Essencialmente, a camada de enlace de dados determina o formato dos dados na rede. É aqui que ocorre a comunicação dos quadros de dados entre os hosts. O protocolo predominante nesta camada é o ARP ( Protocolo de Resolução de Endereço).
ARP é responsável por descobrir endereços de camada de link e realizar 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 ARP O protocolo preenche a lacuna entre a camada 3 e a camada 2, traduzindo os endereços IPv4 de 32 bits na camada 3 para endereços MAC de 48 bits na camada 2 e vice-versa.
Quando um PC se conecta a 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 ARP para procurar o endereço MAC que acompanha o endereço IP.
Cada sistema tem seu próprio ARP tabela. Para verificar sua tabela ARP, execute o comando:
show vizinho de $ ip.
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.
Esta é a camada com a qual você trabalha exclusivamente IPv4 endereços que estão familiarizados com os administradores do sistema. Ele fornece vários protocolos, como ICMP e ARP que cobrimos e outros, como RASGAR (Protocolo de Informação de Roteamento).
Alguns dos problemas comuns incluem configuração incorreta do dispositivo 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 ICMP pacote de eco para o DNS do Google. O -c
flag denota 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 nenhuma perda de pacote. Se você estiver tendo uma conexão intermitente, pode verificar em qual ponto os pacotes estão sendo descartados usando o comando traceroute do seguinte modo.
$ 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.
Servidor: 127.0.0.53. Endereço: 127.0.0.53 # 53 Resposta não oficial: Nome: google.com. Endereço: 142.250.192.14. Nome: google.com. Endereço: 2404: 6800: 4009: 828:: 200e.
O comando de escavação é 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.
A camada de transporte lida com a transmissão de dados usando TCP e UDP protocolos. Só para recapitular, TCP é um protocolo orientado para conexão, enquanto o UDP não tem conexão. O aplicativo em execução escuta em soquetes que incluem portas e endereços IP.
Problemas comuns que podem ocorrer, incluindo portas TCP bloqueadas que podem ser exigidas por aplicativos. Se você tiver um servidor da web e quiser verificar seu estado de execução, use o netstat ou comando ss para verificar se o serviço da web está escutando a porta 80
$ sudo netstat -pnltu | grep 80. OU. $ 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ê pode ser forçado a configurá-lo para usar uma porta diferente.
Se você ainda estiver tendo problemas, verifique o firewall e verifique se a porta em que está interessado está bloqueada.
A maior parte da solução de problemas acontecerá nessas 4 camadas. Muito pouca solução de problemas é feita nas camadas de sessão, apresentação e aplicativo. Isso ocorre porque eles desempenham um papel menos ativo no funcionamento de uma rede. No entanto, vamos ter uma visão geral rápida do que acontece nessas camadas.
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. Ele também fecha quando a comunicação é encerrada.
Também conhecida como camada de sintaxe, a camada de apresentação sintetiza dados a serem usados pela camada de aplicativo. Ele explica como os dispositivos devem criptografar, codificar e compactar os dados com o objetivo de garantir que sejam bem recebidos na outra extremidade.
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 de aplicação. A camada de aplicativo é rica em protocolos como HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP e NTP, para citar alguns.
Ao solucionar problemas em um sistema Linux, a abordagem em camadas usando o modelo OSI é altamente recomendada, começando pela camada inferior. Isso fornece insights sobre o que está errado e ajuda você a identificar o problema.