GUIA PRÁTICO · VIRTUALBOX

IP e roteamento
no Debian 13

Configure a rede interna e utilize a VM1 como gateway para conectar a VM2 à internet.

Rede interna
192.168.200.0/24
Gateway
192.168.200.1
NAT
nftables
Topologia de rede Debian 13 no VirtualBox: VM1 NS1 como gateway, VM2 WEB e VM3 CLIENTE prevista para etapa futura, conectadas à rede interna 192.168.200.0/24. A VM1 acessa a Internet pelo NAT VirtualBox.
Topologia do laboratório Ampliar imagem ↗

HOWTO – Configuração de IP e Roteamento no Debian 13

1. Cenário da atividade

Serão utilizadas duas máquinas virtuais:

VM1 — NS1

Interface Tipo de rede Configuração
enp0s3 NAT DHCP
enp0s8 Rede Interna 192.168.200.1/24

A VM1 será o gateway da rede interna e permitirá que a VM2 acesse a internet.

VM2 — WEB

Interface Tipo de rede Configuração
enp0s3 Rede Interna 192.168.200.2/24

Gateway:

192.168.200.1

DNS sugerido:

8.8.8.8

O caminho da comunicação será representado pela topologia abaixo:

Topologia da comunicação: VM2 WEB na rede 192.168.200.0/24 acessa a Internet pela VM1 NS1 e pelo NAT VirtualBox. Cliente previsto para etapa futura.
Topologia do laboratório Ampliar imagem ↗

Parte 1 — Configuração da VM1 (NS1)

2. Verificar as interfaces de rede

Na VM1 execute:

ip address

ou:

ip a

Verifique se aparecem as interfaces:

enp0s3
enp0s8

Também é possível utilizar:

ip link

3. Configurar a rede da VM1

Edite o arquivo:

vim /etc/network/interfaces

No vim, pressione:

i

para entrar no modo de inserção.

Configure da seguinte maneira:

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet static
    address 192.168.200.1/24

Para salvar e sair do vim:

  1. Pressione Esc.
  2. Digite:
:wq
  1. Pressione Enter.

A interface enp0s3 receberá um endereço automaticamente do NAT do VirtualBox.

A interface enp0s8 ficará com:

192.168.200.1/24

4. Aplicar a configuração

A forma mais simples durante o laboratório é reiniciar a máquina:

reboot

Após reiniciar, faça login novamente e execute:

ip a

Deverá aparecer algo semelhante a:

enp0s3:
    inet 10.0.2.15/24

enp0s8:
    inet 192.168.200.1/24

O endereço recebido em enp0s3 pode ser diferente.


5. Verificar a rota da VM1

Execute:

ip route

Deverá existir uma rota padrão semelhante a:

default via 10.0.2.2 dev enp0s3

E também:

192.168.200.0/24 dev enp0s8

6. Testar o acesso à internet da VM1

Primeiramente teste usando um endereço IP:

ping -c 4 8.8.8.8

Depois teste resolução de nomes:

ping -c 4 google.com

A VM1 deve conseguir acessar a internet antes de continuar.


Parte 2 — Habilitar o roteamento na VM1

7. Verificar se o encaminhamento IPv4 está habilitado

Execute:

sysctl net.ipv4.ip_forward

Provavelmente será exibido:

net.ipv4.ip_forward = 0

O valor 0 significa que a máquina não está encaminhando pacotes entre interfaces.


8. Habilitar temporariamente o roteamento

Execute:

sysctl -w net.ipv4.ip_forward=1

Verifique novamente:

sysctl net.ipv4.ip_forward

Agora deverá aparecer:

net.ipv4.ip_forward = 1

9. Tornar o roteamento permanente

Edite:

vim /etc/sysctl.conf

Pressione:

i

Adicione ao final:

net.ipv4.ip_forward=1

Para salvar e sair:

Esc
:wq
Enter

Depois aplique a configuração:

sysctl -p

Verifique:

sysctl net.ipv4.ip_forward

A saída deverá ser:

net.ipv4.ip_forward = 1

Parte 3 — Configuração do NAT na VM1

10. Instalar o nftables

Execute:

apt update

Depois:

apt install nftables -y

Habilite o serviço:

systemctl enable nftables

11. Criar a configuração do nftables

Edite:

vim /etc/nftables.conf

Pressione:

i

Utilize a seguinte configuração:

#!/usr/sbin/nft -f

flush ruleset

table inet filter {

    chain forward {
        type filter hook forward priority 0;
        policy accept;
    }
}

table ip nat {

    chain postrouting {
        type nat hook postrouting priority srcnat;
        policy accept;

        ip saddr 192.168.200.0/24 oifname "enp0s3" masquerade
    }
}

Para salvar e sair:

Esc
:wq
Enter

A regra:

ip saddr 192.168.200.0/24 oifname "enp0s3" masquerade

