05. Fundamentos de rede para Ubuntu Server: um guia completo

As redes são um aspeto fundamental da administração de servidores, especialmente quando se trabalha com o Ubuntu Server. Quer esteja a configurar um servidor num ambiente de nuvem, quer a gerir uma infraestrutura local, é crucial compreender como configurar interfaces de rede, atribuir endereços IP estáticos, gerir serviços de rede e resolver problemas de conectividade. Neste guia, abordaremos os aspetos essenciais das redes no Ubuntu Server, incluindo o uso de Netplan (a ferramenta de configuração de rede predefinida no Ubuntu 22.04), o tratamento de configurações geradas pelo cloud-init, a gestão de serviços de rede e a resolução de problemas comuns.


Artigo anterior:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar o seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud

03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: um guia completo – SysOSX: AI & Cloud



1. Introdução às redes no Ubuntu Server

O Ubuntu Server usa Netplan como a sua ferramenta de configuração de rede predefinida a partir do Ubuntu 17.10. O Netplan simplifica o processo de definição de configurações de rede com ficheiros YAML. No Ubuntu Server 22.04, systemd-networkd é o serviço de backend predefinido para gerir as redes, enquanto NetworkManager é normalmente usado em ambientes de desktop ou em configurações de servidor específicas que exigem uma gestão de rede avançada.

Backends de rede predefinidos

  • Ubuntu Server 22.04: Usa systemd-networkd como o serviço de rede predefinido.
  • Ubuntu Desktop 22.04: Usa NetworkManager como o serviço de rede predefinido.

Se estiver a usar o Ubuntu Desktop ou tiver instalado NetworkManager manualmente no Ubuntu Server, pode gerir as suas interfaces de rede com ele. No entanto, NetworkManager não está instalado por predefinição nas edições do Ubuntu Server.


2. Configurar interfaces de rede com o Netplan (atualizações do Cloud-Init)

Em ambientes de nuvem, o ficheiro de configuração do Netplan chama-se frequentemente /etc/netplan/50-cloud-init.yaml. Este ficheiro é gerado por cloud-init, e as alterações não persistirão após reinícios da instância, a menos que as capacidades de configuração de rede do cloud-init sejam desativadas.

Desativar a configuração de rede do Cloud-Init

Para desativar as capacidades de configuração de rede do cloud-init, crie um ficheiro em /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg:

sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Adicione o seguinte conteúdo:

network: {config: disabled}

Depois de desativar a configuração de rede do cloud-init, pode criar e gerir manualmente ficheiros de configuração do Netplan persistentes.


Exemplo: configurar um endereço IP estático com o Netplan

Se o seu ficheiro de configuração do Netplan for /etc/netplan/50-cloud-init.yaml, pode modificá-lo diretamente ou criar um novo ficheiro de configuração (por ex., /etc/netplan/01-netcfg.yaml) para definições persistentes.

  • Abra o ficheiro de configuração do Netplan:
sudo nano /etc/netplan/50-cloud-init.yaml
  • Modifique o conteúdo para definir um endereço IP estático:
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
  • eth0: Substitua isto pelo nome da sua interface de rede (use ip a para listar as interfaces).
  • addresses: Atribui um endereço IP estático.
  • routes:
    • to: default: Especifica a rota predefinida.
    • via: 192.168.1.1: Define o endereço do gateway.
  • nameservers: Especifica os servidores DNS.
  • Aplique a configuração:
sudo netplan apply
  • Verifique a configuração:
ip a

3. Configurar um endereço IP estático

Embora o Netplan seja a ferramenta recomendada, também pode configurar manualmente um endereço IP estático em /etc/network/interfaces (usado em versões mais antigas do Ubuntu) ou através de ferramentas de linha de comandos.

O comando ip

O comando ip é uma ferramenta versátil para gerir interfaces de rede. Segue-se um exemplo de atribuição temporária de um endereço IP estático:

sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
  • ip addr add: Atribui um endereço IP à interface de rede.
  • ip route add: Define o gateway predefinido.

Nota: estas alterações são temporárias e serão perdidas após um reinício. Use o Netplan para configurações persistentes.


4. Gerir serviços de rede

O Ubuntu usa systemd-networkd como o serviço de rede predefinido para ambientes de servidor. Gerir este serviço de forma eficaz é essencial para garantir uma conectividade de rede estável.

Verificar o estado dos serviços de rede

Para verificar o estado do serviço de rede, use o seguinte comando:

sudo systemctl status systemd-networkd

Isto apresentará o estado atual e quaisquer erros relacionados com o serviço systemd-networkd.

Reiniciar o serviço de rede

Se precisar de reiniciar o serviço de rede depois de efetuar alterações à sua configuração:

sudo systemctl restart systemd-networkd

Ativar ou desativar o serviço de rede

Para ativar o serviço de rede para iniciar automaticamente no arranque:

sudo systemctl enable systemd-networkd

Para desativar o serviço de rede:

sudo systemctl disable systemd-networkd

Usar o NetworkManager (opcional)

Se estiver a usar NetworkManager em vez de systemd-networkd, pode gerir o serviço da seguinte forma:

  • Verificar o estado:
sudo systemctl status NetworkManager
  • Reiniciar o serviço:
sudo systemctl restart NetworkManager
  • Ativar ou desativar o NetworkManager:
sudo systemctl enable NetworkManager 
sudo systemctl disable NetworkManager

5. Problemas e avisos conhecidos no Netplan

Ao configurar um IP estático num servidor Ubuntu 22.04 com o Netplan, poderá encontrar os seguintes avisos:

Aviso: Cannot call Open vSwitch: ovsdb-server.service is not running

