Executando verificação de segurança...
1

Criando NAT com NFTABLES no DEBIAN

Aqui temos um breve tutorial de como configurar NAT utilizando NFTABLES em um Servidor Linux Debian 11.5

Topologia

topology

Configurado os ips das interfaces dos dispositivos de ponta(usuários), podemos seguir para as configurações do Servidor

NO SERVIDOR DEBIAN / NAT

Configurando as Interfaces de Acordo com o cenário
Configurando LAN
ip address add 192.168.0.1/24 dev ens5 Configurando WAN ip address add 192.168.122.100/24 dev ens4

Habilitando roteamento entre interfaces
echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf sysctl -p

Instalando o NFTABLES
$ sudo apt update && sudo apt install -y nftables ;

Habilitando o NFTABLES
sudo systemctl enable nftables sudo systemctl start nftables

Iniciando as configurações do NFTABLES
Apagando configurações anteriores
$ nft flush ruleset

Criando Tabela NAT
$ nft add table nat

Adicionando chaves de Roteamento e Pré-Rotemaento na tabela NAT
nft -- add chain nat prerouting { type nat hook prerouting priority -100 \; } nft add chain nat postrouting { type nat hook postrouting priority 100 ; }

Adicionanod Regra de Mascaramento
$ nft add rule nat postrouting oifname "ens4" masquerade

Configurando regra de Saída de NAT(NA WAN)
$ nft add rule nat postrouting oifname "ens4" snat to 192.168.122.100

Configurando Regra de Entrada de NAT(NA LAN)
$ nft add rule nat prerouting iifname ens4 dnat to 192.168.0.0/24

NA MAQUINA LAN-CLIENT1
$ ping 8.8.8.8

Observamos o sucesso e correto funcionamento do comando.
Observando no WireShark(Conexão NAT_ens4_to_SW-WAN_Ethernet1) podemos comprovar que o roteamento e o mascaramento está funcionando

wireshark-test1

Tornando as configurações permanentes

Para isso configuramos as interfaces de rede de acordo com o cenário, posteriormente configuramos o script do NFTABLES

Criando diretório de trabalho
$ mkdir -p /etc/nat/

Criando script do NFTABLES
$ touch /etc/nat/nat_ruleset.nft

O script /etc/nat/nat_ruleset.nft deve conter o seguinte conteúdo

“
#!/usr/sbin/nft -f
flush ruleset
add table nat
add chain nat prerouting { type nat hook prerouting priority -100 ; }
add chain nat postrouting { type nat hook postrouting priority 100 ; }
add rule nat postrouting oifname "ens4" masquerade
add rule nat postrouting oifname "ens4" snat to 192.168.122.100
add rule nat prerouting iifname ens4 dnat to 192.168.0.0/24
”

Para concluir, devemos fazer com que esse script seja executado no boot, para isso executamos o comando abaixo
$ echo “nft -f /etc/nat/nat_ruleset.nft” >> /etc/rc.local

Caso o arquivo não exista, crie ele, de permissões de execução e não esqueça de colocar o shebang na primeira linha do arquivo

Para mais informações, acesse o repositório no GitHub onde conta com um script de configuração

Carregando publicação patrocinada...
2

Isso me trouxe péssimas memórias das minhas aulas de redes de computadores, aparentemente meu professor fez doutorado em como traumatizar alunos