Acessibilidade:Áudio:1,0×
Capacitação DigitalPrograma Nacional — Moçambique
Módulo 3 de 13 · Redes Avançadas e Introdução à Segurança Cibernética

Encaminhamento de Redes

Progresso neste dispositivo0/5

Tradução de endereços de rede

  • Texto: disponível
  • Síntese em leitura fácil: disponível
  • Leitura em voz alta pelo navegador: disponível
  • Alto contraste e navegação por teclado: controlos disponíveis
  • Vídeo e legendagem: por produzir
  • Língua de Sinais Moçambicana: por produzir
  • Revisão de acessibilidade por terceiros: por realizar

Os controlos de acessibilidade existem e funcionam. Isso não equivale a uma revisão de acessibilidade feita por terceiros: essa revisão está proposta e ainda não foi realizada.

Duração: 80 minutos (explicação 20, prática guiada 50, verificação 10). Resultados dos TdR trabalhados: Serviços de rede: DHCP, DNS, VPN, NAT, VLAN e autenticação; Segurança desde a concepção.

Objectivos

  • Explicar NAT de origem (mascaramento) e de destino (reencaminhamento de porta).
  • Configurar NAT no r1 com nftables.
  • Reconhecer que NAT não substitui firewall.

Tradução de endereços

Os endereços privados (RFC 1918) não são encaminhados na internet. O NAT de origem troca o endereço privado pelo endereço público do encaminhador e guarda a correspondência numa tabela de estado, para que as respostas voltem ao posto certo. Muitos postos partilham um só endereço público, distinguidos pela porta (PAT).

O NAT de destino publica um serviço interno: pedidos que chegam ao endereço público numa porta são enviados a um servidor interno. É uma decisão de exposição: só se publica o que é necessário, com firewall e actualizações. O NAT esconde endereços mas não é, por si, controlo de segurança.

Caso fictício

A DPE (fictícia) quer que a sede navegue através do único endereço fornecido pelo operador (203.0.113.2) e publicar o portal interno do srv na porta 80.

Prática guiada em rede isolada

Rede de prática fictícia, criada dentro de um computador de prática com o script base (módulo 1, lição 1). Nunca use estes passos na rede de produção nem contra endereços reais. As saídas mostradas são exemplos didácticos, não resultados de uma execução.

Topologia (descrição em texto)

  • pc-adm (10.10.10.10) — ligado a r1 pela VLAN 10.
  • srv (10.10.20.53) — ligado a r1 pela VLAN 20.
  • r1 (encaminhador da sede) — ligado a pc-adm, srv, r2 e isp.
  • r2 (encaminhador da delegação) — ligado a r1 e a pc-del (10.20.10.10).
  • isp (operador simulado) — ligado a r1 e ao servidor externo 198.51.100.10 (endereço dentro de isp).

Passos

  1. Confirme que, sem NAT, o servidor externo não sabe responder à rede privada.

    sudo ip -n r1 route add default via 203.0.113.1
    sudo ip netns exec pc-adm ping -c 1 -W 1 198.51.100.10

    Saída de exemplo (didáctica):

    1 packets transmitted, 0 received
  2. Crie a tabela NAT no r1 com mascaramento de saída pela interface do operador.

    sudo ip netns exec r1 nft add table ip nat
    sudo ip netns exec r1 nft 'add chain ip nat postrouting { type nat hook postrouting priority srcnat; }'
    sudo ip netns exec r1 nft add rule ip nat postrouting oifname "r1-isp" ip saddr 10.10.0.0/16 masquerade
    sudo ip netns exec pc-adm ping -c 1 198.51.100.10

    Saída de exemplo (didáctica):

    1 packets transmitted, 1 received
  3. Veja, no isp, que a origem aparece como 203.0.113.2.

    Consola A: sudo ip netns exec isp tcpdump -ni isp-r1 -c 1 'icmp[icmptype] == icmp-echo'
    Esperar na consola A a linha «listening on isp-r1»; termina sozinho após 1 pacote.
    Consola B: sudo ip netns exec pc-adm ping -c 1 198.51.100.10

    Saída de exemplo (didáctica):

    IP 203.0.113.2 > 198.51.100.10: ICMP echo request
  4. Publique o portal do srv na porta 80 (NAT de destino) e teste a partir do isp.

    Consola C (deixar aberta): sudo ip netns exec srv python3 -m http.server 80 --bind 10.10.20.53
    Esperar a linha «Serving HTTP on 10.10.20.53 port 80» antes do passo seguinte.
    sudo ip netns exec r1 nft 'add chain ip nat prerouting { type nat hook prerouting priority dstnat; }'
    sudo ip netns exec r1 nft add rule ip nat prerouting iifname "r1-isp" tcp dport 80 dnat to 10.10.20.53
    sudo ip netns exec isp python3 -c "import urllib.request as u; print(u.urlopen('http://203.0.113.2/').status)"
    sudo ip netns exec r1 nft list table ip nat

    Saída de exemplo (didáctica):

    200
    table ip nat {
      chain postrouting { type nat hook postrouting priority srcnat; policy accept;
        oifname "r1-isp" ip saddr 10.10.0.0/16 masquerade }
      chain prerouting { type nat hook prerouting priority dstnat; policy accept;
        iifname "r1-isp" tcp dport 80 dnat to 10.10.20.53 }
    }

