iptables Filtres avant DNAT, agir comme un pare-feu

J'essaie d'utiliser iptables dans un système d'agir en tant que pare-feu pour filtrer des paquets et transférer des paquets valides vers des serveurs pour ce pare-feu, mais si j'utilise DNAT, Les données seront transmises aux serveurs directement, plutôt que filtrées.

Que dois-je faire pour cela?
Invité:

Babette

Confirmation de:

Regarder
https://www.booleanworld.com/d ... wall/
. Il montre comment les règles NAT Précéder les règles FORWARD. Même si vous utilisez DNAT Pour n'importe quel hôte pour un pare-feu, le colis passe toujours dans les règles. FORWARD (et POSTROUTING) Avant l'envoi réel à l'hôte.

Vous pouvez filtrer dans les règles FORWARD. Également utile lors du débogage de vos règles insérer quelque chose comme ça FORWARD, qui sera enregistré dans le journal du système:

iptables -I FORWARD 1 -j LOG --log-prefix="FWD: "

Cela créera de nombreux enregistrements dans le journal système, mais vous donnera une idée de ce que le trafic est transmis. Une fois que vous avez tous configuré, supprimez simplement la règle.

Emilie

Confirmation de:

Même les paquets DNAT passent à travers le filtre. Traité dans l'ordre

NAT-PREROUTING (e.g. DNAT) => FORWARD => NAT-POSTROUTING (e.g. SNAT, MASQUERADE)

Si cela ne fonctionne pas pour vous, probablement, cela est dû au fait que vous avez des règles d'expédition basées sur des titres valides à DNAT. Aussitôt que DNAT Terminé pour traiter le traitement, il est traité avec un destinataire déjà modifié.

Si vous fournissez des informations plus détaillées sur les règles et informations sur le trafic "non filtré", une personne peut essayer de vérifier votre cas ... Vous avez fourni trop d'informations pour être plus précis.

Pour répondre aux questions, connectez-vous ou registre