Partage Connection Internet --> le FTP passe plus

Partage Connection Internet --> le FTP passe plus - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-12-2002 à 12:13:57    

J'utilise une Debian3 qui fait office de passerelle avec ce script pour le firewall :

Code :
  1. ############################### REGLES PAR DEFAUT ###########################
  2. echo "[Initialisation de la table filter]"
  3. iptables -F
  4. iptables -X
  5. echo "[Politique par défaut de la table filter]"
  6. # On ignore tout ce qui entre ou transite  par la passerelle
  7. iptables -P INPUT DROP
  8. iptables -P FORWARD DROP
  9. # On accepte, ce qui sort
  10. iptables -P OUTPUT ACCEPT
  11. # Pour éviter les mauvaises suprises, on va
  12. # autoriser l'accès à la loopback, c'est vital !
  13. iptables -A INPUT  -i lo -j ACCEPT
  14. iptables -A OUTPUT -o lo -j ACCEPT
  15. ############################### LOCAL-INTERNET ###########################
  16. echo "[On autorise les clients à accéder à internet ]"
  17. #On créé une nouvelle chaîne, le nom est indifférent
  18. # appelons-la "local-internet"
  19. iptables -N local-internet
  20. # On définit le profil de ceux qui appartiendront à "local-internet"
  21. # "local-internet" concerne toutes les connections sauf celles venant d'internet ( ! = non)
  22. # En gros avec ça, vous rendez, vos serveurs inaccessibles depuis internet.
  23. # Pas de panique, certains serveurs seront autorisés explicitement dans la suite.
  24. iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT
  25. #Evidemment, une fois acceptées comme "local-internet", les connections peuvent continuer
  26. # et faire des petits :-)
  27. iptables -A local-internet -m state --state ESTABLISHED,RELATED -j ACCEPT
  28. # On termine en indiquant que les connections appartenant à "local-internet"
  29. # accèdent à internet de manière transparente.
  30. iptables -A INPUT -j local-internet
  31. iptables -A FORWARD -j local-internet
  32. ############################### LES TABLES NAT ET MANGLE #############################
  33. echo "[Initialisation des tables nat et mangle]"
  34. iptables -t nat -F
  35. iptables -t nat -X
  36. iptables -t nat -P PREROUTING ACCEPT
  37. iptables -t nat -P POSTROUTING ACCEPT
  38. iptables -t nat -P OUTPUT ACCEPT
  39. iptables -t mangle -F
  40. iptables -t mangle -X
  41. iptables -t mangle -P PREROUTING ACCEPT
  42. iptables -t mangle -P OUTPUT ACCEPT
  43. #################################### LE MASQUERADING ########################################
  44. # Commentez ces 2 lignes, si vous ne faîtes pas du masquerading (nat)
  45. echo "[Mise en place du masquerading]"
  46. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
  47. ################################# ACTIVATION DE LA PASSERELLE ##################
  48. echo "[Activation de la passerelle]"
  49. echo 1 > /proc/sys/net/ipv4/ip_forward
  50. ################################# PAS DE SPOOFING ############################
  51. echo "[Pas de spoofing]"
  52. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
  53. for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
  54. do
  55. echo 1 > $filtre
  56. done
  57. fi
  58. ########################## PAS DE SYNFLOOD ####################
  59. echo "[Pas de synflood]"
  60. if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then
  61.  echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  62. fi
  63. ################################## PAS DE PING ###############################
  64. # commentez ces 6 lignes, si vous autorisez les pings sur votre passerelle
  65. echo "[Pas ping]"
  66. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  67. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  68. if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then
  69.  echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  70. fi
  71. ############################ Fonctionnalités serveurs #####################################
  72. echo "[Etude des fonctionalités serveurs, visibles depuis internet ]"
  73. # A ce stade, tous vos clients du réseau local et de la passerelle ont accès à internet. Mieux,
  74. # vos clients du réseau local, ont accès à vos serveurs apache, proftp ... localement. Mais personne
  75. # depuis internet ne peux accéder à l'un des serveurs que vous hébergés.
  76. # Il est bien-sûr possible de dévérrouiller pontuellement l'accès à un serveur depuis internet,
  77. # en décommentant les 2 ou 3 lignes correspondantes.
  78. #echo "[autorisation du serveur ssh(22) ...]"
  79. #iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  80. #echo "[autorisation du serveur smtp(25) ...]"
  81. #iptables -A INPUT -p tcp --dport smtp -j ACCEPT
  82. #echo "[autorisation du serveur http(80) ...]"
  83. iptables -A INPUT -p tcp --dport www -j ACCEPT
  84. #echo "[autorisation du serveur https(443) ...]"
  85. #iptables -A INPUT -p tcp --dport https -j ACCEPT
  86. #echo "[autorisation du serveur DNS(53) ...]"
  87. #iptables -A INPUT -p udp --dport domain -j ACCEPT
  88. #iptables -A INPUT -p tcp --dport domain -j ACCEPT
  89. #echo "[autorisation du serveur irc(6667) ...]"
  90. #iptables -A INPUT -p tcp --dport ircd -j ACCEPT
  91. #echo "[autorisation du serveur cvs (2401) ...]"
  92. #iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT
  93. #echo "[autorisation du serveur FTP(21 et 20) ...]"
  94. #iptables -A INPUT -p tcp --dport ftp -j ACCEPT
  95. #iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
  96. # Ne pas décommenter les 3 lignes qui suivent.
  97. # Plus généralement :
  98. #echo "[autorisation du serveur Mon_truc(10584) ...]"
  99. #iptables -A INPUT -p tcp --dport 10584 -j ACCEPT
  100. echo "[firewall activé !]"


