Noções básicas de trabalho com rede: comandos ping
, ip addr
, ifconfig
1. Introdução aos Conceitos de Rede: um pouco de teoria
Na palestra de hoje, vamos entender os fundamentos das ferramentas de rede no Linux. Você vai aprender como verificar a acessibilidade de hosts na rede, analisar o estado das interfaces de rede e sua configuração, além de trabalhar com ajustes de rede.
As redes são como o sistema nervoso do mundo da TI. Se você já se perguntou como o seu navegador abre uma página da web, aqui vai uma resposta curta: graças às redes. Independentemente da função que você vai desempenhar (desenvolvedor, administrador ou engenheiro), entender os fundamentos de rede é uma habilidade essencial.
O que é uma rede? É um conjunto de computadores conectados para compartilhar dados. No contexto do Linux, a administração de rede começa entendendo conceitos básicos:
- Endereço IP: é o identificador único de um dispositivo na rede. Imagine que é como o endereço postal do seu computador.
- Sub-rede: é uma organização lógica de dispositivos em uma rede. É como um bairro onde as casas têm seus endereços.
- Gateway: é a “saída para o mundo”, através do qual os dispositivos da sua rede local podem acessar a internet ou se conectar a outras sub-redes.
Existem dois tipos de endereços IP: IPv4 (por exemplo, 192.168.1.1
) e IPv6 (por exemplo, 2001:0db8:85a3:0000:0000:8a2e:0370:7334
). IPv4 é mais simples e é com ele que vamos trabalhar nesta palestra. IPv6 é uma padrão bacana e de longo prazo, mas vamos estudar isso depois.
2. Comando ping
: verificando a acessibilidade de um nó
O que faz o ping
?
ping
é uma ferramenta que verifica se outro nó na rede está acessível. Ela envia uma pequena "mensagem de saudação" para o servidor de destino (um pedido ICMP) e espera por uma resposta. Se o nó responder, está tudo certo; se não, pode ser que algo deu errado (ou o servidor decidiu te ignorar, que antipático!).
Como usar o ping
?
Bora tentar usar o comando ping
. Abre o terminal e digita o seguinte comando:
ping 8.8.8.8
Esse comando vai enviar solicitações para o servidor público DNS do Google. Você verá algo assim:
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=10.3 ms
Aqui está o que significam essas linhas:
- icmp_seq: número da solicitação enviada.
- ttl: "tempo de vida" do pacote (quantos "saltos" na rede ele pode dar).
- time: tempo (em milissegundos) necessário para enviar e receber a resposta.
Para limitar o número de solicitações enviadas, você pode usar a flag -c
:
ping -c 4 8.8.8.8
Esse comando vai enviar só 4 solicitações ao invés de um fluxo infinito.
Prática: verificando conexão com o host local e a internet
Tente usar o ping
com o endereço IP do seu roteador (geralmente algo como 192.168.1.1
) e com 8.8.8.8
. Isso vai te ajudar a entender se sua rede local está funcionando e se você tem acesso à internet.
3. Comando ip addr
: verificando interfaces de rede
O que é uma interface de rede?
Uma interface de rede é aquilo através do qual seu computador "conversa" com a rede. Pode ser uma interface para Ethernet
(conexão cabeada), WLAN
(conexão sem fio) ou interfaces virtuais criadas para tarefas específicas.
O comando ip addr
exibe a configuração atual das interfaces de rede. Vamos testá-lo:
ip addr
O resultado será algo como:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
inet6 fe80::1a2b:3c4d:5e6f:f7g8/64 scope link
O que vemos aqui:
lo
— esta é a interface local (localhost). O endereço dela é sempre127.0.0.1
.enp0s3
— este é o nome da interface de rede do adaptador Ethernet.inet
— endereço IPv4 da interface.inet6
— endereço IPv6 da interface.
Como configurar temporariamente um endereço IP?
Se você tiver privilégios de superusuário (via sudo
), pode configurar temporariamente um endereço IP:
sudo ip addr add 192.168.1.101/24 dev enp0s3
Esse endereço IP será válido até a próxima reinicialização.
4. Comando ifconfig
: ferramenta antiga, mas ainda popular
Antigamente, o comando ifconfig
era utilizado pra gerenciar interfaces de rede. Hoje em dia, ele tá saindo de cena (sendo substituído pelo ip addr
), mas às vezes ainda aparece em distribuições mais antigas.
Verificando o estado das interfaces
Pra ver o estado das interfaces usando ifconfig
, executa:
ifconfig
O resultado vai ser parecido com o que é mostrado pelo comando ip addr
.
Ativando/desativando uma interface
Você pode ativar ou desativar uma interface usando:
sudo ifconfig enp0s3 down
sudo ifconfig enp0s3 up
De novo, lembra que o ifconfig
não funciona em todas as distribuições modernas. Se o comando não for encontrado, tenta instalar o pacote net-tools
, ou vai direto pro ip addr
.
5. Exemplo: verificando disponibilidade e rede
Agora bora juntar o que aprendemos em um exemplo prático curtinho.
Verifique a disponibilidade da interface local:
ping 127.0.0.1
Cheque o endereço IP da sua rede:
ip addr
Tente configurar um novo endereço IP temporariamente:
sudo ip addr add 192.168.1.102/24 dev enp0s3 ip addr show enp0s3
Verifique a disponibilidade de um nó público:
ping -c 3 8.8.8.8
Se você estiver usando uma distribuição antiga, tente alternar a interface:
sudo ifconfig enp0s3 down sudo ifconfig enp0s3 up
Agora você está equipado com ferramentas básicas para diagnosticar a rede no Linux. Os comandos ping
, ip addr
e ifconfig
são seus primeiros passinhos no mundo da administração de redes. E daqui pra frente só vai ficar mais interessante!
GO TO FULL VERSION