Page suivante Page précédente Table des matières

9. Mixer le NAT et le Filtrage de Paquets

Il est commun de vouloir faire de la Translation d'Adresses Réseaux (voir le NAT HOWTO) et le filtrage de paquets. La bonne nouvelle est qu'ils se mixent extrèmement bien.

Tu configures complètement ton filtrage de paquets en ignorant tout le NAT que tu feras. Les sources et destinations vues par le filtre de paquets seront les sources et destination `réelles'. Par exemple, si tu effectues du DNAT pour envoyer toutes les connections du port 80 de 1.2.3.4 a travers le port 8080 de 10.1.1.1, le filtre de paquets verra les paquets allant au port 8080 de 10.1.1.1 (la destination réelle), pas le port 80 de 1.2.3.4. Similairement tu peux ignorer le masquerading: les paquets sembleront venir de leurs adresses ip internes réelles 'disons 10.1.1.1), et les réponses sembleront retourner la bas.

Tu peux utiliser la concordance `state' sans faire faire du travail supplémentaire au filtre de paquets, puisque le NAT requiert le suivi de connections de toutes facons. Pour étendre le simple exemple de masquerading dans le NAT HOWTO qui rejète toutes les nouvelles connection venant de l'interface ppp0, tu ferais ceci:

# Masquerader ppp0
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Rejeter les paquets NEW et INVALID venant ou forwardés de ppp0.
iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP

# Activer le forwarding IP
echo 1 > /proc/sys/net/ipv4/ip_forward


Page suivante Page précédente Table des matières