Este aviso ocorre porque o Netplan tenta detetar o Open vSwitch, um comutador de rede virtual frequentemente usado em ambientes de nuvem e virtualizados. Se o Open vSwitch não estiver instalado, o Netplan produz o aviso.

Resolver o aviso

Pode ignorar este aviso em segurança se não usar o Open vSwitch. No entanto, para o eliminar, pode instalar o pacote openvswitch-switch-dpdk, que fornece os componentes necessários para o Open vSwitch.

Execute o seguinte comando:

sudo apt install openvswitch-switch-dpdk

Uma vez instalado, o Netplan detetará a presença do Open vSwitch e deixará de produzir o aviso.

Referência de erro conhecido

Este problema foi oficialmente reportado como um erro no Netplan.
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2041727


6. Ferramentas de linha de comandos para gestão de redes

O Ubuntu disponibiliza uma variedade de ferramentas para gerir e resolver problemas de configuração de rede. Eis algumas das mais utilizadas:

6.1 Comando ip

O comando ip substitui a ferramenta mais antiga ifconfig e é mais poderoso e flexível.

  • Ver interfaces de rede: ip a
  • Verificar rotas: ip route
  • Ativar/desativar uma interface:
sudo ip link set eth0 up 
sudo ip link set eth0 down

6.2 Comando ping

O comando ping é usado para testar a conectividade com outro host.

ping google.com

6.3 Comando traceroute

O comando traceroute identifica o caminho de rede até um destino.

sudo apt install traceroute
traceroute google.com

6.4 Comando Curl

O comando curl testa a conectividade HTTP.

curl http://example.com


7. Resolução de problemas de rede comuns

Os problemas de rede são comuns em ambientes de servidor. Eis alguns cenários e passos de resolução de problemas:

Cenário 1: interface de rede sem funcionar

  • Verifique o estado da interface:
ip a
  • Ative a interface:
sudo ip link set eth0 up

    Cenário 2: não é possível fazer ping a hosts externos

    1. Verifique o gateway predefinido: ip route
    2. Verifique a resolução DNS: nslookup google.com Se o DNS não estiver a resolver, atualize os servidores de nomes na sua configuração do Netplan.

    Cenário 3: problemas de configuração do Netplan

    1. Valide o ficheiro YAML do Netplan:sudo netplan try Isto testa a configuração sem a aplicar permanentemente.
    2. Volte a aplicar a configuração:sudo netplan apply

    Cenário 4: verificar o serviço de rede

    Se os problemas de conectividade de rede persistirem, verifique o estado do serviço de rede:

    sudo systemctl status systemd-networkd
    
    

    Se forem reportados erros, reinicie o serviço:

    sudo systemctl restart systemd-networkd
    
    

    Cenário 5: firewall a bloquear o tráfego

    • Verifique as regras da firewall:
    sudo ufw status
    
    • Permita o tráfego necessário:
    sudo ufw allow 22/tcp sudo ufw allow 80/tcp
    

      Cenário 6: problemas de perda de pacotes ou latência

      • Use ping para verificar a perda de pacotes:
      ping -c 10 google.com
      
      • Use traceroute para identificar estrangulamentos na rede:
      traceroute google.com
      

        8. Conclusão

        As redes são uma competência essencial para os administradores do Ubuntu Server. Este guia abordou os conceitos básicos de configuração de interfaces de rede, gestão de serviços de rede, tratamento de avisos do Netplan, configuração de IP estáticos, uso de ferramentas de linha de comandos e resolução de problemas comuns. Ao dominar ferramentas como o Netplan, ip e ping, poderá gerir e resolver eficazmente os desafios relacionados com a rede no seu servidor.

        Para leitura adicional, consulte a documentação oficial do Ubuntu sobre Netplan e Fundamentos de rede.

        Próximos passos: aplicação de patches, gestão de pacotes e segurança

        Na próxima secção desta série, aprofundaremos aspetos críticos da administração do Ubuntu Server, com foco em a aplicação de patches, a gestão de pacotes e a segurança. Estes tópicos são essenciais para manter um ambiente de servidor seguro, estável e eficiente.

        1. Instalar e gerir software

        Domine os conceitos básicos de instalação, atualização e gestão de software no Ubuntu Server usando apt e outras ferramentas de gestão de pacotes. Aprenda a gerir eficazmente dependências e repositórios para garantir que o seu servidor dispõe do software necessário.

        2. Aplicar patches e atualizar o Ubuntu Server

        • Porque é que a aplicação de patches é fundamental para a segurança e a estabilidade.
        • Usar apt para atualizar o servidor.
        • Compreender a diferença entre apt update, apt upgrade e apt full-upgrade.
        • Automatizar as atualizações com unattended-upgrades.
        • Gerir as atualizações do kernel e reiniciar de forma controlada com reboot-required.

        3. Proteger o seu Ubuntu Server

        • Passos práticos para proteger o seu servidor, incluindo a configuração de firewalls (ufw), a configuração segura de SSH e o uso de ferramentas como fail2ban para proteção contra ataques.
        • Aprenda a reforçar o seu servidor contra vulnerabilidades e acessos não autorizados.

        4. Auditoria e registo no Ubuntu Server

        • Introdução à auditoria do sistema e à importância dos registos.
        • Usar auditd para acompanhar e registar eventos do sistema.
        • Configurar a rotação de registos com logrotate.
        • Monitorizar o diretório /var/log em busca de eventos críticos para garantir uma gestão proativa do servidor.

        4 thoughts on “05. Networking Basics for Ubuntu Server: A Comprehensive Guide”

        Deixe um comentário