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:
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:
- Pressione
Esc. - Digite:
:wq
- 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.