2.8. Configuration de la redirection de port à l'aide de nftables


La redirection de port permet aux administrateurs de rediriger les paquets envoyés à un port de destination spécifique vers un autre port local ou distant.

Par exemple, si votre serveur web n'a pas d'adresse IP publique, vous pouvez définir une règle de transfert de port sur votre pare-feu qui transfère les paquets entrants sur les ports 80 et 443 du pare-feu vers le serveur web. Grâce à cette règle de pare-feu, les utilisateurs sur internet peuvent accéder au serveur web en utilisant l'IP ou le nom d'hôte du pare-feu.

2.8.1. Transférer les paquets entrants vers un autre port local

Vous pouvez utiliser nftables pour transférer des paquets. Par exemple, vous pouvez transférer les paquets IPv4 entrants sur le port 8022 vers le port 22 sur le système local.

Procédure

  1. Créez une table nommée nat avec la famille d'adresses ip:

    # nft add table ip nat
  2. Ajoutez les chaînes prerouting et postrouting au tableau :

    # nft -- add chain ip nat prerouting { type nat hook prerouting priority -100 \; }
    Note

    Passez l'option -- à la commande nft pour éviter que le shell n'interprète la valeur négative de la priorité comme une option de la commande nft.

  3. Ajoutez une règle à la chaîne prerouting qui redirige les paquets entrants sur le port 8022 vers le port local 22:

    # nft add rule ip nat prerouting tcp dport 8022 redirect to :22

2.8.2. Transférer les paquets entrants sur un port local spécifique vers un autre hôte

Vous pouvez utiliser une règle de traduction d'adresse réseau de destination (DNAT) pour transférer les paquets entrants sur un port local vers un hôte distant. Cela permet aux utilisateurs sur Internet d'accéder à un service qui s'exécute sur un hôte avec une adresse IP privée.

Par exemple, vous pouvez transférer les paquets IPv4 entrants sur le port local 443 vers le même numéro de port sur le système distant avec l'adresse IP 192.0.2.1.

Conditions préalables

  • Vous êtes connecté en tant qu'utilisateur root sur le système qui doit transférer les paquets.

Procédure

  1. Créez une table nommée nat avec la famille d'adresses ip:

    # nft add table ip nat
  2. Ajoutez les chaînes prerouting et postrouting au tableau :

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

    Passez l'option -- à la commande nft pour éviter que le shell n'interprète la valeur négative de la priorité comme une option de la commande nft.

  3. Ajoutez une règle à la chaîne prerouting qui redirige les paquets entrants sur le port 443 vers le même port sur 192.0.2.1:

    # nft add rule ip nat prerouting tcp dport 443 dnat to 192.0.2.1
  4. Ajoutez une règle à la chaîne postrouting pour masquer le trafic sortant :

    # nft add rule ip nat postrouting daddr 192.0.2.1 masquerade
  5. Activer le transfert de paquets :

    # echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf
    # sysctl -p /etc/sysctl.d/95-IPv4-forwarding.conf
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.