Non! pas du tt, FORWARD ne fait absolument aucune translation !
FORWARD = autoriser les paquets à passer entre 2 interfaces réseau, point!
La translation, c'est la chaine masquerade!
Ok Merci j'ai compris pour ca
Parceque :
1) FORWARD = passage entre 2 interfaces, mais pas vers la machine qui héberge le script => j'espère que tu fais tes tests d'une machine de ton réseau interne, sinon, tu peux tjs attendre
![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
(Sauf si les IN/OUTPUT sont à ACCEPT)
=> pq ? parceque le spaquets qui passe par la chaine FORWARD ne passe pas par les chaines IN/OUTPUT et ne sont pas accessible (grosso modo) à la machine 'passerelle'.
Non tkt j'effectue les test dans les regle de l'art ![:)](https://www.developpez.net/forums/images/smilies/icon_smile.gif)
2) MASQUERADE ? => necessaire de la mettre si tu veux une translation!
oui mais le SNAT me le fait bien la
1 2 3 4 5 6 7 8 9 10 11
|
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISED, RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -s IpLan -p udp - d $IpDns --dport 53 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s IpLan -p tcp - d $IpDns --dport 53 -i $IfaceLan -o $IfaceNet -j ACCEPT
iptables -A FORWARD -m state --state NEW -s IpLan -p tcp --dport 80 -i $IfaceLan -o $IfaceNet -j ACCEPT
//et donc ma translation
iptables -t nat -A POSTROUTING -s $IpLan -o $IfaceNet -j SNAT --to INetIp |
Avec ce script mon http fonctionne :p
Donc si j'ai bien compris, SNAT fait comme masquerade ici et Forward m'assure la concordance entre mon réseau lan ($IpLan) et mon interface Net ($IfaceNet)
Dans mes règle de forward par exemple la:
iptables -A FORWARD -m state --state NEW -s IpLan -p tcp - d $IpDns --dport 53 -i $IfaceLan -o $IfaceNet -j ACCEPT
on assure plus de sécurité en indiquant $IpLan et $IfaceLan. ce qui permet si j'ai bien compris d'empêcher tous litige.
rédit: Au fait merci pour votre aide
Partager