Tout marche, je peux jouer par internet, discuter par messagerie instantanée, etc.. Mais quand j'essaye d'accéder a un FTP sur intenet depuis mon poste linux, voici ce qui se passe :
 

Citation :

-- Connecté sur sivit6.org:21 --
> 220 sivit6.org NcFTPd Server (licensed copy) ready.
< USER root.pc-tuning.com
> 331 User root.pc-tuning.com okay, need password.
< PASS xxxx
> 230-You are user #4 of 70 simultaneous users allowed.
> 230-
> 230 Restricted user logged in.
< TYPE I
> 200 Type okay.
< PWD
> 257 "/" is cwd.
< PORT 192,168,0,233,129,240
> 200 PORT command successful.
< LIST -a
-- Déconnexion de l'hôte sivit6.org --
> 550 Cannot connect to 192.168.0.233:33264 - No route to host.

192.168.0.233 étant mon IP de réseaux local.
 
Au début, ce problème concernait seulement mon frère sous winXP, mais maintenant que ça ne marche plus sous mon linux a moi, faut que je corrige le problème :D
Au début ça marchait donc chez moi, mais soudainement ça s'est arreté sans que je ne modifi quoi que ce soit a mon poste.
 
D'où cela peut il venir ? :??:


Message édité par Castor666 le 04-12-2002 à 12:17:20

---------------
Mon blog de nerd...
Reply

Marsh Posté le 04-12-2002 à 12:13:57   

Reply

Marsh Posté le 04-12-2002 à 20:25:24    

Up du soir

Reply

Marsh Posté le 04-12-2002 à 20:32:42    

castor666 a écrit a écrit :

J'utilise une Debian3 qui fait office de passerelle avec ce script pour le firewall :

