(!LANG : Mode actif. Mode FTP actif et passif

Modes FTP

Lorsque vous travaillez avec le protocole FTP, deux connexions sont établies entre le client et le serveur : une connexion de contrôle (les commandes sont envoyées via celle-ci) et une connexion de données (les fichiers sont transférés via celle-ci). La connexion de contrôle est la même pour les modes Actif et Passif. Le client initie une connexion TCP depuis le port dynamique (1024-65535) vers le port numéro 21 du serveur FTP et dit "Bonjour ! Je souhaite me connecter à vous. Voici mon nom et mon mot de passe." Les autres actions dépendent du mode FTP (actif ou passif) sélectionné.

En mode Actif, lorsque le client dit « Bonjour ! il indique également au serveur un numéro de port (dans une plage dynamique de 1024 à 65535) afin que le serveur puisse se connecter au client pour établir une connexion de données. Le serveur FTP se connecte au numéro de port client spécifié en utilisant le numéro de port TCP 20 pour le transfert de données. Pour le client, une telle connexion est entrante, donc travailler en mode actif avec des clients situés derrière un pare-feu ou un NAT est souvent difficile ou nécessite des paramètres supplémentaires.

En mode passif, après que le client a dit « Bonjour ! », le serveur indique au client le numéro de port TCP (dans la plage dynamique 1024-65535) auquel il peut se connecter pour établir une connexion de données. Dans ce cas, comme il est facile de le constater, les ports d'une telle connexion, tant côté client que côté serveur, s'avèrent arbitraires. En mode passif, le client peut facilement travailler avec le serveur via son pare-feu, mais souvent pour que le serveur prenne en charge le mode passif, le pare-feu doit être configuré en conséquence côté serveur.

La principale différence entre le mode FTP actif et le mode FTP passif réside dans le côté qui ouvre la connexion pour le transfert de données. En mode Actif, le client doit pouvoir accepter cette connexion du serveur FTP. En mode Passif, le client initie toujours lui-même cette connexion et le serveur doit l'accepter.

FTP est un service basé uniquement sur TCP (Transmission Control Protocol). FTP est inhabituel dans le sens où il utilise deux ports, un port « données » et un port « commande » (également appelé port de contrôle). Traditionnellement, il s'agit du port 21 pour les commandes et du port 20 pour les données. Cependant, selon le mode, le port de données ne sera pas toujours 20.

DANS mode actif Le client FTP se connecte depuis un port arbitraire non privilégié (N > 1024) au port de commande 21 du serveur FTP. Ensuite, le client commence à écouter sur le port N+1 et envoie la commande FTP PORT N+1 au serveur FTP. En réponse, le serveur se connecte au port de données client spécifié à partir de son port de données local 20.

DANS mode passif Le client FTP initie les deux connexions au serveur, résolvant ainsi le problème des pare-feu qui filtrent le port de données entrant du client. Lors de l'ouverture d'une connexion FTP, le client ouvre localement deux ports non privilégiés (N > 1024 et N+1). Le premier port contacte le serveur sur le port 21, mais au lieu d'émettre une commande PORT et de permettre au serveur de répondre en se connectant à son port de données, le client émet une commande PASV. En conséquence, le serveur ouvre un port arbitraire non privilégié (P > 1024) et envoie la commande PORT P au client. Ensuite, pour transférer des données, le client initie une connexion du port N+1 au port P sur le serveur.

FTP est un service exclusivement basé sur TCP. Il n'y a pas de composant UDP pour FTP. FTP est un service inhabituel dans le sens où il utilise deux ports, un port « données » et un port « commande » (également appelé port de contrôle). Traditionnellement, il s'agit du port 21 pour le port de commande et du port 20 pour le port de données. La confusion commence cependant quand on constate que selon le mode, le port data n'est pas toujours sur le port 20.

FTP actif

En mode actif FTP, le client se connecte depuis un port aléatoire non privilégié (N > 1023) au port de commande du serveur FTP, le port 21. Ensuite, le client commence à écouter le port N+1 et envoie la commande FTP PORT N+1 à le serveur FTP. Le serveur se reconnectera ensuite au port de données spécifié par le client à partir de son port de données local, qui est le port 20.

Du point de vue du pare-feu côté serveur, pour prendre en charge le FTP en mode actif, les canaux de communication suivants doivent être ouverts :

Port 21 du serveur FTP vers les ports >
Port 20 du serveur FTP vers les ports > 1023 (le serveur initie la connexion de données au port de données du client)
Port 20 du serveur FTP à partir des ports > 1023 (le client envoie des ACK au port de données du serveur)

À l'étape 1, le port de commande du client contacte le port de commande du serveur et envoie la commande PORT 1027. Le serveur renvoie ensuite un ACK au port de commande du client à l'étape 2. À l'étape 3, le serveur initie une connexion. sur son port de données local vers le port de données spécifié précédemment par le client. Enfin, le client renvoie un ACK comme indiqué à l'étape 4.

Le principal problème du FTP en mode actif se situe en fait du côté client. Le client FTP n'établit pas la connexion réelle au port de données du serveur - il indique simplement au serveur sur quel port il écoute et le serveur se reconnecte au port spécifié sur le client. Depuis le pare-feu côté client, cela apparaît. être un système extérieur initiant une connexion à un client interne - quelque chose qui est généralement bloqué.

FTP passif

Afin de résoudre le problème du serveur qui initialise la connexion au client, une méthode différente pour les connexions FTP a été développée. C'est ce qu'on appelle le mode passif, ou PASV, d'après la commande utilisée par le client pour indiquer au serveur qu'il est en mode passif.

En mode FTP passif, le client initie les deux connexions au serveur, résolvant ainsi le problème des pare-feu filtrant la connexion du port de données entrant vers le client depuis le serveur. Lors de l'ouverture d'une connexion FTP, le client ouvre localement deux ports aléatoires non privilégiés (N > 1023 et N+1). Le premier port contacte le serveur sur le port 21, mais au lieu d'émettre une commande PORT et de permettre au serveur de se reconnecter à son port de données, le client émettra la commande PASV. Le résultat est que le serveur ouvre alors un port aléatoire non privilégié (P > 1023) et renvoie la commande PORT P au client. Le client initie ensuite la connexion du port N+1 au port P sur le serveur pour transférer les données.

Du point de vue du pare-feu côté serveur, pour prendre en charge le mode FTP passif, les canaux de communication suivants doivent être ouverts :
Port 21 du serveur FTP depuis n'importe où (le client établit la connexion)
Port 21 du serveur FTP vers les ports > 1023 (le serveur répond au port de contrôle du client)
Ports du serveur FTP > 1023 depuis n'importe où (le client établit une connexion de données vers un port aléatoire spécifié par le serveur)
Ports du serveur FTP > 1023 vers les ports distants > 1023 (le serveur envoie des ACK (et des données) au port de données du client)

Le tableau suivant devrait aider les administrateurs à se souvenir du fonctionnement de chaque mode FTP :
FTP actif :
commande : client >1023 -> serveur 21
données : client >1023<- server 20

FTP passif :
commande : client >1023 -> serveur 21
données : client >1023 -> serveur >1023

Un résumé rapide des avantages et des inconvénients de l'activité active par rapport à l'activité. Le FTP passif est également de mise :

Le FTP actif est bénéfique pour l'administrateur du serveur FTP, mais préjudiciable pour l'administrateur côté client. Le serveur FTP tente d'établir des connexions à des ports aléatoires élevés sur le client, qui seraient presque certainement bloqués par un pare-feu côté client. Le FTP passif est bénéfique pour le client, mais préjudiciable à l'administrateur du serveur FTP. Le client établira les deux connexions au serveur, mais l'une d'elles sera vers un port haut aléatoire, qui serait presque certainement bloqué par un pare-feu côté serveur.

Heureusement, il existe une sorte de compromis. Étant donné que les administrateurs exécutant des serveurs FTP devront rendre leurs serveurs accessibles au plus grand nombre de clients, ils devront presque certainement prendre en charge le FTP passif. L'exposition des ports de haut niveau sur le serveur peut être minimisée en spécifiant une plage de ports limitée à utiliser par le serveur FTP. Ainsi, tout, à l'exception de cette gamme de ports, peut être protégé par un pare-feu côté serveur. Même si cela n'élimine pas tous les risques pour le serveur, cela les réduit considérablement.

    Abréviation FTP vient de l'anglais F ile T transfert P. rotocol (file transfer protocol) est un protocole de couche application permettant d'échanger des fichiers via le protocole de transport TCP/IP entre deux ordinateurs, un client FTP et un serveur FTP. Il s’agit de l’un des protocoles les plus anciens et pourtant toujours activement utilisé.

Le protocole FTP est conçu pour résoudre les problèmes suivants :

  • accéder aux fichiers et répertoires sur des hôtes distants
  • garantir l'indépendance du client par rapport au type de système de fichiers de l'ordinateur distant
  • transmission de données fiable
  • utilisation des ressources du système distant.
  • Le protocole FTP prend en charge deux canaux de connexion à la fois : un pour le transfert équipes et les résultats de leur mise en œuvre, l'autre est destiné au partage données. Avec les paramètres standard, le serveur FTP utilise le port TCP 21 pour organiser un canal d'envoi et de réception de commandes et le port TCP 20 pour organiser un canal de réception/transmission de données.

    Le serveur FTP attend les connexions des clients FTP sur le port TCP 21 et, après avoir établi une connexion, accepte et traite Commandes FTP, qui sont des chaînes de texte normales. Les commandes définissent les paramètres de connexion, le type de données transférées et les actions relatives aux fichiers et répertoires. Après s'être mis d'accord sur les paramètres de transmission, l'un des participants à l'échange passe en mode passif, en attente des connexions entrantes pour le canal d'échange de données, et le second établit une connexion avec ce port et commence la transmission. Une fois le transfert terminé, la connexion de données est fermée, mais la connexion de contrôle reste ouverte, vous permettant de poursuivre la session FTP et de créer une nouvelle session de transfert de données.

    Le protocole FTP peut être utilisé non seulement pour transférer des données entre un client et un serveur, mais également entre deux serveurs. Dans ce cas, le client FTP établit une connexion de contrôle avec les deux serveurs FTP, fait passer l'un d'eux en mode passif et le second en actif, créant ainsi un canal de transfert de données entre eux.

    Un client FTP est un programme qui se connecte à un serveur FTP et effectue les opérations nécessaires pour afficher le contenu des répertoires du serveur et recevoir, transférer et supprimer des fichiers ou des dossiers. Un tel programme peut être un navigateur classique, des composants du système d'exploitation ou des produits logiciels spécialement développés, tels qu'un gestionnaire de téléchargement populaire. Télécharger le maître ou multifonctionnel gratuit Client FTP FileZilla.

    Le protocole FTP a été développé à l'époque où le client et le serveur interagissaient directement, sans aucune transformation intermédiaire des paquets TCP, et en mode standard, il suppose la possibilité de créer une connexion TCP non seulement à l'initiative du client, mais également à l'initiative du serveur du port TCP 20 sur le port TCP - client dont le numéro est transmis lors de la création d'une session de données.

    Les réalités d'aujourd'hui sont telles qu'une telle connexion TCP du serveur au client est dans la grande majorité des cas impossible, ou très difficile à mettre en œuvre du fait que dans la plupart des cas, la technologie de traduction d'adresses réseau est utilisée pour se connecter à Internet. NAT(Network Address Translation) lorsque le client ne dispose pas d'une interface réseau disponible pour créer une connexion TCP directe à partir d'Internet. Un schéma typique d'une connexion Internet standard ressemble à ceci :

    La connexion Internet s'effectue via un appareil spécial - Routeur(routeur avec fonction NAT) qui possède au moins deux ports réseau - un connecté au réseau du fournisseur, ayant une interface réseau avec une adresse IP routée (appelée « IP blanche »), par exemple 212.248.22.144, et un port avec une interface réseau pour connecter des périphériques de réseau local avec une adresse IP privée non routable, par exemple 192.168.1.1 (« IP grise »). Lors de la création de connexions à partir de périphériques réseau locaux vers des nœuds de réseau externes, des paquets IP sont envoyés au routeur, qui effectue une traduction d'adresse et de port afin que l'adresse de l'expéditeur devienne la sienne. adresse IP blanche. Les résultats de la traduction sont enregistrés et lorsqu'un paquet de réponse est reçu, une traduction d'adresse inverse est effectuée. Ainsi, le routeur assure le transfert des paquets TCP/IP depuis n'importe quel périphérique du réseau local vers des réseaux externes et le retour des paquets de réponse reçus. Mais dans les cas où un paquet non lié aux paquets de réponse TCP est reçu à l'entrée d'une interface réseau connectée au réseau du fournisseur, les options de réaction suivantes sont possibles pour le logiciel du routeur :

    Le paquet est ignoré car il n'existe aucun service réseau pour le traiter.

    Le paquet est reçu et traité par le service réseau du routeur lui-même, si un tel service existe et attend une connexion entrante (« écoute ») sur le port dont le numéro est indiqué dans le paquet reçu.

    Le paquet est transmis à un serveur du réseau local qui attend ce type de connexions entrantes conformément aux règles de mappage de port spécifiées par les paramètres du routeur.

    Par conséquent, à l'heure actuelle, le principal mode de fonctionnement utilisant le protocole FTP est devenu ce que l'on appelle le « mode passif », dans lequel les connexions TCP sont établies uniquement du client au port TCP du serveur. Le mode actif est utilisé dans les cas où il est possible de connecter TCP du serveur aux ports clients, par exemple lorsqu'ils sont sur le même réseau local. Le mode de connexion FTP est sélectionné à l'aide de commandes spéciales :

    PASV- le client envoie une commande pour effectuer un échange de données en mode passif. Le serveur renverra l'adresse et le port auxquels vous devez vous connecter pour recevoir ou transmettre des données. Exemple d'un fragment d'une session FTP avec le mode passif défini :

    PASSV- commande de passage en mode passif transmise par le client FTP au serveur FTP

    227 Entrée en mode passif (212,248,22,144,195,89)- Réponse du serveur FTP, où 227 est le code de réponse, un message texte concernant le passage en mode passif et entre parenthèses l'adresse IP et le numéro de port qui seront utilisés pour créer un canal de transmission de données. L'adresse et le numéro de port sont affichés sous forme de nombres décimaux séparés par une virgule. Les 4 premiers chiffres sont l'adresse IP (212.248.22.144), les 2 chiffres restants spécifient le numéro de port, qui est calculé par la formule - le premier nombre est multiplié par 256 et le deuxième nombre est ajouté au résultat, dans cet exemple le numéro de port est 195 * 256 +89 = 50017

    PORT Adresse IP du client Numéro de port- le client envoie une commande pour établir une session en mode actif. L'adresse IP et le numéro de port sont spécifiés dans le même format que dans l'exemple précédent, par exemple PORT 212.248.22.144,195,89 Pour organiser le transfert de données, le serveur lui-même se connecte au client sur le port spécifié.

    Installation et configuration du serveur FTP FileZilla.

    Vous pouvez télécharger le package d'installation de FileZilla Server pour votre version du système d'exploitation à l'adresse

    L'installation du serveur s'effectue de manière standard, à l'exception de l'élément de sélection des paramètres du panneau de configuration du serveur :

    Il s'agit du principal outil de gestion de serveur grâce auquel tous les paramètres nécessaires sont effectués. Par défaut, la centrale fonctionne sur une interface de bouclage sans accès par mot de passe. Si nécessaire, par exemple si le contrôle à distance du serveur FTP est requis, ces paramètres peuvent être modifiés.

    Une fois l'installation terminée, une fenêtre d'invitation s'ouvrira pour se connecter au serveur :

    Après avoir saisi l'adresse IP, le numéro de port et le mot de passe (si vous les avez spécifiés lors du processus d'installation), le panneau de configuration de FileZilla Server s'ouvre :

    En haut de la fenêtre se trouvent le menu principal et les boutons du panneau de commande. Ci-dessous se trouvent deux zones : les messages d'information sur le serveur et les informations statistiques. Dans l'ensemble, le panneau de configuration FTP de FileZilla Server est assez simple et facile à utiliser. Éléments du menu principal :

    Déposer- les modes de fonctionnement du panneau de contrôle du serveur FTP. Contient des sous-éléments

    - Connecter au serveur- se connecter au serveur
    - Déconnecter- se déconnecter du serveur
    - Quitter- arrêt du panneau de commande.

    Serveur- Gestion du serveur FTP. Contient des sous-paragraphes :

    - Actif- démarrer/arrêter le serveur FTP. Si la case est cochée, le serveur FTP est démarré, si elle n'est pas cochée, il est arrêté.
    - Verrouillage- interdire/autoriser les connexions au serveur. Lorsque la case est cochée, les nouvelles connexions au serveur sont interdites.

    Modifier- édition des paramètres. Sous-éléments :

    - Paramètres- paramètres de base du serveur.
    - Utilisateurs- Paramètres utilisateur du serveur FTP
    - Groupes- paramètres du groupe d'utilisateurs.

    À titre d'exemple, configurons le serveur pour les conditions suivantes :

  • le serveur est derrière NAT, possède une adresse IP privée, mais doit être accessible depuis Internet, prend en charge le mode passif et utilise des ports TCP non standard. L'utilisation de ports non standard réduit le risque d'attaques de pirates informatiques et, de plus, certains fournisseurs utilisent le filtrage du trafic et bloquent les ports standard 20 et 21.
  • les utilisateurs ont la possibilité de télécharger depuis le serveur, de télécharger sur le serveur, de supprimer et de renommer des fichiers et des dossiers.
  • Si vous utilisez une adresse IP dynamique, vous devez vous assurer que le serveur est accessible par nom DNS.
  • le serveur fonctionnera sur un poste de travail dans un environnement OS Windows 7 / Windows 8.
  • Autrement dit, il faut créer un serveur FTP accessible depuis Internet pour échanger des fichiers entre utilisateurs, bien sûr gratuitement. Il est bien clair qu'en plus de créer la configuration nécessaire du serveur FTP lui-même, vous devrez modifier certains paramètres du routeur, les paramètres du pare-feu Windows et résoudre le problème d'une adresse IP dynamique afin que le serveur soit accessible par son nom, quel que soit le problème. du changement d’adresse IP.

    Résoudre le problème de l'adresse IP dynamique.

        Ce problème ne nécessite pas de solution dans les cas où, lors de la connexion à Internet, une adresse IP statique ou dynamique est utilisée, mais conformément aux paramètres du fournisseur, elle est presque toujours la même. Sinon, vous pouvez utiliser une technologie appelée DNS dynamique (DDNS) . Cette technologie vous permet de mettre à jour les informations d'adresse IP sur le serveur DNS presque en temps réel et d'accéder au routeur (et aux services derrière celui-ci) par le nom enregistré, sans prêter attention aux changements dans l'adresse IP dynamique.

    Pour mettre en œuvre cette technologie gratuitement, vous devrez vous inscrire auprès d'un service DNS dynamique et installer un logiciel client pour mettre à jour l'enregistrement DNS si l'adresse IP correspondante change. Le support du DNS dynamique est généralement assuré par les fabricants d'équipements réseaux (D-Link, Zyxel, etc.), certains hébergeurs et sociétés spécialisées, comme le célèbre DynDNS. Cependant, après qu'au cours du second semestre 2014, tous les services fournis gratuitement aux utilisateurs enregistrés pour une utilisation non commerciale soient devenus payants, la solution la plus populaire était peut-être l'utilisation d'un DNS dynamique basé sur le service. No-IP.org, qui fournit des services de support gratuits pour 2 nœuds avec IP dynamique. Pour utiliser le service gratuitement, vous devrez vous inscrire et visiter périodiquement (environ une fois par mois) le site pour mettre à jour les informations sur les nœuds IP dynamiques utilisés. Si vous ignorez la mise à jour des données du nœud, le service est suspendu et, par conséquent, il deviendra impossible de se connecter au nœud par son nom. Lors de l’utilisation du service payant, aucune mise à jour n’est requise.

        Presque tous les routeurs (modems) modernes prennent en charge un client DNS dynamique. Sa configuration est généralement très simple : vous remplissez les champs avec le nom d'utilisateur et le mot de passe, ainsi que le nom d'hôte reçu lors de l'inscription au service DDNS. Exemple pour Zyxel P660RU2

        L'utilisation du client DDNS intégré au routeur/modem est préférable à l'utilitaire de mise à jour des données DNS exécuté dans l'environnement du système d'exploitation, car il vous permet de mettre en œuvre des fonctionnalités supplémentaires, telles que la gestion du routeur via Internet lorsque l'ordinateur est éteint et allumer à distance l'alimentation électrique des ordinateurs derrière NAT à l'aide de la technologie Réveil sur réseau local.

    Dans les cas où il n'est pas possible d'utiliser le client DDNS intégré, vous devrez vous contenter d'un logiciel d'application - un programme client pour la prise en charge DNS dynamique. Un tel programme se connecte périodiquement à un serveur qui maintient un nom de domaine enregistré associé au routeur via lequel la connexion Internet est établie et appelle la procédure de mise à jour IP lorsqu'il change. Les paramètres du serveur sont définis de telle manière que la comparaison du nom DNS et de l'adresse IP de la connexion Internet s'effectue en très peu de temps et que le caractère dynamique de l'adresse n'a pratiquement aucun effet sur les performances des services associés à le nom DNS.

    La procédure est la suivante :

  • Nous allons sur le site No-IP.org. Pour travailler avec un compte existant ou nouveau, utilisez le bouton "Se connecter"(en haut à droite de la page).

  • Créez, s'il n'a pas encore été créé, votre compte - cliquez "Créer un compte". Le formulaire d'inscription change périodiquement, mais il est obligatoire de saisir le nom d'utilisateur, le mot de passe souhaité et votre E-mail. Un email avec un lien pour confirmer l'inscription est envoyé à l'e-mail indiqué lors de l'inscription. Lors de votre inscription, sélectionnez l'accès gratuit - cliquez sur le bouton Inscription gratuite après avoir rempli tous les champs requis du formulaire.
  • Après une inscription réussie, connectez-vous au site et ajoutez une entrée pour votre nœud - cliquez sur le bouton "Ajouter des hôtes"

    En fait, il vous suffit de saisir le nom d'hôte sélectionné, dans ce cas - monhôte8.ddns.net. Il n'est pas nécessaire de modifier d'autres paramètres. Ensuite, vous devez télécharger et installer un logiciel spécial - Client de mise à jour dynamique(DUC), dont le lien vers se trouve sur la page principale du site. Une fois l'installation de DUC terminée, il se lancera et une fenêtre d'autorisation s'ouvrira, dans laquelle vous devrez saisir le nom d'utilisateur ou l'e-mail et le mot de passe reçus lors de votre inscription sur le site no-ip.org. Appuyez ensuite sur le bouton Modifier l'hôte et cochez la case à côté du nom d'hôte créé précédemment (myhost8.ddns.net). Désormais, le nom d'hôte sélectionné correspondra toujours à « l'adresse IP blanche » de votre connexion Internet. Si vous rencontrez des difficultés pour mettre à jour votre adresse IP, vérifiez si l'activité réseau de votre client DUC est bloquée par un pare-feu.

    Configuration d'un serveur FTP

        L'utilisation de numéros de port non standard pour un serveur FTP n'est pas du tout nécessaire si le fournisseur n'utilise pas de filtrage du trafic ou si vous ne vous souciez pas d'analyser les ports à la recherche de vulnérabilités et d'essayer de deviner les mots de passe. Dans cet article, l'utilisation d'un serveur FTP avec des ports TCP non standards est présentée comme l'une des options possibles.

    Les paramètres de FileZilla Server sont définis via le menu "Modifier" - "Paramètres".

    Fenêtre réglages généraux destiné aux paramètres généraux du serveur FTP.

    Dans le champ "Écouter sur ce port", vous pouvez spécifier le numéro de port pour les connexions TCP entrantes. Par défaut, ce champ est défini sur 21 , et pour utiliser un numéro non standard, vous devez spécifier la valeur sélectionnée, par exemple - 12321 . Utiliser un port TCP non standard présente quelques inconvénients, car il nécessite de préciser sa valeur lors de la création d'une session :

    Si le serveur est prévu pour être utilisé à la fois avec un accès depuis Internet et sur le réseau local, il est logique de laisser la valeur standard 21 et d'utiliser un numéro de port non standard pour les connexions depuis Internet, en mettant en place la redirection des paquets arrivant. sur le port 12321 du routeur vers le port 21 du serveur FTP en réseau local. Avec cette configuration, il n'est pas nécessaire de spécifier un numéro de port pour les sessions FTP au sein du réseau local.

    D'autres paramètres servent à régler les performances et les délais d'expiration des sessions. Ils peuvent rester inchangés. Les sections restantes des paramètres généraux peuvent également être laissées par défaut :

    Message de bienvenue- texte envoyé au client lors de la connexion.

    Liaison IP- sur quelle interface réseau les connexions client seront attendues. Par défaut - sur n'importe lequel, mais vous pouvez en spécifier un spécifique, par exemple - 192.168.1.3.

    Filtre IP- mise en place de règles de filtrage des adresses IP clients. Par défaut, les connexions sont autorisées pour n'importe quelle IP.

    Chapitre Paramètres du mode passif sert à configurer le mode FTP passif et nécessitera de modifier presque tous les paramètres par défaut.

    Les numéros de port qui seront utilisés pour transmettre les données en mode passif doivent être définis manuellement, car le routeur devra être configuré pour les rediriger vers l'interface réseau écoutée par le serveur. Par conséquent, vous devez cocher la case pour activer le mode "Utiliser la plage de ports personnalisée" et définir la plage - par exemple, de 50000 avant 50020 . Le nombre de ports écoutés par le serveur détermine la limite du nombre de sessions de transfert de données simultanées.

    Sous-section Spécifique à IPv4 définit l'adresse IP qui sera envoyée par le serveur en réponse à la commande PASV. Dans ce cas, il ne doit pas s’agir de l’adresse IP 192.168.1.3 du serveur, mais de « l’adresse IP blanche » de notre connexion Internet. Par conséquent, vous devez définir le mode « Utiliser l'adresse IP suivante » et au lieu de l'adresse IP, saisir le nom reçu lors de l'inscription au service DNS dynamique - monhôte8.ddns.net. Comme alternative, vous pouvez utiliser le mode de détermination de l'adresse IP externe à l'aide du projet FileZilla en l'activant. "Récupérer l'adresse IP externe de :". Cette option peut être sélectionnée dans les cas où il n'est pas possible d'utiliser l'outil DNS dynamique. Si vous avez l'intention d'utiliser un serveur FTP sur votre réseau local, vous devez définir le mode sur "Ne pas utiliser d'adresse IP externe pour les connexions locales" (n'utilisez pas d'adresse IP externe pour les connexions au sein du réseau local)

    Le reste des paramètres du serveur peut rester inchangé ou, si nécessaire, effectué ultérieurement : Les paramètres de sécurité- Les paramètres de sécurité. Par défaut, les connexions pouvant être utilisées pour mettre en œuvre des attaques DDoS sont interdites

    Divers- paramètres de taille de tampon et autres paramètres de journal ainsi que certaines commandes FTP.

    Paramètres de l'interface d'administration- paramètres du panneau de contrôle du serveur. Vous pouvez spécifier l'interface réseau, le numéro de port d'écoute, les adresses IP à partir desquelles les connexions à la centrale sont autorisées et un mot de passe.

    Enregistrement- Paramètres du journal des événements du serveur. Par défaut, l'écriture dans le fichier n'est pas effectuée.

    Limite de vitesse- Paramètres de limite de taux de transfert de données. Par défaut - aucune restriction.

    Compression de transfert de fichiers- paramètres de compression des fichiers pendant le transfert. La valeur par défaut est aucune compression.

    Paramètres SSL/TLS activer le mode de cryptage pour les données transmises. La valeur par défaut n'est pas de cryptage.

    Autoban- activer le blocage automatique des utilisateurs qui sélectionnent un mot de passe pour se connecter. Par défaut, le blocage automatique est désactivé.

    Configuration de la redirection de port et du pare-feu

    Pour que le serveur FTP soit accessible depuis Internet, il est nécessaire de configurer le routeur pour que les connexions entrantes arrivant sur certains ports TCP de l'interface externe soient redirigées vers les ports TCP écoutés par le serveur FTP sur le réseau interne. Pour différents modèles de routeurs, les paramètres peuvent différer dans la terminologie, mais leur signification est la même : un paquet TCP avec un numéro de port spécifique reçu sur l'interface externe (WAN) est envoyé au réseau local à l'adresse IP et au port souhaités. Exemple de paramètres du routeur D-Link DIR-320NRU pour la redirection de port utilisée pour le mode FTP passif :

    Les paquets reçus sur une interface avec une "IP blanche" et ayant des numéros de port compris entre 50000 et 50020 seront redirigés vers l'adresse IP spécifiée dans le champ "IP interne" (dans notre cas - 192.168.1.3). De même, une redirection est créée vers le port 50021 si vous avez modifié le numéro de port standard, ou vers le port 21 du serveur FTP si vous l'avez laissé inchangé.

    Après avoir appliqué ces paramètres, le serveur FTP sera accessible via URL ftp://myhost8.ddns.net:50021 ou, pour une connexion au sein d'un réseau local :

    ftp://192.168.1.3- si vous n'avez pas modifié le numéro de port par défaut (21) dans les paramètres du serveur FTP.

    ftp://192.168.1.3:50021- si un numéro de port non standard est utilisé.

    Vous pouvez utiliser un nom d'ordinateur au lieu d'une adresse IP s'il peut être résolu en adresse IP

    ftp://comp1

    ftp://comp1.mydomain.ru

    Diagnostic des problèmes

    Si la connexion au serveur FTP ne se produit pas, des problèmes peuvent survenir avec le pare-feu bloquant les connexions nécessaires au fonctionnement du serveur FTP créé. Si vous utilisez le pare-feu Windows intégré, vous devez ajouter une règle autorisant l'activité réseau pour le service « Serveur FTP FileZilla ». Si vous utilisez un pare-feu ou un antivirus tiers avec filtrage du trafic, vous devez créer une règle correspondante à l'aide des outils de configuration disponibles pour autoriser les connexions réseau. Des options sont possibles lorsque des paramètres sont définis pour autoriser toute activité réseau d'un programme spécifique ou pour autoriser des adresses et des ports sélectionnés qui s'appliquent à tous les programmes.

    Le meilleur endroit pour démarrer les diagnostics est sur le serveur FTP lui-même. En tant qu'outil de diagnostic, vous pouvez utiliser un standard client telnet(utilitaire telnet.exe) . Tous les firewalls ne bloquent pas les connexions sur l'interface de bouclage, et pour vérifier que les paramètres du serveur sont corrects, vous pouvez vous y connecter en entrant la commande :

    telnet localhost 21- si un numéro de port standard est utilisé.

    telnet localhost 50021- si le numéro de port standard a été modifié.

    Lorsque cette commande est exécutée, une connexion au serveur FTP est établie via l'interface de bouclage et une invitation du serveur (message de bienvenue) doit s'afficher dans la fenêtre telnet. Si cela ne se produit pas, le serveur peut être arrêté, il y a un conflit de port ou le port 21 (50021) n'écoute pas. Pour les diagnostics, vous pouvez utiliser la commande netstat:

    netstat –nab

    Les options de ligne de commande signifient :

    n- utiliser des numéros de port numériques et des adresses IP

    un- afficher toutes les connexions et ports d'écoute

    b- afficher les noms des programmes impliqués dans la création de connexions.

    Exemple de résultats de commande affichés :

    Connexions actives

    Nom     Adresse locale     Adresse externe     Statut
    TCP         0.0.0.0:21                 0.0.0.0:0                 ÉCOUTE
    TCP         0.0.0.0:135               0.0.0.0:0                 ÉCOUTE
    RpcS

    Dans une chronique Adresse locale il y a un sens 0.0.0.0:21 , ce qui indique que le programme nommé FileZilla Server.exeécoute (état ÉCOUTE) Port TCP numéro 21 sur toutes les interfaces réseau. Si une interface spécifique et un numéro de port différent ont été spécifiés dans les paramètres du serveur FTP, alors cette valeur contiendra IP : port, Par exemple - 192.168.1.3:50021

    Pour afficher les résultats en mode page, vous pouvez utiliser la commande :

    netstat-nab | plus

    Ou utilisez les résultats de recherche par numéro de port : netstat-nab | trouver ":21"

    Si le serveur n'est pas disponible sur une interface sans bouclage, mais est accessible sur une interface de bouclage, vous devez comprendre les paramètres du pare-feu.

    Configuration des utilisateurs et des groupes.

    La configuration des utilisateurs et des groupes se fait via le menu "Modifier" - "Utilisateurs" ("Groupes"). Il n'est pas nécessaire de créer des groupes, mais cela est parfois pratique dans les cas où il y a un grand nombre d'utilisateurs et où leurs droits par rapport au serveur FTP diffèrent. Les paramètres pour les groupes et les utilisateurs sont presque identiques :

    Cet exemple montre le résultat de l'ajout d'un utilisateur de serveur FTP nommé utilisateur1 avoir tous les droits pour écrire, lire, supprimer et fusionner des fichiers, ainsi que pour afficher le contenu, supprimer et créer des sous-répertoires dans le répertoire C:\ftp\public

    Sur la page Général les propriétés utilisateur sont ajoutées, supprimées et modifiées.
    Sur la page Dossiers partagés des paramètres sont définis qui déterminent la liste des répertoires du système de fichiers qui seront utilisés par le serveur FTP pour y accéder via le protocole FTP. Chaque utilisateur ou groupe d'utilisateurs peut se voir attribuer son propre répertoire avec certains droits relatifs à son contenu.
    Sur la page Limites de vitesse Vous pouvez définir des restrictions sur la vitesse d'échange de données.
    Sur la page Filtre IP Vous pouvez définir des règles de filtrage de l'adresse IP de l'utilisateur, indiquant les adresses à partir desquelles la connexion au serveur est interdite ou autorisée.

    Liste des commandes FTP de base

    ABOR – Abandonner le transfert de fichiers
    CDUP - Changez le répertoire pour un répertoire supérieur.
    CWD - Changer le répertoire actuel.
    DELE - Supprimer un fichier (nom de fichier DELE).
    AIDE - Affiche une liste des commandes acceptées par le serveur.
    LISTE - Renvoie une liste de fichiers dans un répertoire. La liste est transmise via la connexion de données (port 20).
    MDTM - Renvoie l'heure de modification du fichier.
    MKD - Créez un répertoire.
    NLST - Renvoie une liste de fichiers dans un répertoire dans un format plus court que LISTE. La liste est transmise via la connexion de données (port 20).
    NOOP - Opération à vide
    PASV - Entrez en mode passif. Le serveur renverra l'adresse et le port auxquels vous devez vous connecter pour collecter les données. Le transfert commencera lorsque les commandes RETR, LIST, etc. seront entrées.
    PORT - Entrez en mode actif. Par exemple PORT 12,34,45,56,78,89. Contrairement au mode passif, le serveur lui-même se connecte au client pour transférer les données.
    PWD - Renvoie le répertoire actuel du serveur.
    QUITTER - Déconnecter
    REIN - Réinitialiser la connexion
    RETR - Télécharger le fichier. RETR doit être précédé d'une commande PASV ou PORT.
    RMD - Supprimer le répertoire
    RNFR et RNTO - Renommez le fichier. RNFR - quoi renommer, RNTO - quoi renommer.
    SIZE - Renvoie la taille du fichier
    STOR - Téléchargez un fichier sur le serveur. STOR doit être précédé d'une commande PASV ou PORT.
    SYST - Renvoie le type de système (UNIX, WIN,)
    TYPE - Définissez le type de transfert de fichier (A - texte ASCII, I - binaire)
    UTILISATEUR - Nom d'utilisateur pour se connecter au serveur

    Exemple de session FTP

    Le client FTP se connecte au serveur avec le nom d'utilisateur utilisateur1, un mot de passe vide et télécharge un fichier nommé cpu-v. Les messages du serveur FTP sont surlignés en rouge, les messages du client FTP sont surlignés en bleu. L'échange de directives et de paramètres peut varier légèrement entre les différentes versions du logiciel client FTP et du logiciel serveur FTP.

    Après connexion, le serveur transmet des informations le concernant au client :
    220-FileZilla Server version 0.9.45 bêta
    220-écrit par Tim Kosse ( [email protégé])
    220 Veuillez visiter http://sourceforge.net/projects/filezilla/
    Le client transmet le nom d'utilisateur :
    UTILISATEUR utilisateur1
    Le serveur demande un mot de passe :
    331 Mot de passe requis pour l'utilisateur 1
    Le client passe un mot de passe vide :
    PASSER
    Le serveur vérifie le compte utilisateur et signale le début de la session :
    230 Connecté
    Le client demande le type de système d'exploitation sur le serveur :
    SYSTÈME
    Le serveur signale que le type Unix, émulé par le serveur Filezilla :
    215 UNIX émulé par FileZilla
    Le client demande une liste de paramètres supportés par le serveur :
    EXPLOIT
    Le serveur répond avec une liste de paramètres pris en charge :
    211-Caractéristiques :
    MDTM
    FLUX DE REPOS
    TAILLE
    Type MLST*;taille*;modifier*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 Fin

    Le client demande le répertoire courant du serveur :
    P.W.D.
    Le serveur signale que le répertoire courant est le répertoire racine ("/") :
    257 "/" est le répertoire actuel.
    Le client signale qu'il transférera des données binaires :
    TYPE I

    Le serveur confirme le type de données transférées :
    200 Type défini sur I
    Le client signale qu'il utilisera le mode FTP passif :
    PASV
    Le serveur signale le passage au mode passif et transmet l'IP et le port pour le mode FTP passif.
    227 Entrée en mode passif (212,248,22,114,195,97)
    Le client demande à recevoir un fichier nommé cpu-và partir du répertoire du serveur actuel
    RETR cpu-v
    Le serveur signale le début du transfert de données :
    150 Ouverture du canal de données pour le téléchargement de fichiers depuis le serveur de "/cpu-v"
    Une fois terminé, le serveur signale un transfert réussi :
    226 "/cpu-v" transféré avec succès

    En conclusion, je voudrais ajouter que le projet Filezilla comprend non seulement le développement et le support d'un serveur FTP gratuit de haute qualité, mais également un client FTP gratuit populaire.

    Un article avec une brève description d'un client FTP gratuit pour Linux, Mac OS et Windows. Ce client FTP prend en charge de nombreux protocoles de transfert de données d'application : FTP, FTP sur SSL/TLS (FTPS), SSH File Transfer Protocol (SFTP), HTTP, SOCKS et FTP-Proxy. En d'autres termes, Filezilla FTP Client est un logiciel universel permettant de recevoir et de transférer des fichiers via tous les protocoles d'application modernes entre des nœuds sur différentes plates-formes.

    Par défaut, dans les versions non serveur de Windows, vous ne pouvez établir qu'une seule connexion à un poste de travail distant et le travail de l'utilisateur actuel est nécessairement bloqué.


    Corrigeons ce malentendu.


    Assurez-vous de sauvegarder le fichier d'origine termesrv.dll. Lançons la ligne de commande en tant qu'administrateur et exécutons

    copier c:\Windows\System32\termsrv.dll termesrv.dll_old

    Ensuite, nous examinons votre version. Faites un clic droit sur le fichier c:\Windows\System32\termsrv.dll et sélectionnez les propriétés.


    Téléchargez le fichier modifié correspondant à votre version

    Si vous souhaitez tout réparer vous-même, copiez votre fichiertermsrv.dll à partir du dossier c:\Windows\System32\. sur le bureau. Ouvrez-le avec n'importe quel éditeur hexadécimal, par exemple ce HxD gratuit. Et remplacez les octets dans la ligne spécifiée.

    Dans la première colonne la valeur qui devrait être, dans la seconde la valeur d'origine.

    Windows 7 SP1 64 bits :

    173C0:B8-8B
    173C1 : 00 87
    173C2 : 01 38
    173C3 : 00 06
    173C5 : 90 00
    173C6 : 89 39
    173C8 : 38 3C
    173CC : 90 0F
    173CD : 90 84
    173CE : 90 EB
    173CF : 90 C2
    173D0 : 90 00
    173D1 : 90 00
    176FA : 00 01
    5AD7E:EB74
    Pour Windows 8.1 (64 bits), remplacez toute la ligne !
    dans la version 6.3.9600.16384
    doubler
    8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
    sur
    B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90

    au 6.3.9600.16384 au 6.3.9600.17095
    doubler
    39 81 3C 06 00 00 0F 84 9E 31 05 00
    sur

    6.3.9600.17095 à 6.3.9600.17415
    doubler
    39 81 3C 06 00 00 0F 84 D3 1E 02 00
    sur
    B8 00 01 00 00 89 81 38 06 00 00 90
    Utilisons l'outil de remplacement avec le type valeurs hexadécimales

    Après le remplacement, enregistrez les modifications.

    Si vous rencontrez des difficultés avec les droits d'accès, ouvrez les propriétés, l'onglet sécurité, le bouton avancé. Et vous changez de propriétaire pour vous-même. Appliquez-le. Après cela, vous pourrez modifier les autorisations des groupes et des utilisateurs.



    Ensuite, arrêtez le service de bureau à distance


    Remplacer le fichier termesrv.dll à télécharger ou changé.

    Vous devez également modifier la valeur de la clé dans le registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser à 0 !

    Et nous reprenons le service !

    Connectons-nous et réjouissons-nous ! Désormais, l'utilisateur local n'est pas expulsé du système !

    Pour Windows XP
    1) Modifier le fichier
    termesrv.dll (SP2 5.1.2600.2180) 295 424 octets

    128BB : 75 -> 74
    217D3 : 8B -> 33
    217D4 : C7 -> C0
    2192D : 8B -> 33
    2192E : C7 -> C0
    225B7 : 54 -> 20
    termesrv.dll (SP3 5.1.2600.5512) 295 424 octets
    22A17 : 74 -> 75
    22A69 : 7F -> 90
    22A6A : 16 -> 90
    2) Remplacer un fichier dans un répertoire C:\Windows\System32\ Vous devez utiliser le mode sans échec car la protection des fichiers système est activée par défaut. Pour ce faire, redémarrez votre ordinateur tout en maintenant enfoncé F8, sélectionnez le mode sans échec.
    3) Ajouter des clés de registre

    Activer les sessions simultanées"=dword:00000001

    Activer les sessions simultanées"=dword:00000001
    Autoriser plusieurs sessions TS"=dword:00000001

    4) Suivant Démarrer -> Exécuter, gpedit.msc. Dans la fenêtre de l'éditeur de stratégie de groupe Configuration ordinateur -> Modèles d'administration -> Composants Windows -> Service Terminal. Activez Limiter le nombre de connexions et définissez le nombre de connexions sur 3 ou plus.
    5) Redémarrez et connectez-vous !

    Le protocole FTP est utilisé depuis longtemps et est à première vue extrêmement simple. Cependant, cette simplicité est évidente et beaucoup commencent à rencontrer des problèmes pour établir une connexion FTP, en particulier lorsque le serveur ou le client se trouve derrière un pare-feu ou un NAT. Par conséquent, nous parlerons aujourd'hui des fonctionnalités du protocole FTP dans différents modes.

    Le protocole FTP est le protocole réseau le plus ancien (créé en 1971), mais il est néanmoins largement utilisé à ce jour. Une caractéristique importante du protocole est qu'il utilise plusieurs connexions : une pour les commandes de contrôle, le reste pour les données. De plus, plusieurs connexions pour le transfert de données peuvent être ouvertes, dans chacune desquelles les fichiers peuvent être transférés dans les deux sens. C'est à cette fonctionnalité qu'un certain nombre de problèmes sont associés.

    Selon la méthode d'établissement d'une connexion pour le transfert de données, on distingue les modes de fonctionnement FTP actif et passif. En mode actif, le serveur établit lui-même une connexion de données avec le client, en mode passif, vice versa. Examinons ces modes plus en détail.

    Mode actif

    Dans la plupart des cas, pour le fonctionnement normal d'un serveur FTP derrière NAT, il suffira de rediriger 21 ports pour la session de contrôle, 20 pour le mode actif (si utilisé), ainsi que de spécifier et de rediriger une gamme de ports dynamiques pour les données. transfert.

    Autre point important : si vous transférez des ports pour plusieurs serveurs FTP, vous devez alors spécifier sur chacun d'eux sa propre plage de ports dynamiques et transférer vers les mêmes numéros de port d'interface externe. Pourquoi? Étant donné que le numéro de port est transmis par le serveur dans la commande de contrôle et ne sait rien du transfert, si le numéro de port transmis par le serveur ne correspond pas au numéro de port sur l'interface externe, le client ne pourra pas établir de connexion. connexion. Tandis que le port de contrôle et le port en mode actif peuvent être transférés vers n'importe quel port externe.

    Nous espérons que cet article vous aidera à mieux comprendre le mécanisme du protocole FTP et à aborder consciemment le processus de configuration et de diagnostic.

    Qu'est-ce que le mode actif et pourquoi est-il nécessaire ?
    Les modes actif et passif sont deux types de connexions différents qui déterminent la manière dont vous vous connecterez aux autres utilisateurs et l'ordre dans lequel vous recevrez les fichiers.

    Le mode passif est le plus simple à utiliser et devrait fonctionner dans presque toutes les conditions. Mais la simplicité a un prix. Le mode passif a des limites de connexion (les utilisateurs passifs ne peuvent pas se connecter à d'autres utilisateurs passifs) et entraîne également une charge supplémentaire sur le hub, puisque toutes les connexions en mode passif passent par le hub. Ce mode ne doit être utilisé que lorsque le mode actif ne peut pas être utilisé.

    Comparaison

    Le tableau suivant montre les différences entre les deux modes de connexion


    Définir le mode actif

    Vous trouverez ci-dessous des descriptions sur la façon de configurer le mode actif en fonction de la topologie du réseau.

    Topologie A

    Un ordinateur directement connecté à Internet via un « modem » (analogique, RNIS, DSL, etc.), avec une IP dynamique ou statique.

    Dans ce cas, aucun paramètre supplémentaire n'est requis autre que l'activation de l'option Mode actif dans les paramètres. DC++ détectera automatiquement votre adresse IP et utilisera n'importe quel port libre.

    Si vous utilisez un pare-feu, sélectionnez un port spécifique dans DC++. Dans les paramètres de votre pare-feu, autorisez les connexions DC++ sur le port spécifié.

    Topologie B

    Un ordinateur faisant partie d'un réseau connecté à Internet via un routeur. L'ordinateur possède une adresse IP externe statique ou dynamique. Les technologies de traduction d'adresses (par exemple NAT) ne sont pas utilisées.


    Le mode actif est configuré de la même manière que la topologie A.

    Topologie C

    Un ordinateur connecté à Internet via un routeur ou une passerelle qui utilise la technologie NAT (Network Address Translation). NAT est une technologie qui permet à plusieurs ordinateurs d'accéder à un réseau via une seule adresse IP. Dans ce cas, l'ordinateur dispose de sa propre IP intranet (adresses commençant par 192.168.*.*, 10.*.*.* ou 172..*.*).

    Les réseaux domestiques utilisent généralement ce type de connexion.


    La configuration du mode actif nécessite deux étapes :

    * Configuration de la redirection de port sur le routeur/passerelle.
    * Définition du mode actif dans DC++.

    Configuration de la redirection de port

    Malheureusement, le processus de configuration du transfert est appelé différemment selon les fabricants de routeurs. Cela peut être appelé : mappage de ports, serveurs virtuels ou autres synonymes. Peu importe leur nom, ils utilisent tous le même principe. Son idée est la suivante : le routeur est configuré de telle manière qu'une connexion à un port spécifique du routeur (le port que vous choisissez) est transmise à une machine spécifique au sein du réseau.

    Configuration de DC++

    Dans le menu « Paramètres - Paramètres de connexion », sélectionnez le mode actif. Saisissez l'adresse IP externe. Entrez le numéro de port, il doit s'agir du port configuré pour le transfert dans la section précédente.