[Debian] Problème iptables et Nat

Problème iptables et Nat [Debian] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 31-03-2008 à 14:28:11    

Bonjours à tous !
 
J'essaye de faire du nat avec iptables ... mais sans succès !
J'ai regardé pas mal de tuto sur le net, mais je n'y arrive toujours pas, voici mes règles :

Code :
  1. iptables -P FORWARD ACCEPT
  2. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  3. iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.xxx:80
  4. iptables -A FORWARD -d 192.168.0.xxx -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT


 
Sachant que eth1 est relié au net, et eth0 au réseau local.
Quelqu'un aurait une idée ?
 
Avec ces règles je reste sur le port 80 du firewall ...
Merci d'avance  :jap:

Reply

Marsh Posté le 31-03-2008 à 14:28:11   

Reply

Marsh Posté le 31-03-2008 à 14:38:32    

salut ,
 
rajoute ça pour voir:
 

#activation du fowardind dans le noyau
echo 1 > /proc/sys/net/ipv4/ip_forward
 
#translations d'adresse
iptables -t nat -A POSTROUTING -j MASQUERADE -o eth1
iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0


Reply

Marsh Posté le 31-03-2008 à 14:40:35    

depx> pour le routage, mieux vaut utiliser sysctl, c'est fait pour ça.
depx> pour la translation d'adresse pourquoi tu veux mettre du masquerade dans les deux sens ? [:mlc]

 


mc_cut_killer> vu que la politique par défaut de FORWARD est à ACCEPT, la dernière règle est inutile
mc_cut_killer> quand tu testes, tu testes depuis où ? Internet ou ton LAN ? Enfin, ton trafic arrive par quelle interface ?


Message édité par o'gure le 31-03-2008 à 14:42:06

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 31-03-2008 à 14:44:54    

Je test à partir de mon LAN sur le nom de serveur et sur le net à partir de l'ip publique.
 
Dans les deux cas j'arrive sur le port 80 du firewall avec les message qui me dit qu'il n'y a pas de service sur ce port.
 
Mon but est simple, renvoyé ce qui arrive sur mon_ip_publique:80 vers mon_ip_prive_web
 
Si il y a d'autre moyens mieux je suis preneur :-)
 
(pour cette ligne echo 1 > /proc/sys/net/ipv4/ip_forward , je n'ai pas besoins de la mettre si ce fichier est déjà à 1 ?)
 
Edit: en rajoutant les lignes ca marche toujours pas ....  :pt1cable:


Message édité par mc_cut_killer le 31-03-2008 à 14:48:33
Reply

Marsh Posté le 31-03-2008 à 14:55:20    

Si tu testes depuis ton LAN (que ce soit en utilisant l'adresse publique ou le nom de domaine) le traffic arrive sur ton routeur par l'interface eth0, hors ta règle de NAT n'est appliquée que pour le trafic arrivant par l'interface Eth1
=> donc depuis le LAN c'est tout à fait normal que ca ne fonctionne pas.

 

=> testes depuis l'autre coté de ton routeur, sur l'interface eth1 => sur internet.
- tu trouves une manière de tester depuis internet
- tu utilises un proxy public sur internet.

 

Essayes de te mettre à la place du paquet et de voir ce qui lui arrive réellement par rapport au routage et au différente règles qui sont en place...

 


Ce qui n'est pas normal c'est qu'en testant réellement depuis internet, cela ne fonctionne pas.
Normalement :
Activation du routage sysctl -w net.ipv4.ip_forward=1
politique par défaut de FORWARD à ACCEPT
rajout de la règle de NAT
rajout du masquerade uniquement sur l'interface eth1


Message édité par o'gure le 31-03-2008 à 15:09:12

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 31-03-2008 à 15:15:00    

Merci pour ton aide, en fait ca doit marché depuis un moment (je viens de tester avec un proxy).
 
Il me reste plus qu'à faire en sorte que ca marche depuis le lan ...
 
Encore merci pour tes infos :-) @+

Reply

Marsh Posté le 31-03-2008 à 15:20:22    

Depuis le LAN tu attaques directement l'adresse de ton LAN, pourquoi faire compliqué si tu peux faire simple ? [:spamafote]

 

Soit tu utilises l'adresse de ton LAN
Soit tu mets en place un DNS rapidement autoritaire pour la zone de ton LAN et tu y mets l'adresse du serveur dans ton LAN.

 

Jouer avec le NAT dans un LAN pour une communication qui va rester dans le LAN, c'est un peu chercher les emmerdes...


Message édité par o'gure le 31-03-2008 à 15:21:10

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 31-03-2008 à 15:22:24    

Ouais, pas faux :-)
 
Je sais même j'étais trop à fond dans les regles lol

Reply

Marsh Posté le 31-03-2008 à 15:37:50    

si mais uniquement sur eth1 pour le trafic qui sort sur le WAN [:spamafote]

 

Explication :
- si tu mets MASQUERADE -o eth1
=> tout le trafic qui sort sera "source-natté" avec l'adresse de eth1 (ie l'adresse source prendra l'adresse publique de l'interface eth1)

 

- si tu mets MASQUERADE -o eth0
=> tout le traffic qui sort  par eth0 (dans son cas tout le trafic WAN -> LAN) sera source natté avec l'adresse d'eth0 ?
=> plus rien de marchera

 

depx> super, je prends sur mon temps à répondre et toi tu supprimes tes messages... :/


Message édité par o'gure le 31-03-2008 à 15:39:00

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 31-03-2008 à 15:41:17    

Ok merci
 
lol : depx> super, je prends sur mon temps à répondre et toi tu supprimes tes messages... :/
 

Reply

Marsh Posté le 31-03-2008 à 15:41:17   

Reply

Marsh Posté le 31-03-2008 à 15:52:21    

c parce que j'avais pas bien lu ce qu'o'gure avait déjà écrit  

rajout du masquerade uniquement sur l'interface eth1


 
désolé j'aurais du tourner 7x mon clavier avant de poster

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed