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
rootno sistema que deve encaminhar os pacotes.
Procedimento
Criar uma tabela com o nome
natcom a família de endereçosip:nft adicionar tabela ip nat
# nft adicionar tabela ip natCopy to Clipboard Copied! Toggle word wrap Toggle overflow Acrescente as cadeias
preroutingepostroutingà 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 \; }# nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; } # nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow NotaPasse a opção
--para o comandonftpara evitar que a casca interprete o valor de prioridade negativa como uma opção do comandonft.Adicione uma regra à cadeia
preroutingque redireciona os pacotes recebidos na porta443para a mesma porta em192.0.2.1:nft adicionar regra ip nat prerouting tcp dport 443 dnat a 192.0.2.1
# nft adicionar regra ip nat prerouting tcp dport 443 dnat a 192.0.2.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Adicione uma regra à cadeia
postroutingpara disfarçar o tráfego de saída:nft adicionar regra ip daddr 192.0.2.1 mascarada
# nft adicionar regra ip daddr 192.0.2.1 mascaradaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow