J'essaie de comprendre comment ce système fonctionne et j'ai du mal à comprendre la différence entre l'utilisation de NAT PREROUTING ou de filter FORWARD. D'après ce que je comprends, le PREROUTE peut envoyer le paquet vers un autre serveur, en évitant le filtre. Si le NAT peut gérer cela via PREROUTE, quel est le but d'avoir une règle FORWARD dans le filtre ?
Réponses
Trop de publicités?Cette table ne doit être utilisée que pour la NAT (Network Address Translation) sur différents paquets. En d'autres termes, elle ne doit être utilisée que pour traduire le champ source ou le champ destination d'un paquet.
La table de filtrage est principalement utilisée pour filtrer les paquets. Nous pouvons faire correspondre les paquets et les filtrer de la manière que nous voulons. C'est ici que nous agissons réellement sur les paquets, que nous regardons ce qu'ils contiennent et que nous les DROP ou /ACCEPT, en fonction de leur contenu. Bien sûr, nous pouvons également effectuer un filtrage préalable ; cependant, cette table particulière est l'endroit pour lequel le filtrage a été conçu.
で Traversée de tableaux et de chaînes nous pouvons voir que la chaîne FORWARD de filter n'est traversée que par les paquets transférés (paquets qui viennent du réseau ET sortent vers le réseau), c'est-à-dire que votre ordinateur agit comme un routeur, alors que la chaîne PREROUTING de nat est traversée à la fois par les paquets transférés et les paquets dont la destination est l'hôte local.
Vous devriez utiliser PREROUTING de nat uniquement pour changer l'adresse de destination des paquets et FORWARD de filter uniquement pour filtrer (déposer/accepter des paquets).
Si nous obtenons un paquet dans la première décision de routage qui n'est pas destiné à la machine locale elle-même, il sera acheminé par la chaîne FORWARD. Si, par contre, le paquet est destiné à une adresse IP que la machine locale écoute, nous l'enverrons par la chaîne INPUT et vers la machine locale. Les paquets peuvent être destinés à la machine locale, mais l'adresse de destination peut être modifiée au sein de la chaîne PREROUTING en effectuant du NAT. Comme cela a lieu avant la première décision de routage, le paquet sera examiné après ce changement. De ce fait, le routage peut être modifié avant que la décision de routage ne soit prise. Notez que tous les paquets passeront par l'un ou l'autre chemin dans cette image. Si vous renvoyez un paquet par DNAT vers le même réseau que celui d'où il provient, il continuera à voyager à travers le reste des chaînes jusqu'à ce qu'il soit de retour sur le réseau.
PREROUTING : Cette chaîne est utilisée pour prendre toute décision relative au routage avant ( PRE ) d'envoyer des paquets. N'oubliez jamais qu'en PREROUTING/POSTROUTING
c'est-à-dire NAT
la table le ACCEPT/DROP/REJECT
etc. des cibles par défaut FILTER
ne fonctionnera pas. Le site NAT
est uniquement utilisée pour prendre des décisions de routage. Vous devez utiliser PREROUTING
lors de toute décision de routage, c'est-à-dire les décisions qui doivent être prises avant que le paquet ne commence à traverser le réseau. Voici un exemple, nous redirigeons tout le trafic qui vient d'atteindre le serveur sur le port 80 vers le port 8080 :
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
FORWARD : Comme son nom l'indique, le FORWARD
chaîne de FILTER
est utilisée pour transmettre les paquets d'une source à une destination, ici la source et la destination sont deux hôtes différents. Donc, comme vous pouvez l'imaginer FORWARD
sont essentiellement utilisées sur les serveurs où un hôte envoie/reçoit du trafic d'un autre hôte via le serveur. Lorsque le paquet est généré à partir du serveur, la chaîne est OUTPUT
c'est à dire que le trafic sort de lui-même alors que INPUT
signifie que les paquets sont destinés uniquement au serveur lui-même. Voici un exemple de FORWARD
chaîne où tout TCP
le trafic reçu sur le port 80 de l'interface eth0
destiné à l'hôte 192.168.0.4
seront acceptées et transmises à 192.168.0.4
:
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.0.4 -j ACCEPT