faz com que os pacotes provenientes da rede 192.168.200.0/24, quando saírem pela enp0s3, utilizem o endereço IP da própria VM1.


12. Verificar a sintaxe do arquivo

Antes de aplicar:

nft -c -f /etc/nftables.conf

Se não aparecer nenhum erro, carregue as regras:

nft -f /etc/nftables.conf

Reinicie o serviço:

systemctl restart nftables

13. Verificar as regras

Execute:

nft list ruleset

Deverá aparecer, entre outras informações:

table ip nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr 192.168.200.0/24 oifname "enp0s3" masquerade
    }
}

Parte 4 — Configuração da VM2 (WEB)

14. Verificar a interface

Na VM2:

ip a

Confirme que a interface da rede interna é:

enp0s3

15. Configurar o endereço IP da VM2

Edite:

vim /etc/network/interfaces

Pressione:

i

Configure:

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static
    address 192.168.200.2/24
    gateway 192.168.200.1

Para salvar e sair:

Esc
:wq
Enter

16. Aplicar a configuração

Reinicie:

reboot

Após iniciar novamente, execute:

ip a

Deverá aparecer:

inet 192.168.200.2/24

Parte 5 — Verificar o gateway

17. Verificar a tabela de roteamento da VM2

Execute:

ip route

Deverá aparecer aproximadamente:

default via 192.168.200.1 dev enp0s3
192.168.200.0/24 dev enp0s3

A linha mais importante é:

default via 192.168.200.1 dev enp0s3

Ela indica que qualquer destino que não pertença à rede local deverá ser enviado para a VM1.


Parte 6 — Testes de comunicação

18. Testar VM2 → VM1

Na VM2 execute:

ping -c 4 192.168.200.1

O resultado esperado é semelhante a:

64 bytes from 192.168.200.1: icmp_seq=1 ttl=64 time=...

19. Testar VM1 → VM2

Na VM1 execute:

ping -c 4 192.168.200.2

O resultado esperado é:

64 bytes from 192.168.200.2: icmp_seq=1 ttl=64 time=...

Se ambos funcionarem, a comunicação da rede interna está configurada corretamente.


Parte 7 — Testar o acesso à internet

20. Testar utilizando endereço IP

Na VM2:

ping -c 4 8.8.8.8

Se funcionar, significa que:

  • o endereço IP está correto;
  • o gateway está correto;
  • o roteamento da VM1 está funcionando;
  • o NAT está funcionando.

O caminho realizado é:

192.168.200.2
      |
      v
192.168.200.1
      |
      v
   enp0s3
      |
      v
   Internet

Parte 8 — Configurar DNS na VM2

Se:

ping -c 4 8.8.8.8

funcionar, mas:

ping -c 4 google.com

não funcionar, verifique:

cat /etc/resolv.conf

Para o laboratório, pode ser utilizado:

nameserver 8.8.8.8

Edite:

vim /etc/resolv.conf

Pressione:

i

Adicione:

nameserver 8.8.8.8

Depois salve e saia:

Esc
:wq
Enter

Teste novamente:

ping -c 4 google.com

Parte 9 — Verificações finais

Na VM1:

ip a
ip route
sysctl net.ipv4.ip_forward
nft list ruleset

Na VM2:

ip a
ip route
ping -c 4 192.168.200.1
ping -c 4 8.8.8.8
ping -c 4 google.com

Comandos básicos do Vim utilizados na atividade

Para editar os arquivos desta atividade, serão necessários apenas alguns comandos básicos.

Entrar no modo de inserção:

i

Voltar para o modo normal:

Esc

Salvar o arquivo:

:w

Salvar e sair:

:wq

Sair sem salvar:

:q!

Portanto, o fluxo básico será:

vim arquivo

Depois:

i

Faça as alterações.

Em seguida:

Esc
:wq
Enter

Resumo das configurações

VM1 — NS1

Arquivo:

/etc/network/interfaces

Configuração:

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet static
    address 192.168.200.1/24

Roteamento:

net.ipv4.ip_forward=1

NAT:

ip saddr 192.168.200.0/24 oifname "enp0s3" masquerade

VM2 — WEB

Arquivo:

/etc/network/interfaces

Configuração:

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static
    address 192.168.200.2/24
    gateway 192.168.200.1

O que deve aparecer no PDF da atividade

Os alunos deverão registrar prints dos seguintes testes:

VM1

ip a

para demonstrar:

enp0s8 → 192.168.200.1/24

VM2

ip a

para demonstrar:

enp0s3 → 192.168.200.2/24

Gateway da VM2

ip route

para demonstrar:

default via 192.168.200.1

Comunicação entre as máquinas

Na VM2:

ping -c 4 192.168.200.1

Acesso à internet

Na VM2:

ping -c 4 8.8.8.8

e:

ping -c 4 google.com

Com esses testes é possível comprovar a configuração completa da atividade.