Code :
  1. ############################### REGLES PAR DEFAUT ###########################
  2. echo "[Initialisation de la table filter]"
  3. iptables -F
  4. iptables -X
  5. echo "[Politique par défaut de la table filter]"
  6. # On ignore tout ce qui entre ou transite  par la passerelle
  7. iptables -P INPUT DROP
  8. iptables -P FORWARD DROP
  9. # On accepte, ce qui sort
  10. iptables -P OUTPUT ACCEPT
  11. # Pour éviter les mauvaises suprises, on va
  12. # autoriser l'accès à la loopback, c'est vital !
  13. iptables -A INPUT  -i lo -j ACCEPT
  14. iptables -A OUTPUT -o lo -j ACCEPT
  15. ############################### LOCAL-INTERNET ###########################
  16. echo "[On autorise les clients à accéder à internet ]"
  17. #On créé une nouvelle chaîne, le nom est indifférent
  18. # appelons-la "local-internet"
  19. iptables -N local-internet
  20. # On définit le profil de ceux qui appartiendront à "local-internet"
  21. # "local-internet" concerne toutes les connections sauf celles venant d'internet ( ! = non)
  22. # En gros avec ça, vous rendez, vos serveurs inaccessibles depuis internet.
  23. # Pas de panique, certains serveurs seront autorisés explicitement dans la suite.
  24. iptables -A local-internet -m state --state NEW -i ! ppp0 -j ACCEPT
  25. #Evidemment, une fois acceptées comme "local-internet", les connections peuvent continuer
  26. # et faire des petits :-)
  27. iptables -A local-internet -m state --state ESTABLISHED,RELATED -j ACCEPT
  28. # On termine en indiquant que les connections appartenant à "local-internet"
  29. # accèdent à internet de manière transparente.
  30. iptables -A INPUT -j local-internet
  31. iptables -A FORWARD -j local-internet
  32. ############################### LES TABLES NAT ET MANGLE #############################
  33. echo "[Initialisation des tables nat et mangle]"
  34. iptables -t nat -F
  35. iptables -t nat -X
  36. iptables -t nat -P PREROUTING ACCEPT
  37. iptables -t nat -P POSTROUTING ACCEPT
  38. iptables -t nat -P OUTPUT ACCEPT
  39. iptables -t mangle -F
  40. iptables -t mangle -X
  41. iptables -t mangle -P PREROUTING ACCEPT
  42. iptables -t mangle -P OUTPUT ACCEPT
  43. #################################### LE MASQUERADING ########################################
  44. # Commentez ces 2 lignes, si vous ne faîtes pas du masquerading (nat)
  45. echo "[Mise en place du masquerading]"
  46. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
  47. ################################# ACTIVATION DE LA PASSERELLE ##################
  48. echo "[Activation de la passerelle]"
  49. echo 1 > /proc/sys/net/ipv4/ip_forward
  50. ################################# PAS DE SPOOFING ############################
  51. echo "[Pas de spoofing]"
  52. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
  53. for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
  54. do
  55. echo 1 > $filtre
  56. done
  57. fi
  58. ########################## PAS DE SYNFLOOD ####################
  59. echo "[Pas de synflood]"
  60. if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then
  61.  echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  62. fi
  63. ################################## PAS DE PING ###############################
  64. # commentez ces 6 lignes, si vous autorisez les pings sur votre passerelle
  65. echo "[Pas ping]"
  66. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  67. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  68. if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then
  69.  echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  70. fi
  71. ############################ Fonctionnalités serveurs #####################################
  72. echo "[Etude des fonctionalités serveurs, visibles depuis internet ]"
  73. # A ce stade, tous vos clients du réseau local et de la passerelle ont accès à internet. Mieux,
  74. # vos clients du réseau local, ont accès à vos serveurs apache, proftp ... localement. Mais personne
  75. # depuis internet ne peux accéder à l'un des serveurs que vous hébergés.
  76. # Il est bien-sûr possible de dévérrouiller pontuellement l'accès à un serveur depuis internet,
  77. # en décommentant les 2 ou 3 lignes correspondantes.
  78. #echo "[autorisation du serveur ssh(22) ...]"
  79. #iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  80. #echo "[autorisation du serveur smtp(25) ...]"
  81. #iptables -A INPUT -p tcp --dport smtp -j ACCEPT
  82. #echo "[autorisation du serveur http(80) ...]"
  83. iptables -A INPUT -p tcp --dport www -j ACCEPT
  84. #echo "[autorisation du serveur https(443) ...]"
  85. #iptables -A INPUT -p tcp --dport https -j ACCEPT
  86. #echo "[autorisation du serveur DNS(53) ...]"
  87. #iptables -A INPUT -p udp --dport domain -j ACCEPT
  88. #iptables -A INPUT -p tcp --dport domain -j ACCEPT
  89. #echo "[autorisation du serveur irc(6667) ...]"
  90. #iptables -A INPUT -p tcp --dport ircd -j ACCEPT
  91. #echo "[autorisation du serveur cvs (2401) ...]"
  92. #iptables -A INPUT -p tcp --dport cvspserver -j ACCEPT
  93. #echo "[autorisation du serveur FTP(21 et 20) ...]"
  94. #iptables -A INPUT -p tcp --dport ftp -j ACCEPT
  95. #iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
  96. # Ne pas décommenter les 3 lignes qui suivent.
  97. # Plus généralement :
  98. #echo "[autorisation du serveur Mon_truc(10584) ...]"
  99. #iptables -A INPUT -p tcp --dport 10584 -j ACCEPT
  100. echo "[firewall activé !]"


