6.7.2. Encaminhamento de pacotes de entrada em uma porta local específica para um host diferente
Você pode usar uma regra de tradução de endereço de rede de destino (DNAT) para encaminhar pacotes de entrada em uma porta local para um host remoto. Isto permite aos usuários na Internet acessar um serviço que roda em um host com um endereço IP privado.
O procedimento descreve como encaminhar os pacotes IPv4 recebidos na porta local 443
para o mesmo número de porta no sistema remoto com o endereço IP 192.0.2.1
.
Pré-requisito
-
Você está logado como o usuário
root
no sistema que deve encaminhar os pacotes.
Procedimento
Criar uma tabela com o nome
nat
com a família de endereçosip
:# nft adicionar tabela ip nat
Acrescente as cadeias
prerouting
epostrouting
à tabela:# nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; } # nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
NotaPasse a opção
--
para o comandonft
para evitar que a casca interprete o valor de prioridade negativa como uma opção do comandonft
.Adicione uma regra à cadeia
prerouting
que redireciona os pacotes recebidos na porta443
para a mesma porta em192.0.2.1
:# nft adicionar regra ip nat prerouting tcp dport 443 dnat a 192.0.2.1
Adicione uma regra à cadeia
postrouting
para disfarçar o tráfego de saída:# nft adicionar regra ip daddr 192.0.2.1 mascarada
Habilitar o envio de pacotes:
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf