1.9. Utilisation de DNAT pour transférer le trafic HTTPS vers un autre hôte


Si votre serveur web fonctionne dans une zone démilitarisée avec des adresses IP privées, vous pouvez configurer la traduction d'adresse de réseau de destination (DNAT) pour permettre aux clients sur l'internet de se connecter à ce serveur web. Dans ce cas, le nom d'hôte du serveur web est résolu en fonction de l'adresse IP publique du routeur. Lorsqu'un client établit une connexion à un port défini du routeur, ce dernier transmet les paquets au serveur web interne.

Conditions préalables

  • Le serveur DNS résout le nom d'hôte du serveur web en adresse IP du routeur.
  • Vous connaissez les paramètres suivants :

    • L'adresse IP privée et le numéro de port que vous souhaitez transférer
    • Le protocole IP à utiliser
    • L'adresse IP et le port de destination du serveur web où vous souhaitez rediriger les paquets

Procédure

  1. Créer une politique de pare-feu :

    # firewall-cmd --permanent --new-policy ExamplePolicy

    Les stratégies, contrairement aux zones, permettent le filtrage des paquets pour le trafic d'entrée, de sortie et transféré. C'est important, car le transfert du trafic vers des points d'extrémité sur des serveurs web, des conteneurs ou des machines virtuelles exécutés localement nécessite une telle capacité.

  2. Configurez des zones symboliques pour le trafic entrant et sortant afin de permettre au routeur lui-même de se connecter à son adresse IP locale et de transmettre ce trafic :

    # firewall-cmd --permanent --policy=ExamplePolicy --add-ingress-zone=HOST
    # firewall-cmd --permanent --policy=ExamplePolicy --add-egress-zone=ANY

    L'option --add-ingress-zone=HOST se réfère aux paquets générés localement, qui sont transmis à partir de l'hôte local. L'option --add-egress-zone=ANY fait référence au trafic destiné à n'importe quelle zone.

  3. Ajoutez une règle riche qui redirige le trafic vers le serveur web :

    # firewall-cmd --permanent --policy=ExamplePolicy --add-rich-rule='rule family="ipv4" destination address="192.0.2.1" forward-port port="443" protocol="tcp" to-port="443" to-addr="192.51.100.20"'

    La règle riche transfère le trafic TCP du port 443 de l'adresse IP 192.0.2.1 du routeur vers le port 443 de l'adresse IP 192.51.100.20 du serveur web. La règle utilise le site ExamplePolicy pour s'assurer que le routeur peut également se connecter à son adresse IP locale.

  4. Recharger les fichiers de configuration du pare-feu :

    # firewall-cmd --reload
    success
  5. Activer le routage de 127.0.0.0/8 dans le noyau :

    # echo "net.ipv4.conf.all.route_localnet=1" > /etc/sysctl.d/90-enable-route-localnet.conf
    # sysctl -p /etc/sysctl.d/90-enable-route-localnet.conf

Vérification

  1. Connectez-vous à l'adresse IP du routeur et au port que vous avez transféré au serveur web :

    # curl https://192.0.2.1:443
  2. Facultatif : Vérifiez que net.ipv4.conf.all.route_localnet est actif :

    # sysctl net.ipv4.conf.all.route_localnet
    net.ipv4.conf.all.route_localnet = 1
  3. Vérifiez que ExamplePolicy est actif et contient les paramètres dont vous avez besoin. En particulier l'adresse IP et le port de la source, le protocole à utiliser, ainsi que l'adresse IP et le port de la destination :

    # firewall-cmd --info-policy=ExamplePolicy
    ExamplePolicy (active)
      priority: -1
      target: CONTINUE
      ingress-zones: HOST
      egress-zones: ANY
      services:
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
    	rule family="ipv4" destination address="192.0.2.1" forward-port port="443" protocol="tcp" to-port="443" to-addr="192.51.100.20"

Ressources supplémentaires

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.