Um guia para iniciantes em gerenciamento de rede
Aprenda como as redes funcionam e alguns truques para otimizar o desempenho da rede com código aberto.
A maioria das pessoas se conecta a pelo menos duas redes todos os dias. Depois de ligar um computador ou dispositivo móvel, ele se conecta a uma rede WiFi local, que por sua vez fornece acesso à rede interconectada de redes que é "a internet" (uma combinação das palavras interconectadas redes).
Mas como as redes realmente funcionam? Como seu dispositivo sabe como encontrar a Internet, uma impressora compartilhada ou um compartilhamento de arquivos? Como essas coisas sabem como responder ao seu dispositivo? Que truques os administradores de sistema usam para otimizar o desempenho de uma rede?
O código aberto está firmemente incorporado à tecnologia de rede, portanto, os recursos de rede estão disponíveis gratuitamente para qualquer pessoa que queira aprender mais. Este artigo aborda os fundamentos do gerenciamento de rede usando código aberto.
O que é uma rede?
Uma rede de computadores é um conjunto de dois ou mais computadores que podem se comunicar entre si. Para que a rede funcione, uma máquina em uma rede deve ser capaz de encontrar outra, e a comunicação deve ser capaz de passar de uma máquina para outra. Para resolver este requisito, dois sistemas diferentes foram desenvolvidos e definidos: TCP e IP.
TCP para transporte
Para que os computadores se comuniquem, deve haver um meio de transporte de mensagens entre eles. Quando os humanos falam, os sons de nossas vozes são possíveis graças às ondas sonoras que se movem pelo ar. Os computadores se comunicam com sinais digitais transportados por cabos Ethernet, ondas de rádio ou microondas. As especificações para isso são formalmente definidas como protocolo TCP.
IP para endereçamento
Para que os computadores se enderecem uns aos outros, eles devem ter algum meio de identificação. Quando os humanos se dirigem uns aos outros, usamos nomes e pronomes. Quando os computadores se endereçam, eles usam endereços IP, como 192.168.0.1
, que podem ser mapeados para nomes, como Laptop e Desktop ou Tux ou Penguin. As especificações para isso são formalmente definidas como protocolo IP.
Defina uma configuração mínima
A rede mais simples é uma rede de dois computadores que usa um cabo Ethernet com fio especial chamado cabo cruzado. Um cabo cruzado conecta e transmite sinais provenientes de um computador para os receptores apropriados em outro computador. Existem também adaptadores crossover que convertem uma Ethernet padrão em um cabo crossover.
(Seth Kenlon, CC BY-SA 4.0)
Sem roteador entre os computadores, todo o gerenciamento da rede deve ser feito manualmente em cada máquina, tornando este um bom exercício introdutório aos conceitos básicos de rede.
Com um cabo cruzado, você pode conectar dois computadores. Como os dois computadores estão conectados diretamente, sem nenhum controlador de rede para oferecer orientação, nenhum dos computadores faz nada para criar ou ingressar em uma rede. Normalmente, esta tarefa seria solicitada por um switch e um servidor DHCP ou roteador, mas nesta configuração de rede simples, você é a autoridade final.
Para criar uma rede, primeiro você deve atribuir um endereço IP a cada computador. O bloco reservado para endereços IP auto-atribuídos começa com 169.254
e é uma convenção útil para lembrar que este é um sistema de circuito fechado.
Encontre uma interface de rede
Primeiro, você deve saber com quais interfaces de rede está trabalhando. A porta Ethernet geralmente é designada com o termo eth
mais um número começando com 0
, mas alguns dispositivos são relatados com termos diferentes. Você pode descobrir as interfaces em um computador com o comando ip
:
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
link/loopback 00:00:00:00:00:00 brd ...
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
link/ether dc:a6:32:be:a3:e1 brd ...
3: wlan0: <BROADCAST,MULTICAST> ...
link/ether dc:a6:32:be:a3:e2 brd ...
Neste caso, eth0
é o nome correto da interface. No entanto, em alguns casos, você verá en0
ou enp0s1
ou algo semelhante, por isso é importante sempre verificar o nome do dispositivo antes de usá-lo.
Atribuir um endereço IP
Normalmente, um endereço IP é obtido de um roteador, que transmite ofertas de endereços pela rede. Quando um computador se conecta a uma rede, ele solicita um endereço. O roteador registra qual dispositivo na rede, identificado por seu endereço Media Access Control (MAC) (isso não tem nada a ver com computadores Apple Mac), foi atribuído a qual endereço. É assim que os computadores sabem como se encontrar em uma rede.
Nesta rede simples, entretanto, não há nenhum roteador distribuindo endereços IP ou registrando dispositivos, então você deve criar um endereço IP. Para atribuir um endereço IP a um computador, use o comando ip
:
$ sudo ip address add 169.254.0.1 dev eth0
E novamente no outro computador, desta vez incrementando o endereço IP em 1:
$ sudo ip address add 169.254.0.2 dev eth0
Agora cada computador possui um meio de transporte (o cabo cruzado) e uma forma de ser encontrado na rede (um endereço IP exclusivo). Mas esta rede ainda carece de um elemento importante: os computadores ainda não sabem que são membros de uma rede.
Configurar um trajeto
Outra tarefa que geralmente é gerenciada por um roteador é configurar os caminhos que o tráfego de rede deve seguir para ir de um lugar a outro. Isso é chamado de tabela de roteamento e você pode considerá-la um mapa de cidade muito básico para sua rede.
Atualmente, não existe nenhuma tabela de roteamento na sua rede. Você pode visualizar sua tabela de roteamento inexistente com o comando route
:
$ route
Kernel IP routing table
Destination | Gateway | Genmask | Flags|Metric|Ref | Use | Iface
$
Alternativamente, você pode visualizá-lo com o comando ip
:
$ ip route
$
Você pode adicionar uma rota com o comando ip
:
$ sudo ip route \
add 169.254.0.0/24 \
dev eth0 \
proto static
Este comando adiciona uma rota ao intervalo de endereços (começando em 169.254.0.0
e terminando em 169.254.0.255
) para a interface eth0
. Ele define o protocolo de roteamento como static
para indicar que você, o administrador, criou a rota como uma substituição intencional para qualquer roteamento dinâmico.
Verifique sua tabela de roteamento com o comando route
:
$ route
Kernel IP routing table
Destination | Gateway | Genmask | ... | Iface
link-local | 0.0.0.0 | 255.255.255.0 | ... | eth0
Ou use o comando ip
para uma visualização diferente:
$ ip route
169.254.0.0/24 dev eth0 proto static scope link
Faça ping para seu vizinho
Agora que sua rede estabeleceu um método de transporte, um meio de endereçamento e uma rota de rede, você pode acessar hosts fora do seu computador. A mensagem mais simples para enviar para outro computador é um ping
, que é convenientemente também o nome do comando que gera a mensagem:
$ ping -c1 169.254.0.2
64 bytes from 169.254.0.2: icmp_seq=1 ttl=64 time=0.233 ms
--- 169.254.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.244/0.244/0.244/0.000 ms
Você também pode ver os vizinhos com quem interagiu:
$ ip neighbour
169.254.0.2 dev eth0 lladdr e8:6a:64:ac:ef:7c STALE
Aumente sua rede com um switch
Não há muitas necessidades de redes de dois nós. Hardware especial, chamado de switch de rede, foi desenvolvido para resolver esse problema. Um switch de rede permite conectar vários cabos Ethernet a ele e distribui mensagens indiscriminadamente do computador, enviando-as para o endereço IP de destino. É uma maneira fácil de conectar fisicamente um grupo de computadores.
Um switch físico com cabos físicos não é prático ou desejado na maioria das redes domésticas modernas; portanto, um ponto de acesso WiFi é frequentemente usado. Um ponto de acesso WiFi tem a mesma função que um switch: permite que muitos computadores se conectem a ele e passem mensagens entre eles.
Um switch ou ponto de acesso WiFi sem acesso à Internet não é muito útil para a maioria dos usuários de computador e, para conectar sua rede a outra rede, como a Internet, você precisa de um roteador.
Adicionar um roteador
Na prática, as redes locais conectam muitos dispositivos, e o número está crescendo à medida que mais dispositivos se tornam conscientes da rede. Conecte uma rede à Internet (a própria rede) e esse número aumentará em ordens de magnitude.
É impraticável configurar manualmente até mesmo uma rede pequena, portanto tarefas comuns são atribuídas a nós específicos na rede e cada computador executa um daemon (um trabalho executado silenciosamente em segundo plano) para preencher as configurações de rede recebidas. de servidores autorizados na rede. Em uma rede doméstica, esses trabalhos geralmente são consolidados em um pequeno dispositivo incorporado, geralmente fornecido pelo seu provedor de serviços de Internet (ISP), chamado de roteador (às vezes as pessoas o chamam incorretamente de modem). Em uma rede grande, cada tarefa geralmente é atribuída a um servidor dedicado separado para garantir foco e resiliência. Esses incluem:
- Servidor DHCP para atribuir e rastrear endereços IP a dispositivos que ingressam na rede
- Servidor DNS para converter nomes de domínio registrados como redhat.com em endereços IP como
209.132.183.105
- Firewall para proteger sua rede contra tráfego de entrada indesejado ou tráfego de saída proibido
- Roteador para direcionar eficientemente o tráfego na rede, servir como gateway para outras redes (como a Internet) e realizar tradução de endereços de rede (NAT).
Você provavelmente tem um roteador em sua rede agora e ele provavelmente gerencia todas essas tarefas e possivelmente mais. Você pode executar seu próprio roteador de código aberto graças a projetos como o VyOS. Para tal projeto, você deve usar um computador dedicado com pelo menos dois controladores de interface de rede (NICs): um para conectar-se ao seu ISP e outro para conectar-se a um switch ou, mais provavelmente, a um ponto de acesso WiFi.
Amplie seu conhecimento
Independentemente de quantos dispositivos estão na sua rede ou de quantas outras redes ela está conectada, os princípios permanecem os mesmos da sua rede de dois nós. Você precisa de um meio de transporte, um esquema de endereçamento e conhecimento de como chegar à rede.
Folha de dicas de rede
Compreender como uma rede opera é vital para gerenciá-la. Você não pode solucionar problemas a menos que entenda os resultados de seus testes e não pode executar testes a menos que saiba quais comandos interagem com sua infraestrutura de rede. Para obter uma visão geral dos comandos de rede importantes e que tipo de informações você pode extrair com eles, baixe nossa folha de dicas de rede atualizada.