J'arrive pas à forwarder les ports ftp avec iptables ! - [ça marche]

J'arrive pas à forwarder les ports ftp avec iptables ! - [ça marche] - Linux et OS Alternatifs

Marsh Posté le 25-03-2002 à 22:24:47    

EDIT : y-avait pas de probleme en fait, on peut pas tester en local apparemment, en mettant son adresse internet)
 
 
voila le script qui initialise sur ma passerelle :  
 

Code :
  1. #!/bin/sh
  2. ip=`ifconfig ppp0 | grep inet\ addr | cut -d':' -f2 | cut -d' ' -f1`
  3. iptables -F
  4. iptables -X
  5. iptables -t nat -F
  6. iptables -t nat -X
  7. iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  8. ## Partie pour le serveur ftp
  9. #iptables -t nat -A PREROUTING -p tcp --dport 20 -i ppp0 -j DNAT --to 192.168.0.2:20
  10. #iptables -t nat -A PREROUTING -p tcp --dport 21 -i ppp0 -j DNAT --to 192.168.0.2:21
  11. iptables -t nat -A PREROUTING -s $ip -p tcp --dport 21 -j DNAT --to 192.168.0.2
  12. # iptables -A INPUT -j DROP
  13. # iptables -A OUTPUT -j DROP
  14. iptables -A FORWARD -p tcp --dport 21 -j ACCEPT
  15. iptables -N block
  16. iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
  17. iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
  18. iptables -A block -j DROP
  19. iptables -A INPUT -j block
  20. iptables -A FORWARD -j block
  21. echo 1 > /proc/sys/net/ipv4/ip_forward


 
 
je veux pouvoir avoir acces a mon ftp qui est sur mon pc client(192.168.0.2), mais pas moyen, il veut rien entendre !

 

[jfdsdjhfuetppo]--Message édité par tatanka--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 25-03-2002 à 22:24:47   

Reply

Marsh Posté le 25-03-2002 à 23:11:24    

Essai ça, ce sont deux regles que g modifiée mais qui marchaient avec edonkey
 
# Forward the port
$IPTABLES -A PREROUTING -t nat -i ppp0 -p tcp --dport 21 -j DNAT --to 192.168.0.2:21
# Accept connection on tcp port 21
$IPTABLES -A FORWARD -i ppp0 -p tcp --dport 21 -d 192.168.0.2/24 -j ACCEPT

 

[jfdsdjhfuetppo]--Message édité par the_fireball--[/jfdsdjhfuetppo]


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 25-03-2002 à 23:13:45    

the_fireball a écrit a écrit :

Essai ça, ce sont deux regles que g modifiée mais qui marchaient avec edonkey
 
# Forward the port
$IPTABLES -A PREROUTING -t nat -i ppp0 -p tcp --dport 21 -j DNAT --to 192.168.0.2:21
# Accept connection on tcp port 21
$IPTABLES -A FORWARD -i ppp0 -p tcp --dport 21 -d 192.168.0.2/24 -j ACCEPT  
 
 




 
ben ça ressemble vachement à ce que j'ai quand même ... bon j'essaie, on verra bien

Reply

Marsh Posté le 25-03-2002 à 23:17:34    

Vi ça ressemble vachement, mais ya une diff quelque part car chez moi ça marche :??:  
 
Je redirige avec ce style de règles le traffic pour edonkey et icq et no soucy


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 25-03-2002 à 23:19:37    

c'est bien ce que je pensais, aucun changement ...

Reply

Marsh Posté le 25-03-2002 à 23:20:58    

the_fireball a écrit a écrit :

Vi ça ressemble vachement, mais ya une diff quelque part car chez moi ça marche :??:  
 
