Como gerir conexões de rede Linux via terminal

Tomamos as interfaces gráficas (GUIs) como garantidas. Elas geralmente “simplesmente funcionam” e podemos, em grande parte, seguir com os nossos afazeres sem pensar muito. A GUI de rede do Linux agora faz parte desse grupo. Estávamos lá quando configurar redes no Linux era uma tarefa árdua, lembramo-nos de configurar o PPP para nos ligarmos à Internet via modem, no Linux!

O que acontece quando algo corre mal? A GUI falha ou ficamos apenas com um terminal Linux? Talvez estejamos a instalar Linux num servidor sem GUI? Nessas circunstâncias, precisamos de entender como criar, romper e configurar conexões usando o comando ip.

O comando ip é o substituto do comando ifconfig e podemos usá-lo para controlar todos os aspetos da rede. Neste tutorial, mostramos como usar o comando para muitas tarefas de rede básicas, mas essenciais.

As interfaces são os nossos pontos de conexão. Podem ser físicas, como Ethernet, ou baseadas em rádio, como Wi-Fi. Cada interface tem um nome único, para identificar se é Ethernet ou Wi-Fi. No passado, esses nomes eram genéricos, como eth0 para a primeira conexão Ethernet e wlan0 para Wi-Fi.

A nossa primeira tarefa é identificar as interfaces disponíveis.

  1. Abra um terminal e liste todas as interfaces disponíveis. O comando ip pode receber apenas uma letra (a) ou uma palavra-chave (address) como argumento. As interfaces são numeradas e normalmente começam com a interface loopback (lo).
Bash
ip a
ou
ip address
  1. A saída do comando anterior mostrará todas as interfaces. Para retornar apenas as interfaces ativas (up), use este comando.
Bash
ip link ls up
  1. Use este comando para obter os detalhes de uma interface específica. Lembre-se de alterar wlp3s0 para corresponder a uma das interfaces na sua saída. Pode também canalizar a saída do comando usando grep para obter detalhes específicos.
Bash
ip a show wlp3s0
  1. Use este comando para determinar o gateway padrão da sua conexão. O gateway padrão é tipicamente o nosso router doméstico, o hardware que nos permite conectar à Internet.
Bash
ip r
  1. Para desativar uma interface (desconectar), use este comando. Isto desconectará o seu dispositivo Linux da rede. Lembre-se de substituir o nome da interface pelo nome da sua interface.
Bash
sudo ip link set wlp3s0 down
  1. Liste as interfaces ativas, isso mostrará que o seu dispositivo não está mais conectado à rede. No nosso caso, desconectámos Ethernet e Wi-Fi.
Bash
ip link ls up
  1. Ative uma interface usando este comando. Escolhemos ativar nosso Wi-Fi (wlp3s0) para que nosso laptop pudesse conectar-se à Internet. Lembre-se de alterar o nome da interface para o seu.
Bash
sudo ip link set wlp3s0 up

Para muitos de nós, um endereço de IP atribuído dinamicamente pelo nosso router é tudo o que precisamos para nos conectarmos. E se quisermos criar um servidor? Um servidor precisará de um endereço de IP estático para permitir que dispositivos conectados o encontrem.

Usando o que aprendemos com o comando ip, podemos ver os nomes das interfaces no nosso sistema de teste, wlp3s0 (Wi-Fi) e enp0s25 (Ethernet). Então, vamos definir um endereço IP estático para a porta Ethernet.

Estamos a usar um sistema baseado em Debian, mas as instruções também funcionarão num Raspberry Pi com Raspberry Pi OS.

  1. Abra um terminal e faça um backup do seu arquivo de configuração de interfaces de rede existente para o seu diretório home. Isso é essencial, dá-nos um plano de backup caso a configuração falhe. O ~/ é uma abreviação para o diretório home do utilizador atual.
Bash
sudo cp /etc/network/interfaces ~/
  1. Abra o arquivo de configuração das interfaces de rede usando sudo e nano. O arquivo não pode ser editado por um utilizador sem privilégios usando o nano. Usando sudo, podemos temporariamente elevar nossa conta de utilizador para que possamos editar o arquivo.
Bash
sudo nano /etc/network/interfaces
  1. Role até o final do arquivo e adicione as seguintes linhas ao seu arquivo de configuração. Lembre-se de alterar os valores para corresponder à sua rede doméstica e interface. As duas primeiras linhas são para a nossa interface loopback. A linha auto enp0s25 iniciará a interface Ethernet na inicialização do sistema. A linha iface é onde configuramos a interface para usar um endereço IP estático.

Nas linhas subsequentes, definimos o nosso endereço de IP desejado, a máscara de rede (para dividir o endereço de IP em sub-redes, tipicamente 255.255.255.0), gateway (o nosso router) e o domínio DNS e nameserver. Para DNS, usamos o servidor DNS da Cloudflare 1.1.1.1, mas pode usar qualquer outro serviço DNS ou o seu router.

Bash
auto lo
iface lo inet loopback
auto enp0s25
iface enp0s25 inet static
address 192.168.0.180
netmask 255.255.255.0
gateway 192.168.0.1
dns-domain homeserver.pt
dns-nameservers 1.1.1.1
  1. Salve e saia do nano pressionando CTRL+X, depois Y e Enter.
  2. Reinicie a rede no seu servidor para que as alterações entrem em vigor.
Bash
sudo systemctl restart networking
  1. Usando o comando ip, verifique se a sua interface está ativa e se tem uma conexão. Listar as interfaces ativas e canalizar a saída para grep, depois procurar por “inet” provará que a interface está ativa e estamos online.
Bash
ip a ls up | grep inet
  1. Finalmente, faça um ping a um endereço IP para garantir que o seu servidor pode alcançar o mundo exterior. Deve ver pings a serem enviados dentro de alguns milissegundos, se houver um problema, o comando dará erro. Pressione CTRL + C para terminar o comando de ping. Normalmente, usamos o endereço IP do servidor DNS do Google 8.8.8.8, mas também pode usar o 1.1.1.1 da CloudFlare ou o 208.67.222.123 da OpenDNS.
Bash
ping 8.8.8.8
Artigos Relacionados