Critérios de sucesso

  • pc-adm alcança 198.51.100.10 apenas com NAT activo.
  • O isp vê a origem 203.0.113.2.
  • O portal responde no endereço público só na porta 80.

Como desfazer (reversão)

  • sudo ip netns exec r1 nft delete table ip nat
  • sudo ip -n r1 route del default via 203.0.113.1
  • Na consola C, terminar o servidor de teste com Ctrl+C (termina só esse processo).

Alternativa em papel: tarefas e respostas esperadas

Porque o ping falhou antes do NAT?
O servidor externo recebeu o pedido com origem 10.10.10.10 (privada); não tem rota para ela, por isso a resposta não volta.
Escreva a regra de NAT de destino para publicar SSH do srv na porta 2222 externa.
iifname "r1-isp" tcp dport 2222 dnat to 10.10.20.53:22 — e justificar se é mesmo necessário; preferir VPN (módulo 7) a publicar SSH.
O NAT protege o portal publicado?
Não. Quem chega à porta 80 pública chega ao portal. A protecção vem de firewall, actualizações, configuração segura e monitorização.

Verifique o que aprendeu

Questão 1

O mascaramento permite que muitos postos partilhem um endereço público porque:

  1. Usam MAC diferentes
  2. O encaminhador distingue as ligações pelas portas e guarda estado
  3. O operador atribui mais endereços
  4. Usa DNS
Ver resposta comentada

Resposta: O encaminhador distingue as ligações pelas portas e guarda estado

É a tabela de estado (conntrack no Linux) que guarda endereço e porta originais de cada ligação.

Questão 2

Qual afirmação é correcta?

  1. NAT é uma firewall completa
  2. NAT de destino expõe um serviço interno e exige protecção adicional
  3. NAT cifra o tráfego
  4. NAT elimina a necessidade de rotas
Ver resposta comentada

Resposta: NAT de destino expõe um serviço interno e exige protecção adicional

Publicar um serviço é abrir uma porta de entrada; decidir o que publicar é uma decisão de segurança.

Em leitura fácil

  • Endereços internos não vão para a internet.
  • O NAT troca-os pelo endereço da instituição.
  • Publicar um serviço abre uma porta: proteja-a.

Fontes

  • IETF RFC 3022 — Traditional IP Network Address Translator (https://www.rfc-editor.org/rfc/rfc3022)
  • IETF RFC 1918 — Address Allocation for Private Internets (https://www.rfc-editor.org/rfc/rfc1918)
  • Projecto nftables — wiki oficial (https://wiki.nftables.org/)

Progresso apenas neste aparelho. Sem sessão iniciada com matrícula numa turma deste curso, o que marcar fica guardado só aqui e não conta para a sua formação.

Marcar uma lição como feita não regista presença, não dá aprovação nem emite certificado.

← Protocolos de encaminhamento