Je redirige avec ce style de règles le traffic pour edonkey et icq et no soucy  




 
 
 :(  
 
ben moi, il veut pas ... et il me met même plus filtered pour les ports ftp, alors qu'il me mettait avant, mais je retrouve plus comment j'avais paramétré ça ...

Reply

Marsh Posté le 25-03-2002 à 23:21:13    

port 20 ?


---------------
root 66
Reply

Marsh Posté le 25-03-2002 à 23:22:48    

attention aux test locaux !  mieux vaut demander un test de quelqu'un à l'exterieur .


---------------
root 66
Reply

Marsh Posté le 25-03-2002 à 23:25:19    

saudium a écrit a écrit :

attention aux test locaux !  mieux vaut demander un test de quelqu'un à l'exterieur .  




 
je suis d'accord, mais tant que mes port seront pas détecter comme étant ouvert (avec nmap) c'est même pas la peine de tester ... (au mieux j'ai eu filtered)

Reply

Marsh Posté le 25-03-2002 à 23:25:51    

fireball > c'est un futur adepte pour le ring ..

 

[jfdsdjhfuetppo]--Message édité par saudium--[/jfdsdjhfuetppo]


---------------
root 66
Reply

Marsh Posté le 25-03-2002 à 23:25:51   

Reply

Marsh Posté le 25-03-2002 à 23:43:34    

Code :
  1. #!/bin/sh
  2. ip=`ifconfig ppp0 | grep inet\ addr | cut -d':' -f2 | cut -d' ' -f1`
  3. iptables -F
  4. iptables -X
  5. iptables -t nat -F
  6. iptables -t nat -X
  7. iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
  8. ## Partie pour le serveur ftp
  9. #iptables -t nat -A PREROUTING -p tcp --dport 20 -i ppp0 -j DNAT --to 192.168.0.243:20
  10. #iptables -t nat -A PREROUTING -p tcp --dport 21 -i ppp0 -j DNAT --to 192.168.0.243:21
  11. #iptables -t nat -A PREROUTING -s $ip -p tcp --dport 21 -j DNAT --to 192.168.0.243
  12. # Forward the port
  13. iptables -A PREROUTING -t nat -i ppp0 -p tcp --dport 20:21 -j DNAT --to 192.168.0.243
  14. # Accept connection on tcp port 21
  15. iptables -A FORWARD -i ppp0 -p tcp --dport 20:21 -d 192.168.0.243 -j ACCEPT
  16. # iptables -A INPUT -j DROP
  17. # iptables -A OUTPUT -j DROP
  18. #iptables -A FORWARD -p tcp --dport 21 -j ACCEPT
  19. iptables -N block
  20. iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT
  21. iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT
  22. iptables -A block -j DROP
  23. iptables -A INPUT -j block
  24. iptables -A FORWARD -j block
  25. echo 1 > /proc/sys/net/ipv4/ip_forward


 
 
pas mieux ...

Reply

Marsh Posté le 26-03-2002 à 03:46:21    

si tu laisses la ligne avec le -s $ip ca risque pas de marcher puisque les paquets ne sont pa generes localement par ta passerelle
 
essaie en virant cette option et ca doit tourner
 
sinon ton firewall est un peu fouilli, definis les politiques par defaut au debut

 

[jfdsdjhfuetppo]--Message édité par apolon34--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 26-03-2002 à 20:41:36    

apolon34 a écrit a écrit :

si tu laisses la ligne avec le -s $ip ca risque pas de marcher puisque les paquets ne sont pa generes localement par ta passerelle
 
essaie en virant cette option et ca doit tourner
 
sinon ton firewall est un peu fouilli, definis les politiques par defaut au debut  
 
 




 
je sais pas ce que tu as voulu dire pour le $ip, mais j'ai quand même essayer en le virant, et ça marche pas mieux
j'ai aussi essayer en virant le firewall :
iptables -F
iptables -X
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A PREROUTING -t nat -i ppp0 -p tcp --dport 20:21 -j DNAT --to 192.168.0.243
echo 1 > /proc/sys/net/ipv4/ip_forward
 
toujours rien ...
ça me met, "ftp, connection refused"  (c'est p-t mon ftp qui est mal paramétrer, mais y-a pas de raison, que ça refuse, avant même de demander un mot de passe. En plus, aucun port ne semble ouvert, que ce soit en regardant avec netstat ou avec nmap)

Reply

Marsh Posté le 26-03-2002 à 20:58:53    

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
et refait des tests, comme ça tu seras sur que c'est pas le firewall


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 26-03-2002 à 21:17:33    

the_fireball a écrit a écrit :

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
et refait des tests, comme ça tu seras sur que c'est pas le firewall  




 
ben apres avoir fait un iptables -F / iptables -X  les polices policy par défaut sont en accept normallement.
Bon, j'essaie pour la forme et parce que je vois vraiment pas d'où ça peut venir
 
 
j'oubliais, y-a il un service qu'il faut démarrer, parce que j'ai tous virer moi, j'ai laisser que le nécessaire

Reply

Marsh Posté le 26-03-2002 à 21:26:38    

j'en sais rien si par défault c en accept ou non, je ne me rappelle plus de la doc :D  
 
Ca coute rien de tester. Et pour les services, euh, je vois pas. LEs modules iptables sont chargés ?


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 26-03-2002 à 22:07:04    

the_fireball a écrit a écrit :

j'en sais rien si par défault c en accept ou non, je ne me rappelle plus de la doc :D  
 
Ca coute rien de tester. Et pour les services, euh, je vois pas. LEs modules iptables sont chargés ?  




 
ben j'ai pas mis les modules ftp, mais à ma connaissance, y-a pas besoin, c'est seulement pour les client ftp qui veulent se connecter en actif

Reply

Marsh Posté le 26-03-2002 à 22:11:45    

je sais, mais j'ai jamais parlé du module ftp spécifiquement
 
Perso j'ai ça sur ma passerelle :
 
lsmod :
 
ipt_MASQUERADE
ipt_limit
ipt_state
iptable_filter
ipt_LOG
ip_nat_ftp
iptable_nat
ip_tables
ip_conntrack_ftp
ip_conntrack
 
Mais elle fait du ftp client parfois c'est pour ça que j'ai le module ip_conntrack_ftp

 

[jfdsdjhfuetppo]--Message édité par the_fireball--[/jfdsdjhfuetppo]


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 26-03-2002 à 22:34:00    

Code :
  1. ipt_state                608   2  (autoclean)
  2. ipt_MASQUERADE          1216   1  (autoclean)
  3. iptable_nat            13172   0  (autoclean) [ipt_MASQUERADE]
  4. ip_conntrack           12940   2  (autoclean) [ipt_state ipt_MASQUERADE iptable_nat]
  5. iptable_filter          1728   0  (autoclean) (unused)
  6. ip_tables              10432   6  [ipt_state ipt_MASQUERADE iptable_nat iptable_filter]
  7. rtc                     5528   0  (autoclean)
  8. n_hdlc                  6016   1
  9. ppp_async               6080   0  (unused)
  10. ppp_synctty             4544   1
  11. ppp_generic            17928   3  [ppp_async ppp_synctty]
  12. slhc                    4480   0  [ppp_generic]
  13. usb-ohci               17696   0  (unused)
  14. usbcore                48384   1  [usb-ohci]
  15. vfat                    9276   0  (unused)
  16. fat                    29304   0  [vfat]
  17. ntfs                   48160   0  (unused)
  18. 8139too                13088   1
  19. unix                   13700   4  (autoclean)
  20. ide-disk                6624   5  (autoclean)
  21. ide-probe-mod           8064   0  (autoclean)
  22. ide-mod               130892   5  (autoclean) [ide-disk ide-probe-mod]
  23. ext2                   30592   4  (autoclean)

Reply

Marsh Posté le 26-03-2002 à 23:45:18    

Moi aussi je cherche.
Sous red-hat j'ai l'aissé le firewall "élevé" et j'ai rajouté ça:
 
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
 
Icq, web, msn, ça fonctionne.
Mais pour tout le reste non. pas de ftp vers l'extérieur, trop chiant.
Comment faire finalement pour avoir le ftp ?
 
Merci d'avance
@++


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 26-03-2002 à 23:51:08    

MD le bosse a écrit a écrit :

Moi aussi je cherche.
Sous red-hat j'ai l'aissé le firewall "élevé" et j'ai rajouté ça:
 
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
 
Icq, web, msn, ça fonctionne.
Mais pour tout le reste non. pas de ftp vers l'extérieur, trop chiant.
Comment faire finalement pour avoir le ftp ?
 
Merci d'avance
@++  




 
pour le ftp, soit tu te connecte en mode passif (man ftp) soit tu installe les modules ip_conntrack_ftp et ip_nat_ftp (et ip_masq_ftp p-t aussi, je sais jamais lesquels faut mettre)
 
moi, mon probleme, c'est que je veux faire fonctionner un serveur ftp, les clients ftp, c'est facile a faire fonctionner   ;)

Reply

Marsh Posté le 26-03-2002 à 23:56:41    

ben moi c le contraire. Le ftp sur mon serveur fonctionne super bien.
Je vias tester ce que tu dis.
@++


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 00:00:14    

Donc faut que je chope:
ip_conntrack_ftp
ip_nat_ftp  
Où je peux trouver ça ?
Dois-je modifier les règles de firewall ?
Merci d'avance


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 00:49:45    

MD le bosse a écrit a écrit :

Donc faut que je chope:
ip_conntrack_ftp
ip_nat_ftp  
Où je peux trouver ça ?
Dois-je modifier les règles de firewall ?
Merci d'avance  




 
pour tes regle de firewall, je sais pas, faudrais savoir comment il est configurer, mais je pense pas
 
tu trouveras les modules (si ton kernel a bien été compiler, sinon, faudra le refaire  ;) ) en faisant modconf, tu sélectionne dans la liste

Reply

Marsh Posté le 27-03-2002 à 00:54:35    

modconf: command not found :(  
@+


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 00:55:00    

MD le bosse a écrit a écrit :

modconf: command not found :(  
@+  




 
en root

Reply

Marsh Posté le 27-03-2002 à 00:57:19    

Ben c un serveur, donc je suis constamment en root. Y'a que root qui a accès au shell.
Une idée ?


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 01:01:12    

MD le bosse a écrit a écrit :

Ben c un serveur, donc je suis constamment en root. Y'a que root qui a accès au shell.
Une idée ?  




 
 
ben le seul moyen que je vois , c'est de faire un rpm find modconf (je sais pas du tout la commande exact, je connais pas les rpm) et pis tu l'installes
par contre, ton histoire d'être toujours en root, ça me parait dangereux ...

Reply

Marsh Posté le 27-03-2002 à 01:04:57    

Ben si je suis toujours en root, c'est que quand je suis connecté c pour faire de la maintenance du système (mise à jour log, modifs configs système, etc...).
J'ai pas d'écran sur mon serveur, seulement une connexion par ssh. C'est un serveur web.
Donc j'ai pas de raison de me connecter sous un utilisateur.
Je vais essayer de trouver modconf.
@++ et merci


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 01:12:28    

MD le bosse a écrit a écrit :

Ben si je suis toujours en root, c'est que quand je suis connecté c pour faire de la maintenance du système (mise à jour log, modifs configs système, etc...).
J'ai pas d'écran sur mon serveur, seulement une connexion par ssh. C'est un serveur web.
Donc j'ai pas de raison de me connecter sous un utilisateur.
Je vais essayer de trouver modconf.
@++ et merci  




 
 
réflexion faite, c'est vrai que je me connecte rarement, mais en général c'est en root.
par contre j'ai entendu dire qu'il fallait éviter de démarrer des démon avec les droits root, mais je me rends compte que y-a que le ftp qu'est pas en root (sshd par exemple, est en root). Je sais pas si ça pause vraiment probleme ...
 
m'enfin, on s'écarte du sujet là, j'ai toujours pas d'acces à mon serveur ftp depuis l'extérieur moi ...   :sweat:

Reply

Marsh Posté le 27-03-2002 à 02:00:23    

Attends : y a un truc que je capte pas ta situation est bien la suivante :
 
 
serveur ftp (ip 192.168.0.2) <------> passerelle (ip 192.168.0.1 pour le local et 21.156.148.36 vis à vis d'internet par exemple) <------> internet
 
et tu veux qu'un utilisateur qui se connecte sur ftp://21.156.148.36 arrive directement sur ton serveur ftp
 
C'est bien ça ?
 
 
Pasque si c'est le cas c'est à mon avis pas aussi simple que si le serveur ftp est sur la passerelle (ou il suffit d'ouvrir le port 21)
 
va falloir trouver une ligne qui fait en sorte que toute requête ftp-client  arrivant sur la paserelle soit redirigée vers le serveur.
 Mais quid d'une requête ftp émanant d'un autre ordi de ton réseau ?
 
Si tu trouves personne qui l'as déjà fait, t'es bon pour une immersion dans la doc de netfilter.
 
désoler de pas pouvoir t'aider plus, mais ça clarifie un peut la formulation du problème (si je l'ai bien compris, ce qui n'est pas forcément évident)
 
a+


---------------
* La vitesse de la lumière étant supérieure à celle du son, certaines personnes paraissent brillantes jusqu'à ce qu'elles ouvrent leur gueule. *
Reply

Marsh Posté le 27-03-2002 à 02:02:36    

FlamM a écrit a écrit :

Attends : y a un truc que je capte pas ta situation est bien la suivante :
 
 
serveur ftp (ip 192.168.0.2) <------> passerelle (ip 192.168.0.1 pour le local et 21.156.148.36 vis à vis d'internet par exemple) <------> internet
 
et tu veux qu'un utilisateur qui se connecte sur ftp://21.156.148.36 arrive directement sur ton serveur ftp
 
C'est bien ça ?
 
 
Pasque si c'est le cas c'est à mon avis pas aussi simple que si le serveur ftp est sur la passerelle (ou il suffit d'ouvrir le port 21)
 
va falloir trouver une ligne qui fait en sorte que toute requête ftp-client  arrivant sur la paserelle soit redirigée vers le serveur.
 Mais quid d'une requête ftp émanant d'un autre ordi de ton réseau ?
 
Si tu trouves personne qui l'as déjà fait, t'es bon pour une immersion dans la doc de netfilter.
 
désoler de pas pouvoir t'aider plus, mais ça clarifie un peut la formulation du problème (si je l'ai bien compris, ce qui n'est pas forcément évident)
 
a+  




 
c'est tout a fait ma situation, et c'est cette ligne qui est censé s'en occupé :
 
iptables -A PREROUTING -t nat -i ppp0 -p tcp --dport 20:21 -j DNAT --to 192.168.0.243
 
j'ai bien dit "censé" ...

 

[jfdsdjhfuetppo]--Message édité par tatanka--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 27-03-2002 à 04:58:29    

pk 192.168.0.243?


---------------
http://forum-darius.fr.st/
Reply

Marsh Posté le 27-03-2002 à 09:00:55    

modconf est spécifique à la Debian je crois bien... Pour une redhat, doit falloir éditer le fichier /etc/modules.conf et rajouter les modules souhaités.


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 27-03-2002 à 12:29:53    

[G@Z] DariuS a écrit a écrit :

pk 192.168.0.243?  




 
c'est un exemple pour mon pc client

Reply

Marsh Posté le 27-03-2002 à 18:09:07    

personne sait ... doit y-avoir une raison quand même ...

Reply

Marsh Posté le 27-03-2002 à 18:25:10    

Dans /etc/module.conf, j'ai:
alias eth0 8139too
alias eth1 8139too
alias parport_lowlevel parport_pc
alias usb-controller usb-uhci
 
Donc je rajoute quoi comme ligne, si c'est bien ça ?
@+


---------------
Ne faites pas attention à mon pseudo. On peut pas mettre que 2 caractères à l'inscription, alors j'ai du le ralonger.
Reply

Marsh Posté le 27-03-2002 à 18:36:47    

tatanka > quand tu fais tes tests , tu demandes à quelqu'un de l'exterieur ?  
 
sinon je viens de me connecter sur ton ftp. (mais non loggé)


---------------
root 66
Reply

Marsh Posté le 27-03-2002 à 18:44:59    

saudium a écrit a écrit :

tatanka > quand tu fais tes tests , tu demandes à quelqu'un de l'exterieur ?  
 
sinon je viens de me connecter sur ton ftp. (mais non loggé)  




 
il t'a pas mis, connection refused ?!
cool ça ... c'est bizarre que nmap et netstat ne voit rien ...
regarde tes MP

Reply

Marsh Posté le 27-03-2002 à 18:52:20    

MD le bosse a écrit a écrit :

Dans /etc/module.conf, j'ai:
alias eth0 8139too
alias eth1 8139too
alias parport_lowlevel parport_pc
alias usb-controller usb-uhci
 
Donc je rajoute quoi comme ligne, si c'est bien ça ?
@+  




 
je trouve bizarre qu'il n'y est pas de modconf ou équivalent sous redhat ... je sais pas trop quel alis il faut pour ip_conntrack_ftp ...
essaie de faire un modprobe sur les nom des modules qu'il faut utilisé, et si ça marche comme ça, tu mets leurs noms dans le fichier /etc/modules (pour les charger à chaque boot)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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