FTP ne fonctionne pas a travers pfSense
-
Bonjour,
Désolé de ne pas comprendre cela, mais en même temps si je n'avais pas de problème je ne poserais pas la question.
Je suis désolé pour cela, mais il ne s'agit pas d'une configuration clair, et cela ne pose encore une fois problème qu'avec le FTP (tous les autres ports fonctionnent bien a travers le NAT).Si quelqu'un a une doc/exemple/screenshot, je serais preneur.
Merci d'avance
-
Le problème :
- vous avez installé un pfsense 2.2 et non 2.1.5,
- vous ne connaissez pas assez finement FTP,
- vous ne lisez pas assez bien les docs et surtout les logs,
- vous ne faites pas le lien entre éléments observés et ajustements de config.
Bref vous n'avez pas les connaissances (ce qui n'est pas le plus gênant), mais vous ne faites pas d'efforts !
En 1, il faut connaître FTP et actif/passif : wikipedia.
En 2, il faut lire et analyser la doc pfSense déjà citée.
En 3, il faut regarder la doc de votre serveur FTP (filezilla sur windows).C'est à vous de trouver (tester, configurer, itérer) …
-
Hello, je crois que JDH a bien résumé ton problème, surtout pour les logs, car ici les trois dernière ligne de celui-ci devrais te mettre la puce à l'oreille ;D
Pour commencé sur ton screen de log on vois que la connexion entre ton client et ton serveur s’établit bien mais c'est au niveau du transfert de data que ça foire.
Si tu prend le temps de mater le wiki : http://fr.wikipedia.org/wiki/File_Transfer_Protocol
Et de regarder c'est quoi cette histoire de passif actif (j'en avais aucun idée non plus avant de lire ce topic de problème)
Tu te rends compte que ça agis directement sur les ports.
Dans la doc il est spécifié que le client doit aussi être en mode passif pour les raisons décrite dans le wiki.Good luck ;D
-
@Lolight :
Dans la doc il est spécifié que le client doit aussi être en mode passif pour les raisons décrite dans le wiki.
Ce n'est pas le sujet ! Le sujet c'est héberger un serveur FTP !
-
Le sujet est de résoudre un problème concertant l'interconnexion d'un serveur et d'un client au travers de pfSense.
Le problème peut venir du serveur comme cela a été souligné plus haut, comme du client d'ou ma précision.
Ma ligne fais donc bel et bien partie du sujet.
Dans tout les cas si quelqu'un passe par la et qu'il a le même soucis, ça ne pourra que l'aider :)
Sans les point d'exclamation ça serais nettement plus agréable a lire ;) -
Le sujet est de résoudre un problème concertant l'interconnexion d'un serveur et d'un client au travers de pfSense.
Le problème peut venir du serveur comme cela a été souligné plus haut, comme du client d'ou ma précision.
Ma ligne fais donc bel et bien partie du sujet.
Dans tout les cas si quelqu'un passe par la et qu'il a le même soucis, ça ne pourra que l'aider :)
Sans les point d'exclamation ça serais nettement plus agréable a lire ;)+1
Même si ce n'est pas 100% le sujet initial, c'est quand même très proche et certainement utile à la compréhension générale pour celui qui découvre le sujet.
-
Relisez la doc, un peu plus attentivement !
La doc parle soit d'un client soit d'un serveur … mais forcément à l'intérieur !
D'ailleurs il y a juste une contradiction entre les recommandations : mode passif pour le client et mode actif pour le serveur ! -
Non il n'y a pas de contradiction AMHA 8)
Suite à la disparition du "proxy FTP", la "doc" considère juste différents cas:
- le cas du client derrière pfSense
- le cas du serveur derrière pfSense
Le cas du client:
"l'utilisateur ne devrait pas voir la différence" ::) mais c'est un énorme raccourci basé sur le fait que la plupart des clients FTP se rabattent sur le pasv (mode passif) si le mode actif ne fonctionne pas.
C'est suivi d'une considération surprenante sur le fait que ce mode implique d'autoriser des ports en sortie (en passif, c'est le client qui se connecte au serveur sur des ports > 1023) ce qui pourrait contrevenir à des règles de sécurité mais "si on fait du FTP et pas du FTPS, ce n'est pas sécurisé dont ça ne devrait pas poser de problème d'ouvrir ces règles"C'est un peu n'importe quoi quand même car il y a plein d'environnement où on va faire du FTP "anonyme" donc le mot de passe en clair, on s'en fout un peu :P
En mode actif, ça ne marche pas (car je rappelle que dans ce mode, c'est le serveur qui se connecte au client ::) pour la transmission des data) sauf si le client a une adresse IP publique qui donc ne nécessite pas de NAT.
Le cas du serveur:
En mode actif ça fonctionne (et l'abandon du proxy ne change rien) car c'est le serveur qui se connecte et donc le FW laisse juste sortir le flux sur les ports > 1023 (tien, ce coup ci il n'y a pas de considération du genre "ouais si les ports sont ouverts c'est que de toute manière ce n'est pas sécurisé…" :)En mode passif, c'est un peu plus compliqué car il ne suffit pas de rediriger les ports 20 et 21: que ce soit en actif ou en passif, une fois la connexion initialisée sur le port 21, la transmission de donner peut se faire, à l'initiative du client en mode actif et du serveur en mode passif sur des ports > 1023.
D’où la nécessité de mettre en places des redirections un peu plus complexe.Et donc, il n'y a pas de contradiction du point de vue de pfSense:
- pour un serveur derrière pfSense, le mode actif est le plus simple
- pour un client derrière pfSense, le mode passif est le plus simple
Le plus simple (quoique ;)) est probablement d'installer un proxy /reverse proxy FTP qui se chargera en mode proxy des connexion sortantes et mode reverse des connexion entrantes.
C'est d'ailleurs, mais de manière bien succincte, un des points de "la doc". Attention, c'est un package, avec tous les risques que cela comporte, mais il existe d'autres solutions de proxy/reverse hors pfSense 8) -
J'ai déjà écrit que le terme 'proxy' n'est absolument pas adapté et apporte de la confusion.
Il faudrait que cette page utilise le terme 'helper' bien plus approprié.
La version 2.2 a enlevé le module 'ftp_helper' présent dans les versions antérieures.
Le rôle de ce module est d'analyser le flux ftp, d'y repérer le passage en mode actif/passif et de créer les règles nécessaires 'au vol'.
(C'est l'équivalent du module 'ip_ftpconntrack' sous Linux.)Néanmoins cette page précise (et recommande) les cas d'utilisation et la façon de fonctionner :
en client, mode passif recommandé, en serveur, mode actif recommandé.Le fil traite clairement du problème qui est d'héberger un serveur FTP. Donc le client s'adaptera à la config du serveur
Il est alors raisonnable de ne pas 'confusionner' les lecteurs en mélangeant les cas : ici, c'est un serveur, et il est recommandé qu'il soit en mode actif. Point barre.@loglight, @chris4916 : puisque le serveur doit être en actif, le client le sera aussi.
Donc, il ne faut pas écrire que le client 'doit être en passif' = contradiction !
Et il faut éviter de parler d'autre chose que du sujet (même si culturellement …).J'ai écrit le 7/5 à 15h, ce qu'il faut faire, sans modifier les réglages firewall (parce que cela découle de la lecture attentive de la doc).
Et nous en sommes le 12/5 sur des informations inutiles et confusantes ... -
::) Il est un peut dommage que sur pratiquement chaque sujet nous ayons un point d'achoppement et j'avoue avoir du mal à comprendre pourquoi.
J'ai donc hésité à répondre directement dans ce sujet mais je vais cependant le faire afin de clarifier publiquement ma position.Disons que nous avons une perception du fonctionnement d'un forum sensiblement différente.
Si je fait un extrait chronologique de tes interventions sur ce sujet suite à la réponse initiale de ccnet qui consiste en un lien vers la page de la "doc" qui discute du sujet:@jdh:
La phrase "A server behind pfSense would work fine with active mode, there would be no difference here" est à comprendre par
=> Faire en sorte que le serveur FTP ne fonctionne QU'EN mode 'actif' !Qu'avez vous fait sur le serveur FTP pour que ce soit le cas ?
=> Vous voyez bien que le serveur passe en mode 'passif' !NB : Le NAT à configurer ne devrait concerner que 21/TCP (et pas 20/TCP puisque cette connexion là est initialisée uniquement depuis le serveur !).
ccnet s'est donné la peine de donner le bon lien : TOUT y est indiqué.
On ne va pas, à tour de rôle, vous le traduire et donner l'interprétation utile !A vous de vous prendre en main avec ces indications (qui sont très suffisantes).
Le problème :
- vous avez installé un pfsense 2.2 et non 2.1.5,
- vous ne connaissez pas assez finement FTP,
- vous ne lisez pas assez bien les docs et surtout les logs,
- vous ne faites pas le lien entre éléments observés et ajustements de config.
Bref vous n'avez pas les connaissances (ce qui n'est pas le plus gênant), mais vous ne faites pas d'efforts !
En 1, il faut connaître FTP et actif/passif : wikipedia.
En 2, il faut lire et analyser la doc pfSense déjà citée.
En 3, il faut regarder la doc de votre serveur FTP (filezilla sur windows).C'est à vous de trouver (tester, configurer, itérer) …
Ce n'est pas le sujet ! Le sujet c'est héberger un serveur FTP !
Et sur ta dernière réponse, en gros, tu nous dis:
"j'ai donné la réponse, arrêtez de semer la confusion avec des informations inutiles et confusantes" :o :o :oIl est évident que la solution de facilité consiste à renvoyer chacun vers la lecture de la doc.
Même si cette attitude est parfois la bonne en face d'un utilisateur qui ne fait visiblement pas d'effort, ce n'est pas le cas ici puisque l'initiateur du fil, même s'il ne possède pas ton niveau de compétence sur ce sujet, fait l'effort d'expliquer à la fois son contexte et les différents essais qu'il a fait.Il me semble donc utile de lui donner un peu plus d'explications, même si ce n'est pas 100% "le sujet initial et uniquement celui-ci", ne serait-ce que pour lui permettre de progresser dans sa compréhension générale.
Ton commentaire à propos de FTP helper vs FTP proxy est correct mais limité au scope de pfSense.
La notion de proxy, que tu réfutes, reste la terminologie utilisée au niveau de la plupart des clients FTP (regardes donc FileZilla par exemple) pour la simple raison que le proxy FTP existe en tant que tel et reste une solution technique dans le cas de cet utilisateur, même si ce n'est pas la solution implémentée par pfSense.Tu l'opposes au "helper", terminologie orientée netfilter (pfSense, Shorewall et autres) alors que ce sont des approches différentes de ce que j'explique.
Ceci dit, si l'initiateur du sujet a trouvé tes réponses suffisamment claires et utiles, il ne devrait pas être gêné par notre transgression et si ça le perturbe de nous voir discuter ces aspects dans le fil qu'il a initié, il ne manquera certainement pas de nous le dire et nous ouvrirons un fil dédié ;)
-
j'ai donné la réponse, arrêtez de semer la confusion avec des informations inutiles et confusantes
Ce n'est pas moi qui ai écrit cela, mais c'est EXACTEMENT et la réalité et ce que je pense (sauf que j'aurais écrit "la réponse a été donnée ….").
Il faut bien observer que le fil n'a pas évolué, sur le sujet, depuis le 8/5 et tous les posts depuis sont clairement inutiles et regrettables d'insistance !
Ce fil mériterait d'être nettoyé. D'autant que l'initiateur a fait des efforts initiaux et qu'il reçoit 'n'importe quoi'.
Et le site mériterait un recentrage : la réponse, toute la réponse, rien que la réponse ... étant entendu qu'il importe d'avoir une réponse 'efficace' (c'est à dire adaptée et pas forcément la vérité informatique !) -
Ton commentaire à propos de FTP helper vs FTP proxy est correct mais limité au scope de pfSense.
La notion de proxy, que tu réfutes, reste la terminologie utilisée au niveau de la plupart des clients FTP (regardes donc FileZilla par exemple) pour la simple raison que le proxy FTP existe en tant que tel et reste une solution technique dans le cas de cet utilisateur, même si ce n'est pas la solution implémentée par pfSense.Tu l'opposes au "helper", terminologie orientée netfilter (pfSense, Shorewall et autres) alors que ce sont des approches différentes de ce que j'explique.
La version 2.2 a supprimé le 'helper' présent dans les versions antérieures. Avec un 'helper' en place, l'installation d'un serveur FTP serait facilité car les 2 modes seraient fonctionnels. Il n'est absolument pas question ni de 'proxy' ni de package, juste d'une 'aide' pour pf (bsd et non netfilter/linux) pour le protocole ftp.
Tu as une obsession 'proxy' que je réprouve et auquel s'applique parfaitement 'arrêtez de semez la confusion' : trop d'informations, quand bien même exactes, tue l'information !
-
@jdh:
Il faut bien observer que le fil n'a pas évolué, sur le sujet, depuis le 8/5 et tous les posts depuis sont clairement inutiles et regrettables d'insistance !
Ce fil mériterait d'être nettoyé. D'autant que l'initiateur a fait des efforts initiaux et qu'il reçoit 'n'importe quoi'.
Et le site mériterait un recentrage : la réponse, toute la réponse, rien que la réponse … étant entendu qu'il importe d'avoir une réponse 'efficace' (c'est à dire adaptée et pas forcément la vérité informatique !)Au moins tu es constant dans la qualité de tes commentaires ::)
D'un autre coté si le moindre commentaire en dehors de "ccnet à raison" ou "jdh a raison" est perçu comme une pollution de la réponse idéale ;D alors le fil peut difficilement évoluer n'est-ce pas ???
Tu as une obsession 'proxy' que je réprouve et auquel s'applique parfaitement 'arrêtez de semez la confusion' : trop d'informations, quand bien même exactes, tue l'information !
Même si ça ne te plaît pas, lorsque tu déploies un firewall et que tu as soit des services en interne tournés également vers l’extérieur ou que depuis l'intérieur tu souhaites accéder à des services externes, le mécanisme du proxy et du reverse proxy sont extrêmement efficaces.
Tu peux le réprouver, c'est ton choix :) 8)
@jdh:
La version 2.2 a supprimé le 'helper' présent dans les versions antérieures. Avec un 'helper' en place, l'installation d'un serveur FTP serait facilité car les 2 modes seraient fonctionnels. Il n'est absolument pas question ni de 'proxy' ni de package, juste d'une 'aide' pour pf (bsd et non netfilter/linux) pour le protocole ftp.
Ce qui se traduit, extrait du lien fourni pas ccnet, par:
Another option is the recently added FTP Client Proxy package which leverages ftp-proxy(8) in FreeBSD to allow clients on local interfaces to reach remote FTP servers with active FTP.
Ceci étant, mon point était plutôt de regarder du coté des solutions réellement "proxy":
https://calomel.org/ftp_proxy.html
http://www.ftpproxy.org/
https://packages.debian.org/squeeze/ftp-proxyet il y en a plein d'autres.
-
Bonjour,
Merci pour toutes ces réponses.
@jdh:
Le problème :
- vous avez installé un pfsense 2.2 et non 2.1.5,
Oui, certes, effectivement, j'ai testé la version 2.1.5 et cela fonctionne sans aucun problème… mais ce n'est pas a jour, et cela n'est qu'un workaround.
Ceci étant, mon point était plutôt de regarder du coté des solutions réellement "proxy":
https://calomel.org/ftp_proxy.html
http://www.ftpproxy.org/
https://packages.debian.org/squeeze/ftp-proxyVous me conseiller donc de passer par un proxy/helper FTP?
Ou plutôt repasser sur une version 2.1.5?
Merci de vos conseils
-
Vous me conseiller donc de passer par un proxy/helper FTP?
Ou plutôt repasser sur une version 2.1.5?je ne te conseillerais certainement pas de rester en pfSense 2.1.5 8)
Après, comme il est semble t-il malvenu de discuter des différentes solutions possibles, je vais m'en tenir à LA réponse (qui marche au demeurant, du moins dans le principe car je ne l'ai pas testée): configure ton serveur FTP en "active FTP"
Si d'un autre coté, les clients de ton serveur FTP sont derrière un autre serveur pfSense…. je ne me risque pas à une réponse qui déclencherait encore des débats sans fin ;D ;D ;D
-
J'ai écrit le 7/5 qu'avec un pfSense 2.2, et en lisant la doc pfSense, une solution qui fonctionne est que le serveur doive fonctionner en mode actif.
D'après la doc Filezilla, cela ne me parait pas très difficile à faire (mais je n'ai pas essayé).
(Bien évidemment le client devra utiliser le mode actif … tout se teste facilement !).Merci de confirmer que cela fonctionne bien ainsi et clore ce fil (qui déraille ...)
-
@jdh:
Merci de confirmer que cela fonctionne bien ainsi et clore ce fil (qui déraille …)
Pourquoi donc ?
Je suis curieux de lire ta proposition technique lorsqu'un client lui même derrière un pfSense va essayer de se connecter à son serveur FTP ;)Et donc "ça fonctionne, verrouillons vite ce fil" ne peut se contenter d'un petit test vite fait car le plus souvent, il n'y a pas de contrôle sur le coté client.
-
@chris4916 : quel art consommé d'essayer de me faire dire ce que je n'ai pas dit !
arrêtez de semer la confusion avec des informations inutiles et confusantes
Dès qu'une réponse satisfaisante, fonctionnelle, adaptée, efficace a été donnée, il faut qu'il y ait des gens pour pinailler, pour rajouter "mais on pourrait", pour ergoter, …
C'est exaspérant, et ce fil en est la pleine illustration et démonstration.
Je n'ai jamais demandé que "ccnet a raison" soit la fin d'un fil, mais c'est souvent la réalité à cause d'années d'expérience : ici, à point nommé, le juste lien donne les réponses efficaces !Concernant le proxy (http), je répète qu'un proxy doit être dédié et que c'est la bonne solution pour 99% des cas, il faut qu'il y ait des gens pour parler du 1%.
Concernant mon avis personnel sur les proxy, il y a bien longtemps que j'installe proxy et reverse proxy. Il y a confusion sur ma réprobation : je réprouve le pinaillage !Dans le cas présent de FTP, je trouve regrettable
- la décision de retirer le 'helper' (au niveau ip) qui existe et fonctionne depuis des années au motif d'une insécurité connue,
- et encore plus, de proposer une affreuse et invraisemblable solution à base de proxy ftp (qui est un package).
En fait le helper ftp est une solution simple, et sans trace, et il faudrait la remplacer par une solution permettant de tracer toutes utilisations : parlez moi de sécurité !
Dorénavant, je ne prendrais plus part à des fils où intervient chris4916, puisque à chaque fois, c'est pinaillage, déformation, propos invraisemblables ...
Alors qu'il suffirait juste d'arrêtez de semer la confusion avec des informations inutiles et confusantes …NB : Le temps d'écrire ce post, et un exemple de plus ...
-
Merci pour tous vos retour et débats, qui furent instructifs.
Malheuresement donc, il ne semble vraiment pas simpole / impossible de se mettre un serveur FTP en mode passif derrière un pfSense 2.2… Dommage, d'autant que les client, majoritairement sur des browser, ne supportent que ce mode.
Néanmoins, avant qu'il y ait des morts, je vais clore ce topic.
Encore merci a tous!
-
Petit update sur le sujet, j'ai enfin trouvé le soucis!
Le serveur FTP n'avait pas les droits afin de faire une requête DNS dans le but de récupérer sa publique…. Donc impossible de l'envoyer au client.
Ci-joint les screenshot pour la config du NAT côté pfSense et config PASV côté Filezilla server.Merci a tous pour votre aide, et particulièrement a Chris qui est allé jusq'au bout de la démarche de troubleshooting :)
@+