Tout marche, je peux jouer par internet, discuter par messagerie instantanée, etc.. Mais quand j'essaye d'accéder a un FTP sur intenet depuis mon poste linux, voici ce qui se passe :
 

Citation :

-- Connecté sur sivit6.org:21 --
> 220 sivit6.org NcFTPd Server (licensed copy) ready.
< USER root.pc-tuning.com
> 331 User root.pc-tuning.com okay, need password.
< PASS xxxx
> 230-You are user #4 of 70 simultaneous users allowed.
> 230-
> 230 Restricted user logged in.
< TYPE I
> 200 Type okay.
< PWD
> 257 "/" is cwd.
< PORT 192,168,0,233,129,240
> 200 PORT command successful.
< LIST -a
-- Déconnexion de l'hôte sivit6.org --
> 550 Cannot connect to 192.168.0.233:33264 - No route to host.

192.168.0.233 étant mon IP de réseaux local.
 
Au début, ce problème concernait seulement mon frère sous winXP, mais maintenant que ça ne marche plus sous mon linux a moi, faut que je corrige le problème :D
Au début ça marchait donc chez moi, mais soudainement ça s'est arreté sans que je ne modifi quoi que ce soit a mon poste.
 
D'où cela peut il venir ? :??:




 
Je vais peut etre dire uen connerie, mais il me semble qu'il te faut liberer au minimum qqs ports supplementaire afin d'utiliser FTP.
 J'admire ton courage pour tout faire a la main. J'ai eu un probleme similaire à toi, il a fallut que je libere une plage de port afin de pouvoir me connecter au ftp de leirn :/

Reply

Marsh Posté le 04-12-2002 à 21:44:31    

Ce sont les ports pour l'accès au serveur depuis internet qui sont fermés (sauf le :80), les autres devrais passer normalement...
Sinon j'ouvre quelles ports ?

Reply

Marsh Posté le 04-12-2002 à 22:43:22    

ftp c 20 et 21

Reply

Marsh Posté le 04-12-2002 à 22:45:25    

mode passif, ça sert à ça...

Reply

Marsh Posté le 06-12-2002 à 18:47:00    

DarkAngel_s a écrit :

ftp c 20 et 21

J'ai déjà essayé les port 20 et 21, mais passe pas.
Par contre le mode passif a fonctionné, merci ;)

Reply

Marsh Posté le 09-12-2002 à 14:01:59    

:lol:
 
erreur de foli ;)
 
il faut decommenter (enlever le #) de c lignes :
   #echo "[autorisation du serveur FTP(21 et 20) ...]"
   #iptables -A INPUT -p tcp --dport ftp -j ACCEPT
   #iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
 
pour que le FTP puisse passer
et relancer le fichier de conf
 
desolé j'avait pas tous lu  :sweat: les ligne à decommenter
c pour donner acces a ton FTP depuis internet !!


Message édité par stef_dobermann le 09-12-2002 à 15:45:18

---------------
Tout à commencé par un rêve...
Reply

Sujets relatifs:

Leave a Replay

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