Red Hat Training

A Red Hat training course is available for RHEL 8

45.4.4. Configuração do NAT de destino usando nftables

O NAT de destino permite redirecionar o tráfego em um roteador para um host que não é diretamente acessível a partir da Internet.

O procedimento a seguir descreve como redirecionar o tráfego de entrada enviado para a porta 80 e 443 do roteador para o host com o endereço IP 192.0.2.1.

Procedimento

  1. Criar uma mesa:

    # nft adicionar tabela nat
  2. Acrescente as cadeias prerouting e postrouting à tabela:

    # nft -- add chain nat prerouting { type nat hook prerouting priority -100 \; }
    # nft add chain nat postrouting { type nat hook postrouting priority 100 \; }
    Importante

    Mesmo que você não acrescente uma regra à cadeia postrouting, a estrutura nftables exige que esta cadeia combine as respostas dos pacotes de saída.

    Observe que você deve passar a opção -- para o comando nft para evitar que o shell interprete o valor de prioridade negativa como uma opção do comando nft.

  3. Adicione uma regra à cadeia prerouting que redireciona o tráfego de entrada na interface ens3 enviada para a porta 80 e 443 para o host com o IP 192.0.2.1:

    # nft adicionar regra nat prerouting iifname ens3 tcp dport { 80, 443 } dnat a 192.0.2.1
  4. Dependendo de seu ambiente, adicione uma regra SNAT ou mascarada para alterar o endereço de origem:

    1. Se a interface ens3 utilizava endereços IP dinâmicos, acrescente uma regra de mascaramento:

      # nft adicionar regra nat postrouting oifname {\i1}"ens3} mascarada
    2. Se a interface ens3 usa um endereço IP estático, adicione uma regra SNAT. Por exemplo, se o ens3 usa o endereço IP 198.51.100.1:

      nft adicionar a regra nat postrouting oifname {\i1}"ens3} snat a 198.51.100.1