En plus de la table de filtrage la plus couramment utilisée, iptables utilise également occasionnellement la table nat. NAT est Network Address Translation, qui est utilisé pour modifier l’adresse IP source ou l’adresse IP de destination. Jetons maintenant un coup d'œil au processus de table et de chaîne d'un simple paquet de données passant via iptables vers l'hôte principal.
1. Parcourez la chaîne PREROUTING de la table NAT
2. Déterminez si le paquet de données va entrer dans la machine via le routage. Sinon, effectuez l'étape suivante
3 .Après être passé par la chaîne FORWARD du Filtre
4. Après être passé par la chaîne POSTROUTING de la table NAT, il est finalement envoyé
La première et la dernière étapes liées à NAT sont la chaîne PREROUTING et la chaîne POSTROUTING.
La chaîne PREROUTING modifie l'IP de destination, appelée DNAT
La chaîne POSTROUTING modifie l'IP source, appelée SNAT
DNAT
Alors, quels scénarios doivent utiliser DNAT et quelles sont les applications courantes de SNAT ? Pour DNAT, la chose la plus courante est de mapper le port réseau interne au réseau externe afin que d'autres utilisateurs puissent y accéder. De cette manière, la sécurité du réseau interne est grandement améliorée, car le réseau externe ne peut pas transmettre directement de données au réseau interne.
Scénario : Il y a un hôte A (192.168.1.111) dans l'intranet avec un site Web installé dessus, et il y a aussi un hôte B (192.168.1.2) dans l'intranet avec une IP publique (39.100 .92.12). Et alors ? Autoriser les utilisateurs du réseau externe à accéder au site Web situé au-dessus de A.
À ce stade, vous devez effectuer une opération DNAT sur l'hôte B pour changer l'adresse de destination du réseau public ip39.100.92.12 en l'adresse du réseau interne 192.168.1.111. Le fonctionnement est le suivant :
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ > -j DNAT --to-destination 192.168.1.111:80
En plus de modifier l'adresse IP, la chaîne PREROUTING peut également modifier le port. Par exemple, le port 80 est mappé au port 8080, mais le nom de l'opération n'est plus DNAT, mais REDIRECT.
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ > -j REDIRECT --to-ports 8080
SNAT
Pour SNAT, notre application la plus courante est que les machines intranet accèdent à Internet via un serveur proxy, et les hôtes intranet ne le font pas. avoir une adresse IP de réseau public, puis une fois que le paquet de données de l'hôte du réseau interne passe par le serveur proxy, le serveur proxy doit modifier l'adresse source du paquet de données en l'adresse IP du réseau public du serveur proxy.
Scénario : Il y a un hôte A (192.168.1.111) dans l'intranet, et il y a un hôte B (192.168.1.2) dans l'intranet avec une IP publique (39.100.92.12). Vous avez terminé avec l'hôte A ? Connectez-vous au réseau public.
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 \ > -j SNAT --to-source 39.100.92.12
Le fonctionnement de DNAT et SNAT n'est pas très compliqué. L'essentiel est de comprendre les scénarios d'application de DNAT et SNAT. Il est facile de se tromper lorsque vous apprenez pour la première fois. .
Recommandations associées : "Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!