NAT Simple et FTP

Bonjour à tous,

J’ai installe sur mon reseau une debian dont l’unique fonction est le NAT avec masquage de l’ip source sur mon LAN

post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ainsi 192.168.1.0/24 (LAN) <–> 192.168.1.246 (NAT) <–> 192.168.1.254 (ROUTEUR CONSTR)

Je sais que la demarche peut sembler bizarre mais on nou impose une seule et unique adresse visible via le MPLS et donc le routeur pour les machines du LAN.

Ainsi un PC1 par exmple en 192.168.1.1/24 aura sa GW en 192.168.1.246 qui route en masquant son IP vers 192.168.1.254, jusque la cela fonctionne mais j’ai une machine qui initialise une connexion FTP sur autre LAN au travers du MPLS elle passe bien par le 192.168.1.246 mais la connexion ne se fait pas idem je peux ping le serveur FTP distant ?

Avez vous une piste ?

Merci

Tu es dans le même subnet, il va donc chercher à switcher, et non à router les paquets.

Oui mais je n’ai pas le choix en effet je ne veux pas pour le moment changer mon plan IP et l’operateur devant etre remplacé courant 2015 aucune modification ne peut être realisée…

Cela n’explique pas l’utilisation du même sous-réseau IP des deux côtés du NAT. C’est sale.

Quelle connexion ? La connexion de commande sur le port 21 ou la connexion de données lors d’un transfert ou listage de répertoire ? En mode actif ou passif ? Que se passe-t-il exactement ?

Le protocole FTP est un peu particulier à gérer pour le NAT, il faut charger le module nf_nat_ftp.

Je n’ai pas compris la phrase. Quelle est la question ?

Qui ça, “il” ? Pas le Debian en tout cas.

Hey, tu as raison :

  • les clients ont Debian comme gw : aucune connaissance du “vrai” routeur
  • Debian a les clients d’un côté, l’autre routeur de l’autre : requiert une route plus spécifique pour envoyer les paquets du bons côtés
  • l’autre routeur n’a que Debian, et n’a aucune connaissance des vraies clients

Du coup, ce qui te manque: ip r a 192.168.1.254/32 dev eth0 (au fait, ta gateway est configurée comment ?)

L’entropie de cette phrase est très faible.

Ils pourraient, via un ICMP “redirect” malencontreusement émis par Debian pour signaler un chemin plus direct.

En fait non car si j’ai bien compris Debian n’a qu’un seul côté : eth0. Sinon c’est encore plus sale que je pensais.

Merci pour vos remarques/reponses

j’ai conscience que cela n’est pas propre et je vais détailler un peu:

exemple:
PC1 - 192.168.1.1/24 gw 192.168.1.246

PC2 - 192.168.1.2/24 gw 192.168.1.246

Debian - 192.168.1.246/24 gw 192.168.1.254 (routeur MPLS) la debian n’a qu’une interface pour le masquerade

Serveur1 sous redhat 5 - 192.168.1.250/24 gw 192.168.1.246 initialise une connexion FTP vers serveur2 (192.168.5.15) derriere MPLS, les pings depuis le serveur1 vers le serveur2 FTP fonctionne mais pas la connexion FTP quand je remets sur mon serveur1 la gw directe 192.168.1.254 la connexion FTP est OK

Je vais donc faire le test de suite avec le modprobe nf_nat_ftp

Merci

bon malgre le chargement de nf_nat_ftp et nf_conntrack_ftp le probleme reste identique en revanche depuis un PC windows j’arrive bien via par exemple un client type winscp a me connecter au FTP en utilisant le NAT, je vais creuser plus sur le serveur1

Winscp en SSH (port 22) ou FTP (port 21) ?

Si tu décrivais en détail ce qui se passe quand ça ne marche pas (programme et commande utilisés, logs, messages d’erreur…), on pourrait peut-être t’aider plus.

En FTP sur le port 21, pour les log j’ai semble-t-il sur le serveur1 un timeout je suis sur les logs actuellement.

En général la différence entre une machine windows et un test linux est que le test windows est en mode passif, pas le test linux ce qui pourrait expliquer la différence de fonctionnement. Confirmes tu et, comme le dit Pascal, donne exactement ce que tu as fait comme test: là j’essaye de deviner ce que tu as fait, pas de resoudre ton pbm.

Ça dépend plus du client utilisé que de l’OS. Le client ftp de base en ligne de commande fonctionne en mode actif dans les deux OS, ce n’est pas le cas des clients plus évolués.