Connecting to ftp from another PC. What is an FTP client, an FTP connection and how to connect to FTP? Reasons why it may not work

    Abbreviation FTP comes from English F ile T transfer P rotocol (file transfer protocol) is an application layer protocol for exchanging files over transport protocol TCP/IP between two computers, FTP client and FTP server. This is one of the oldest, and yet still actively used protocol.

The FTP protocol is designed to solve the following problems:

  • access files and directories on remote hosts
  • ensuring client independence from type file system remote computer
  • reliable data transmission
  • use of remote system resources.
  • The FTP protocol supports two connection channels at once - one for transfer teams and the results of their implementation, the other is for sharing data. At standard settings The FTP server uses TCP port 21 to organize a channel for sending and receiving commands and TCP port 20 to organize a channel for receiving/transmitting data.

    The FTP server waits for connections from FTP clients on TCP port 21 and, after establishing a connection, accepts and processes FTP commands, representing ordinary text strings. The commands define connection parameters, the type of data transferred, and actions in relation to files and directories. After agreeing on the transmission parameters, one of the exchange participants goes into passive mode, waiting for incoming connections for the data exchange channel, and the second establishes a connection to this port and begins transmission. Once the transfer is complete, the data connection is closed, but the control connection remains open, allowing you to continue the FTP session and create a new data transfer session.

    The FTP protocol can be used not only to transfer data between a client and a server, but also between two servers. IN in this case, the FTP client establishes a control connection with both FTP servers, switches one of them to passive mode, and the second to active, creating a data transmission channel between them.

    An FTP client is a program that connects to an FTP server and performs the necessary operations to view the contents of the server's directories and receive, transfer, and delete files or folders. Such a program can be a regular browser, operating system components, or specially developed software products, such as a popular download manager. Download Master or multifunctional free FileZilla FTP Client .

    The FTP protocol was developed back in the days when the client and server interacted directly, without any intermediate transformations of TCP packets, and in standard mode it allows TCP creation- connections not only at the initiative of the client, but also at the initiative of the server from TCP port 20 to TCP - the client port, the number of which is transmitted during the creation of a data session.

    Realities today are such that such a TCP connection from server to client is in the vast majority of cases impossible, or very difficult to implement due to the fact that in most cases, network address translation technology is used to connect to the Internet NAT(Network Address Translation) when the client does not have a network interface available to create a direct TCP connection from the Internet. Typical scheme standard connection The Internet looks like this:

    Internet connection is made through a special device - Router(router with NAT function) having at least two network ports- one connected to the provider’s network, having a network interface with a routable IP address (the so-called “white IP”), for example 212.248.22.144, and a port with a network interface for connecting local network devices with a private, non-routable IP address, for example 192.168 .1.1 (“gray IP”). When creating connections from network devices local network to external network nodes, IP packets are sent to the router, which performs address and port translation so that the sender's address becomes his white IP address. The translation results are saved and when a response packet is received, a reverse address translation is performed. Thus, the router ensures the forwarding of TCP/IP packets from any local network devices to external networks and the return forwarding of received response packets. But in cases where a packet that is not related to TCP response packets is received at the input of a network interface connected to the provider’s network, the following reaction options are possible for the router software:

    The packet is ignored because there is no network service to process it.

    The package is received and processed network service the router itself, if such a service exists and is waiting for an incoming connection (“listening”) on the port whose number is indicated in the received packet.

    The packet is forwarded to a server on the local network that expects this type of incoming connection in accordance with the rules of port forwarding (port mapping) given settings router.

    Therefore, at present, the main operating mode for FTP protocol became the so-called “passive mode”, in which TCP connections are made only from the client to the server’s TCP port. The active mode is used in cases where there is a possibility of TCP connection from the server to client ports, for example, when they are on the same local network. Choice FTP mode- connections are made using special commands:

    PASV- the client sends a command to perform data exchange in passive mode. The server will return the address and port to which you need to connect to receive or transmit data. Example of a fragment of an FTP session with passive mode set:

    PASSV- command to switch to passive mode transmitted by the FTP client to the FTP server

    227 Entering Passive Mode (212,248,22,144,195,89)- FTP server response, where 227 is the response code, text message about switching to passive mode and in parentheses the IP address and port number that will be used to create a data transmission channel. The address and port number are displayed as decimal numbers separated by a comma. The first 4 numbers are the IP address (212.248.22.144), the remaining 2 numbers specify the port number, which is calculated by the formula - the first number is multiplied by 256 and the second number is added to the result, in this example the port number is 195 * 256 +89 = 50017

    PORT Client IP address port number- the client sends a command to establish a session in active mode. The IP address and port number are specified in the same format as in the previous example, for example PORT 212.248.22.144,195,89 To organize data transfer, the server itself connects to the client on the specified port.

    Installing and configuring FileZilla FTP Server.

    You can download the FileZilla Server installation package for your version of the operating system at

    The server installation is performed in the standard way, with the exception of the item with the selection of server control panel settings:

    This is the main server management tool through which all necessary settings. By default, the control panel operates on a loopback interface without password access. If necessary, for example, if required remote control FTP server, these settings can be changed.

    Once the installation is complete, an invitation window will open to connect to the server:

    After entering the IP address, port number and password (if you specified them during the installation process), the FileZilla Server control panel opens:

    At the top of the window there is the main menu and control panel buttons. Below are two areas - information messages server and statistical information. Overall, the control panel FTP FileZilla Servver is quite simple and easy to use. Main menu items:

    File- operating modes of the FTP server control panel. Contains sub-items

    - Connect to Server- connect to the server
    - Disconnect- disconnect from the server
    - Quit- shutdown of the control panel.

    Server- FTP server management. Contains subparagraphs:

    - Active- start/stop the FTP server. At checked box The FTP server is running, but if disabled, it is stopped.
    - Lock- prohibit/allow connections to the server. When the checkbox is checked, new connections to the server are prohibited.

    Edit- editing settings. Sub-items:

    - Settings- basic server settings.
    - Users- FTP server user settings
    - Groups- user group settings.

    As an example, let's configure the server for the following conditions:

  • the server is behind NAT, has a private IP address, but must be accessible from the Internet, supports passive mode and uses non-standard TCP ports. The use of non-standard ports reduces the likelihood of hacker attacks, and in addition, some providers use traffic filtering and block standard ports 20 and 21.
  • users have the ability to download from the server, upload to the server, delete and rename files and folders.
  • If you use a dynamic IP address, you must ensure that the server is accessible by DNS name.
  • the server will operate on a workstation in a Windows 7 / Windows 8 OS environment.
  • In other words, you need to create an FTP server accessible from the Internet to exchange files between users, for free, of course. It is quite clear that in addition to creating the necessary configuration of the FTP server itself, you will need to change some router settings, Windows firewall settings, and solve the problem of a dynamic IP address so that the server is accessible by name, regardless of the change in IP address.

    Solving the problem of dynamic IP address.

        This problem does not require a solution in cases where, when connecting to the Internet, a static IP address is used, or a dynamic one, but in accordance with the provider’s settings, it is almost always the same. Otherwise, you can use a technology called Dynamic DNS (DDNS) . This technology, allows you to update IP address information on the DNS server in near real time, and access the router (and services behind it) by its registered name, without paying attention to dynamic IP changes.

    To implement this technology for free, you will need to register on some service. dynamic DNS and installing client software to update the DNS record if the corresponding IP address changes. Dynamic DNS support is usually provided by manufacturers network equipment(D-Link, Zyxel, etc.), some hosting and specialized companies, such as the well-known DynDNS. However, after all services that were provided to registered users free of charge for non-commercial use became paid in the second half of 2014, the most popular solution, perhaps, was the use of dynamic DNS based on the service No-IP.org, which provides free support services for 2 nodes with dynamic IP. To use the service for free, you will need to register and periodically (approximately once a month) visit the site to update information about the dynamic IP nodes used. If you skip updating the node data, the service is suspended, and accordingly, it will become impossible to connect to the node by name. At paid use no service update required.

        Almost all modern routers (modems) have built-in support for a dynamic DNS client. Its setup is usually very simple - you fill in the fields with the user name and password, as well as the host name received when registering with the DDNS service. Example for Zyxel P660RU2

        Using the DDNS client built into the router/modem is preferable to the DNS data update utility running in the OS environment, since it allows you to implement additional features, such as managing the router via the Internet when the computer is turned off and remote activation power supply to computers behind NAT technology Wake On Lan.

    In those cases where it is not possible to use the built-in DDNS client, you will have to make do with application software - a client program for supporting dynamic DNS. Such a program periodically connects to a server that maintains a registered domain name associated with the router through which the Internet connection is made, and calls the IP update procedure when it changes. The server settings are made in such a way that the comparison of the DNS name and the IP address of the Internet connection is completed in a very short time, and the dynamic nature of the address has virtually no effect on the performance of services associated with the DNS name.

    The procedure is as follows:

  • We go to the website No-IP.org. To work with an existing or new account, use the button "Sign In"(top right side of the page).

  • Create, if it has not yet been created, your account - click "Create Account". The registration form changes periodically, but it is mandatory to enter the desired username, password and your E-mail. An email with a link to confirm registration is sent to the e-mail specified during registration. When registering, select free access- press the button Free Sign Up after filling out all the required form fields.
  • After successful registration, log into the site and add an entry for your node - click the button "Add Hosts"

    In fact, you only need to enter the selected host name, in this case - myhost8.ddns.net. There is no need to change any other parameters. Then you need to download and install special software - Dynamic Update Client(DUC), the link to which is located on the main page of the site. After the DUC installation is completed, it will launch and an authorization window will open, where you need to enter the username or E-mail and password received when registering on the no-ip.org website. Then press the button Edit Hosta and check the box next to the previously created host name (myhost8.ddns.net). Now, the selected host name will always correspond to the “white IP address” of your Internet connection. If you have problems updating the IP address, check to see if the DUC client's network activity is being blocked by a firewall.

    Setting up an FTP server

        Using non-standard port numbers for an FTP server is not at all necessary if the provider does not use traffic filtering, or you do not care about scanning ports for vulnerabilities and trying to guess passwords. In this article, using FTP-servers with non-standard TCP ports, presented as one of possible options.

    FileZilla Server settings are made through the "Edit" - "Settings" menu

    Window General Settings intended for general settings FTP server.

    In the "Listen on this port" field you can specify the port number for incoming TCP connections. By default, this field is set to 21 , and to use a non-standard number you need to specify the selected value, for example - 12321 . Using a non-standard TCP port has some inconvenience, since it requires specifying its value when creating a session:

    If the server is planned to be used both with access from the Internet and on the local network, it makes sense to leave standard value 21, not standard room port to use for connections from the Internet, configuring the redirection of packets arriving on port 12321 of the router to port 21 of the FTP server on the local network. With this setup, there is no need to specify a port number for FTP sessions within the local network.

    Other parameters are for tuning performance and session timeouts. They can be left unchanged. The remaining sections of general settings can also be left as default:

    Welcome Message- text that is sent to the client upon connection.

    IP Binding- on which network interface they will be expected client connections. By default - on any, but you can specify a specific one, for example - 192.168.1.3.

    IP Filter- setting up filtering rules for client IP addresses. By default, connections are allowed for any IP.

    Chapter Passive mode settings serves to configure passive FTP mode and will require changing almost all default parameters.

    The port numbers that will be used to transmit data in passive mode must be set manually, since the router will need to be configured to redirect it to the network interface that the server is listening to. Therefore, you need to check the box to enable the "Use custom port range" mode and set the range - for example, from 50000 to 50020 . The number of ports the server listens to determines the limit on the number of simultaneous data transfer sessions.

    Subsection IPv4 specific defines the IP address that will be sent by the server in response to the PASV command. In this case, it should not be the server’s own IP 192.168.1.3, but the “white IP” of our Internet connection. Therefore, you need to set the “Use the following IP” mode and instead of the IP address, enter the name received when registering with the dynamic DNS service - myhost8.ddns.net. As an alternative, you can use the mode for determining the external IP address using the FileZilla project by turning on. "Retrieve external IP Address from:". This option can be selected in cases where it is not possible to use the dynamic DNS tool. If you intend to use an FTP server on your local network, you need to set the mode to "Don"t use external IP for local connections" (do not use an external IP address for connections within the local network)

    The rest of the server settings can be left unchanged or, if necessary, performed later: Security settings- security settings. By default, connections that can be used to implement DDoS attacks are prohibited

    Miscellaneous- settings for buffer sizes and other log parameters and some FTP commands.

    Admin Interface settings- server control panel settings. You can specify the network interface, listening port number, IP addresses from which connections to the control panel are allowed, and a password.

    Logging- server event log settings. By default, writing to the file is not performed.

    Speed ​​Limit- data transfer rate limit settings. By default - no restrictions.

    Filetransfer compression- settings for file compression during transfer. The default is no compression.

    SSL/TLS settings enabling encryption mode for transmitted data. The default is no encryption.

    Autoban- enable automatic blocking of users who select a password to connect. By default, automatic blocking off.

    Setting up port forwarding and firewall

    In order for the FTP server to be accessible from the Internet, it is necessary to configure the router in such a way that incoming connections coming to certain TCP ports on the external interface are redirected to the TCP ports listened to by the FTP server on the internal network. For different router models, the settings may differ in terminology, but their meaning is the same - a TCP packet received on the external (WAN) interface with specific number port to be sent to the local network to the desired IP address and port. Example of settings for the D-Link DIR-320NRU router for port forwarding used for passive FTP mode:

    Packets received on an interface with a "white IP" and having port numbers in the range 50000-50020 will be redirected to the IP address specified in the "Internal IP" field (in our case - 192.168.1.3). Similarly, a redirection is created for port 50021 if you change the number standard port, or to port 21 of the FTP server if you left it unchanged.

    After applying these settings, the FTP server will be accessible via URL ftp://myhost8.ddns.net:50021 or, for a connection within a local network:

    ftp://192.168.1.3- if you did not change the default port number (21) in the FTP server settings.

    ftp://192.168.1.3:50021- if a non-standard port number is used.

    You can use a computer name instead of an IP address if it can be resolved to an IP address

    ftp://comp1

    ftp://comp1.mydomain.ru

    Diagnosis of problems

    If the connection to the FTP server does not occur, then there may be problems with the firewall blocking the connections necessary for the operation of the created FTP server. If you use the built-in Windows firewall, you must add a rule that allows network activity for the "FileZilla FTP server" service. If you are using a third-party firewall or antivirus with traffic filtering, you must create a corresponding rule using the available settings tools to allow network connections. Options are possible when settings are made to allow any network activity of a specific program, or to allow selected addresses and ports that apply to all programs.

    The best place to start diagnostics is on the FTP server itself. As a diagnostic tool, you can use a standard telnet client(utility telnet.exe) . All firewalls do not block connections on the loopback interface, and to check that the server settings are correct, you can connect to it by entering the command:

    telnet localhost 21- if a standard port number is used.

    telnet localhost 50021- if the standard port number has been changed.

    When this command is executed, a connection to the FTP server is made via the loopback interface and a server invitation (Welcome Message) should be displayed in the telnet window. If this does not happen, the server may be stopped, there is a port conflict, or port 21 (50021) is not listening. For diagnostics you can use the command netstat:

    netstat –nab

    The command line options mean:

    n- use numeric port numbers and IP addresses

    a- display all connections and listening ports

    b- display the names of programs involved in creating connections.

    Example of displayed command results:

    Active connections

    Name     Local address     External address     Status
    TCP         0.0.0.0:21                 0.0.0.0:0                 LISTENING
    TCP         0.0.0.0:135               0.0.0.0:0                 LISTENING
    RpcSs

    In the column Local address there is a meaning 0.0.0.0:21 , which indicates that the program named FileZilla Server.exe listening (state LISTENING) TCP port number 21 for all network interfaces. If a specific interface and a different port number were specified in the FTP server settings, then this value will contain IP:port, For example - 192.168.1.3:50021

    To display the results in page mode, you can use the command:

    netstat -nab | more

    Or use search results by port number: netstat -nab | find ":21"

    If the server is unavailable on a non-loopback interface, but is accessible on a loopback interface, you need to understand the firewall settings.

    Setting up users and groups.

    Setting up users and groups is done through the menu "Edit" - "Users" ("Groups"). It is not necessary to create groups, but sometimes it is convenient for those cases when there is large number users and their rights in relation to the FTP server are different. The settings for both groups and users are almost identical:

    This example shows the result of adding an FTP server user named user1 having full rights to write, read, delete and merge files, as well as to view the contents, delete and create subdirectories in the directory C:\ftp\public

    On the page General user properties are added, deleted, and changed.
    On the page Shared Folders settings are made that determine the list of file system directories that will be used by the FTP server to provide access to them via the FTP protocol. Each user or group of users can be given their own directory with certain rights in relation to its contents.
    On the page Speed ​​limits You can set restrictions on data exchange speed.
    On the page IP Filter You can set filtering rules for the user's IP address, indicating the addresses from which connection to the server is prohibited or allowed.

    List of basic FTP commands

    ABOR - Abort file transfer
    CDUP - Change directory to a higher one.
    CWD - Change current directory.
    DELE - Delete a file (DELE filename).
    HELP - Displays a list of commands accepted by the server.
    LIST - Returns a list of files in a directory. The list is transmitted via the data connection (port 20).
    MDTM - Returns the file modification time.
    MKD - Create a directory.
    NLST - Returns a list of files in a directory in a shorter format than LIST. The list is transmitted via the data connection (port 20).
    NOOP - Empty operation
    PASV - Enter passive mode. The server will return the address and port to which you need to connect to collect the data. The transfer will begin when the RETR, LIST, etc. commands are entered.
    PORT - Login active mode. For example PORT 12,34,45,56,78,89. Unlike the passive mode, the server itself connects to the client to transfer data.
    PWD - Returns the current server directory.
    QUIT - Disconnect
    REIN - Reinitialize connection
    RETR - Download file. RETR must be preceded by a PASV or PORT command.
    RMD - Delete directory
    RNFR and RNTO - Rename the file. RNFR - what to rename, RNTO - what to rename.
    SIZE - Returns the file size
    STOR - Upload a file to the server. STOR must be preceded by a PASV or PORT command.
    SYST - Returns the system type (UNIX, WIN,)
    TYPE - Set the file transfer type(A- text ASCII, I - binary)
    USER - Username to log into the server

    Example FTP session

    FTP client connects to server with username user1, an empty password and downloads a file named cpu-v. Messages from the FTP server are highlighted in red, messages from the FTP client are highlighted in blue. The exchange of directives and parameters may vary slightly between different versions of the FTP client and FTP server software.

    After connecting, the server transmits information about itself to the client:
    220-FileZilla Server version 0.9.45 beta
    220-written by Tim Kosse ( [email protected])
    220 Please visit http://sourceforge.net/projects/filezilla/
    The client passes the username:
    USER user1
    The server asks for a password:
    331 Password required for user1
    The client passes an empty password:
    PASS
    The server verifies the user account and reports the start of the session:
    230 Logged on
    The client requests the type of operating system on the server:
    SYST
    The server reports that the type Unix, emulated by Filezilla server:
    215 UNIX emulated by FileZilla
    The client requests a list of parameters supported by the server:
    FEAT
    The server responds with a list of supported parameters:
    211-Features:
    MDTM
    REST STREAM
    SIZE
    MLST type*;size*;modify*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 End

    The client requests the current directory of the server:
    P.W.D.
    The server reports that the current directory is the root directory ("/"):
    257 "/" is current directory.
    The client reports that it will transfer binary data:
    TYPE I

    The server confirms the type of data being transferred:
    200 Type set to I
    The client reports that it will use passive FTP mode:
    PASV
    The server reports the transition to passive mode and transmits the IP and port for passive FTP mode.
    227 Entering Passive Mode (212,248,22,114,195,97)
    The client requests to receive a file named cpu-v from current directory servers
    RETR cpu-v
    The server reports the start of data transfer:
    150 Opening data channel for file download from server of "/cpu-v"
    Upon completion, the server reports a successful transfer:
    226 Successfully transferred "/cpu-v"

    In conclusion, I would like to add that the Filezilla project includes not only the development and support of a high-quality free FTP server, but also a popular free FTP client

    An article with a brief description of a free FTP client for Linux, Mac OS and Windows. This FTP client supports many application data transfer protocols - FTP, FTP over SSL/TLS (FTPS), SSH File Transfer Protocol (SFTP), HTTP, SOCKS and FTP-Proxy. In other words, Filezilla FTP Client is a universal software for receiving and transferring files across all modern application protocols between nodes on different platforms.

    Good day, dear readers! As you understand from the title, today we’ll talk about FileZilla Server and creating your own FTP the server itself.

    IN lately I get a lot of messages asking me to tell them how to install my own FTP server in home (or not so) conditions.

    About what it is FTP, if someone suddenly doesn’t know, you can find out in this article of mine “” or immediately start reading (within this article there are a few words about the protocol itself).

    Preparing to install your own FTP server

    As promised, first, briefly about what it is FTP for those who don't know:

    I would like to immediately note that the article will consider the option home use, without the tricky and subtle settings that are used in the case of full-fledged corporate servers.

    To install, you need to download one of the multiple distributions that will help you deploy FTP-server. Personally, I recommend that you use FileZilla Server, because it, like the client I once mentioned (see the article at the link above), is extremely easy to install and configure, and is also free.

    Installing FTP FileZilla Server

    After downloading the distribution, actually run its installation (this means that you need to click on the downloaded exe-file) and follow the recommendations below.

    On the first window you need to agree with license agreement, click “ I Agree”.

    Do you want to know and be able to do more yourself?

    We offer you training in the following areas: computers, programs, administration, servers, networks, website building, SEO and more. Find out the details now!

    • Standard(Standard) - option for installation from scratch for full server functionality.
    • Full(Full) - almost the same, but the source code of the program will also be copied to the installation folder, in case you want to change something in it.
    • FTP service only(Service only) - the FTP service is installed directly, without accessing it through the interface. Useful if you plan to manage your file storage from another computer.
    • Control Interface(Interface only) - unlike the previous point, it is set only graphical shell control the server, but not the server itself. Use if you want to remotely access your FTP server.
    • Custom installation(Custom) - You are free to choose what you want to put on your computer.

    On the next window you need to select the installation folder, for example, “ C:\Program Files\FileZilla Server" After selection, go to the next window ( Next).

    Now the installer will ask us to choose how to install and run the server.

    There are three options:

    • How to start a service at login
    • How to start a service manually
    • Easy installation, run manually

    It is recommended to choose the first or second option. The only difference is that in the second case, for the server to work, you will need to go to " Control Panel - Administration - Service Management", find the service there in the list and start it yourself by clicking on the start button.

    Port and initial launch of FileZilla Server

    In addition, at this stage you should specify the port through which the server management interface will be connected, that is, your administration console, so to speak, which will allow you to set settings, see who has connected where, etc. To improve security, change it from the default ( 14147 ) to some other one.

    Also, by default, the option to start the server after setup completes is checked. You can leave this checkbox or you can remove it. That's your business. Having done this, go to the last window using the button Next.

    Here we select options for launching the interface.

    There are again three of them:

    • When logging in, for all users
    • On login, for the current user
    • Manually

    The first option will work if you are the only user of the computer where the server is installed, and you, in principle, will still launch the interface automatically under all operating system accounts or only under one.

    The second is suitable for those who work on the computer more than once (that is, there are several accounts on the computer used different people) and wants no one else to manage it FTP server, i.e. the interface was launched only from the account in which the installation is now being carried out.

    And the third option sets the launch parameter only manually, i.e. it will not start with the system at all.

    Let me remind you that the interface is something like an administrative program that allows you to monitor the state of the server, start, stop and configure it.

    Check mark ( Start Interface after setup completes) in this window, again, sets the interface to start immediately at the end of the installation.

    Well, having dealt with all this, you can finally start installing the server (using, of course, the button " Install") :)

    Initial setup of FTP FileZilla Server

    So, after installation, when you first launch the interface, a small window will appear where you need to specify the address and port for connection, as well as the administrator password (it is not there during the first installation). You can check the “Always connect to this server” option. Click " Ok".

    I would like to emphasize that this is a connection to the server locally, namely, a connection to the administration interface, i.e. issuing an address 127.0.0.1 and port 14147 for a friend who wants to connect, it is useless. External addresses, passwords and logins required to connect to the server will be written about during the course of the article.

    Now let's move on to the settings. This is done by going to " Edit -> Settings"or by clicking on the button on the interface panel:

    A settings window will open in front of you. On the first tab (General Settings) you can set the following parameters:

    From top to bottom screenshot:

    • The port on which clients will connect to the server
    • Maximum number of clients
    • Number of threads
    • Various timeouts (three pieces)

    For the purposes of this article, we are interested in the first two points. The port can be left as is, or you can change it to improve security, but then you will have to inform everyone about it who wants to connect.

    The second setting is responsible for maximum quantity connections. By default, the parameter value is “ 0 ”, this means that their number is not limited. It is worth changing this parameter if, for example, your Internet channel cannot cope with the load, because too many people are connecting to you.

    The rest can be left unchanged, since the settings are optimal for home use.

    In subparagraph “ IP Filter” can be set IP addresses (or their range) that will be prohibited from connecting to your server, as well as set exceptions from the specified range (second field).

    That is, for example, if you want to ban someone and prevent him from accessing your server, then indicate him in the first window. Also, if you want to give access only to someone specific and deny everyone else, then put an asterisk in the first field and specify a list IP-addresses in the second.

    Tab “ Passive mode settings” regulates the parameters for passive connection to the server and its response.

    It’s worth changing anything here only if you are connected to the Internet not directly, but through a router that has a firewall and NAT. In this case, you may need to specify in the " Use the following IP"your external IP-address (you can find out from your provider or in the router interface), as well as set a range of ports (Use custom port range) through which the client can connect to your server in passive mode.

    It is probably worth touching these settings only in case of problems with connecting users. In case of these and it is impossible to figure it out on your own, I will give you advice on the settings exclusively for you (write comments).

    Settings section “ Miscellaneous”contain settings that are insignificant for a home FTP server. For example, such as “ Do not show password in log files” (Don"t show passwords in message log), “ Launch the interface minimized” (Start minimized), as well as the sizes of transmission buffers. In general, there is no need to touch anything here.

    On the “ Admin Interface Settings” can be set IP-address and port through which the server management interface will be available (the same one that we initially used as 127.0.0.1 And 14147 , i.e., if you wish, you can change them). In addition, you can specify IP-addresses that are allowed to connect to it.

    Settings section “ Logging” allows you to enable recording of log files (Enable logging to file), configure their maximum size (Limit log file size to), write everything in one file (Log all to "FileZilla Server.log") or create a separate one for each day (in in this case you can limit them maximum term storage).

    Tab “ GSS Settings” is responsible for using the protocol Kerberos GSS. For normal use, this option does not require configuration.

    Remaining FTP server settings - speeds, encryption, etc.

    Next we have “ Speed ​​Limits" It can help limit the speed of incoming and outgoing connections. There are two ways to limit: set a permanent limit for all time or create rules for a specific day and/or hour. Limits are specified in kilobytes.

    Tab “ Filetransfer compression” allows you to enable file compression mode during transfer. In this case, you can configure the minimum and maximum compression levels, as well as specify IP addresses for which compression will not be used. There is no need to touch anything.

    To set up a secure connection between the client and server, you need to go to the settings item “ SSL/TLS Settings" Here you need to enable support for these protocols and specify the paths to private key, certificate file and password. For the average user this is not necessary, so it will not be discussed in this article.

    Finally, you can enable automatic banning of users after n-th attempts of unsuccessful connections, and ban time. To do this, go to the “ tab Autobans” and, if you need it, then check the box " Enable automatic bans", indicate in the column " Ban IP address after"the number of attempts after which the blocking will be carried out, as well as the blocking time in the field" Ban for".

    This is sometimes necessary to prevent unwanted individuals from spamming your server with their connection attempts.

    Initial setup of user accounts (users) and shares (shares) in FileZilla Server

    Now let’s configure user access, namely their accounts, passwords, folders, etc.
    As an example, let's create the most, so to speak, common user and give him access.

    So, to add a new account, in the main interface window, follow the path “ Edit-> Users" We will see a window for working with users.

    To add a new one, click “ Add" Next you will need to specify its name, for example, anonymous, and group membership (in our case we will not indicate). Set it up, click “ Ok”.



    Now we can set a password and a limit on the number of connections for our new user. If necessary, do so by checking the " Password" and indicating it (password) in the box opposite. It is strongly recommended to use passwords for users for security purposes.

    Next, go to the “ Share Folders" Here, in fact, we set which folders the user will have access to. This is done simply: click “ Add” and select the desired folder on disk. On the left you can set access rights to it: read only - “ Read”, entry - “ Write”, deletion - “ Delete” and the possibility of change existing files in the directory - “ Append" Below you can allow creating, deleting, getting a list of files and propagating permissions to subdirectories.

    We set the parameters and folders you need and... Click OK

    This completes the initial setup. For home use you don't need more ;)

    User access to the server FileZilla Server

    So that your friends can use your FTP server, you need to provide it to them IP-address, as well as the login(s), password(s) you specified and, if necessary, port (if changed), which they must indicate in their, .

    Find out external IP-address can be done by contacting your provider, looking in the router settings, or, simply, using one of the many services, such as (as you probably guessed, you need what is written under the text “Your IP address:” ;)).

    Afterword

    That's how things are.

    Despite the fact that the article is maximally oriented for small home use, I tried to explain in as much detail as possible all the necessary settings and nuances FileZilla Server.

    As always, if you have any questions, additions, etc., write in the comments - I will be happy to help.

    PS: For the existence of this article, special thanks to a friend of the project and a member of our team under the nickname “ Kellis"“.

    Hello admin, please explain to me what an FTP server is and can I create it myself on my computer?

    In short, I have a regular one at home system unit and three laptops, all these machines are connected to the Internet via a router, can I turn a desktop computer into a real one? FTP server, and directly from all laptops download and upload files to it? Just installed on a regular computer hard drive 3 TB and it turns out that no one uses it, all relatives prefer laptops that are already running out of disk space.

    Hello friends! Our Ro8 wrote a great article for you on this topic, read it.

    Firstly, FTP is a protocol for transferring files over the Internet using the client-server principle, and An FTP server is a file storage on the Internet, that is, an ordinary computer with installed Windows 7, 8.1 or Windows Server 2012 and several hard drives large volume, on which any of your files can be located. This computer has a program installed, for example - FileZilla Server, anyone else can connect to this computer using: command line, Windows Explorer And various programs, we will consider two in our article:FileZilla Client, And Total Commander . After connecting to Using an FTP server, you can upload any files (movies, music, etc.) to it and also download them.

    ControlThe FTP server will be run by the administrator who installed the program - FileZilla Server. It is here that you can assign each user various rights access (opportunity file changes on the server): Append (the ability to change files), Read (read only), Write (record), Delete (delete). Naturally, most users do not need to be given Delete rights.

    • Note: From almost any computer or laptop (even with one hard drive) you can make FTP server and connect other computers to it to receive files, and it is not at all necessary that all computers be connected to one router,An FTP server can be created on the Internet and given access to hundreds and thousands of users.

    How the work happens

    As a software implementation FTP servers The article will discuss the FileZilla Server program, which will be installed on a machine with Windows Server 2012

    Also, the machine from which the connection to the created FTP server will be made is a computer with pre-installed Windows 8.1 Enterprise (x64)

    In order for a machine with Windows 8.1 to connect to the FTP server, the FileZilla Client program will be installed on it (one of the methods of connecting using this program)

    Go to https://filezilla-project.org and download FileZilla Server and FileZilla Client

    Downloaded file We run FileZilla Server on a machine with Windows Server 2012, A FileZilla Client file on a Windows 8.1 machine. Both programs are installed the same way. First of all, let's install FileZilla program Server.

    Installing FileZilla Server

    After running the downloaded FileZilla Server file on Windows Server 2012, click next

    Click Install

    Install

    FileZilla Server installation process

    Installation complete

    After installation, a window like this will open in which we enter the local address of the FTP server and click OK

    After entering the local FTP server address, the main window of the FileZilla Server program will appear

    Let's make some settings by selecting Edit-Users

    On the General tab, to add a new user, click on the Add button

    Enter your username. OK

    Next to Password, check the box and enter the password of the added user

    Go to the Shared Folders tab. On this tab we will add the folder FTP01 which will be available to the created user Ro8. Click Add

    Specify the previously created folder FTP01. OK

    Select the added folder and specify access rights for it: - Read (read only), Write (write), Delete (delete), Append (the ability to change files in this folder)

    Determining the IP address of a machine running Windows Server 2012 (192.168.1.4)

    Installing FileZilla Client

    We switch to a machine with Windows 8.1 and install the FileZilla Client program

    We accept the license agreement

    Installation

    Installation complete

    We have a network represented in the diagram

    Let's connect to the FTP server in various ways.

    Connect to the FTP server using the command line

    On a machine with Windows 8.1, launch the command line.

    Specify the username (Ro8) and enter the password. The password is not displayed when entering

    Logged on means that we have logged into the FTP server

    Create a folder My_Backup_win8.1 on the FTP server by entering the command mkdir My_Backup_win8.1

    Let's look at the list of folders on the FTP server by entering the ls command

    As you can see, there is a folder My_Backup_win8.1 on the FTP server

    Close the connection to the FTP server by entering the bye command

    Connecting to an FTP server using the T program otal Commander

    Let's launch the Total Commander file manager on a machine with Windows 8.1. To set up a connection to the FTP server, click on the button shown in the screenshot

    Click Add

    We specify the connection name (optional), server and port (the server is the IP address of the FTP server, the port is set to 21). We also indicate the username and password. OK

    Select what was created FTP connection and click Connect

    Connection to FTP server established

    To disconnect from the FTP server, click Disconnect

    Disconnection from FTP server completed

    Connecting to an FTP server using the program FileZilla Client

    Let's launch the FileZilla Client program

    The main program window will open

    Greetings, dear readers and guests of the blog! Today I will tell you what an FTP client is, an FTP connection and how to quickly download and edit files from your hosting using FTP FileZilla client.

    What is FTP?

    FTP client is special program, with which you can quickly and safely connect to the server, download files from it, edit them and upload new ones.

    The abbreviation FTP comes from the English. File Transfer Protocol, which means data transfer protocol.

    Okay, enough scientific words, that’s not what you came to this page for :) I’ll tell you in simple words, what kind of animal this is and why you might need it.

    If you are looking for information about an FTP client, most likely you have a blog or are just about to create your own website. This means you know that all the site’s files are stored on the hosting, and in order to edit a file or upload a new one, you will have to go to the site’s control panel on your hosting and upload and download files through a browser. It's good if you have good speed Internet and the files don’t weigh much, but what if you need to download a backup of a site that weighs several GB? What are you going to do to download for several hours? This is where the program for secure connection and data transfer – FTP client.

    Using an FTP client, you can create an FTP connection and quickly perform any manipulations with the files of your site.

    Programs for FTP connections in Russian.

    There are many programs for FTP connections, the operating principle of almost all is the same. You can choose any FTP client, but I recommend FileZilla.

    FileZillafree FTP client with excellent Russification. Supported by all operating systems. It is possible to adjust the transmission speed, remote search and editing files.

    FTP Commander Pro- a similar program. Supports almost all types of servers. You can create bookmarks of frequent connections and subsequently connect to these servers with one click.

    FTPRush– free client with support for FTPS, TFTP and SFTP connections.

    How to download and install the FTP FileZilla program?

    As I noted above, I consider FileZilla to be the best FTP client. Based on it, I will tell you how to download an FTP client and connect to hosting via FTP.

    To get started, go to the official website, click the “Download FileZilla” button and select your operating system.

    The program weighs a little, about 6 MB.

    After downloading the file to your computer, you need to start installing it.

    After launching the FileZilla client installer, you need to accept the user agreement and choose who is allowed access to the program from this computer - all users or just you.

    If necessary, you can specify the file download path.

    After the program is completely installed, click the “Finish” button and you can start working with the FTP client.

    How to connect to hosting via FTP?

    When you launch FileZilla for the first time, a window will pop up with tips for working with FTP data client.

    In order to connect to your website hosting using the program, you need to create an FTP connection. And for this you need the following data:

    • Host. This is the IP address of the FTP server;
    • Username;
    • Password;

    All this data is provided by your hoster. If you don't know them, you can contact your hosting support and ask them.

    After you enter all the data and click the “Quick connection” button, you will be connected to your hosting via FTP.

    There will be two windows in front of you. On the left you can see all the disks and files that are on your computer, and on the right all the files and folders of your hosting.

    These files can be downloaded, edited, dragged from one window to another, etc.

    As you can see, everything is simple :)

    Installing an FTP server.

    The FTP server is included with Internet Information Services. To install it, open Control Panel -> Programs -> Enable or disable Windows components. Expand the IIS Services section and check the boxes next to the following components: FTP Service and IIS Management Console.

    Setting up an FTP server.

    Open Control Panel -> System and Security -> Administration -> Computer Management (you can quickly: Start menu -> right click on Computer -> select Management from the menu). In the window that opens, expand the Services and Applications group and open IIS Service Manager. In the Connections window, select the Sites folder, then in the right Actions window click on the Add FTP site link.


    In the FTP site creation wizard, specify its name and location (by default c:\inetpub\ftproot).


    Next, specify the binding and SSL parameters. I leave the binding section unchanged. I disable the “Start ftp site automatically” option (I only need ftp from time to time). In the SSL section, I select the “No SSL” option.


    In the next window, leave everything unchanged and click Finish.


    The site has been created. Now you can move on to additional settings for fine-tuning (for example, limiting the maximum number of simultaneous connections). Select the newly created site, on the right in the Actions panel click on Additional options.


    The next step is setting up the Windows Firewall. Open Control Panel -> System and Security -> Windows Firewall -> Advanced Settings. In the “Rules for incoming connections” section, find and activate “FTP server ( incoming traffic)" and "FTP Server Passive (FTP Passive Traffic-In)". The last rule allows the ftp client to connect in passive mode.



    In the “Rules for outgoing connection” section, find and activate “FTP Server (FTP Traffic-Out)”.


    If an additional firewall is installed on the system (Comodo, Outpost, etc.), then it also needs to open port 21 (TCP) for incoming connections and port 20 (TCP) for outgoing ones.

    If you connect to the Internet using a router, and you want to make your server accessible to Internet users, then you need to configure port forwarding on the router. On my Dlink DI-804HV this is done in the Virtual Server section.


    192.168.10.4 — IP address of the ftp server on the local network.

    Setting up user rights.

    If you leave everything as it is, then any user can connect to the FTP server (anonymous access is enabled) with read-only rights (you can download, but you cannot write or change files). Let's assume that we need to make access for trusted users who would have the rights to write and change files.

    Open Control Panel -> System and Security -> Administrative Tools -> Computer Management (Start -> right click on Computer -> select Management from the menu). Next, expand the group Local users and groups ( this setting available only in Business and Ultimate editions). Right click on the Groups folder and select Create Group from the menu.


    Enter the name of the group - FTP Users, a description (you don’t have to enter it) and click the Create button.


    Now you need to create a user. Right-click on the Users folder and select New User from the menu.


    Enter the user name (for example ftp_user_1), password (at least 6 characters), check the boxes next to the options “Prohibit the user from changing the password” and “Password does not expire.”


    The user has been created. Now you need to assign it the previously created group Ftp Users. To do this, open the user properties and go to the “Group Membership” tab. By default, a new user is assigned the Users group; delete it. Click the Add -> Advanced -> Search button. A list of user groups will open. Select the FTP Users group and click Ok. As a result we get:


    Click Ok and move on to the next step.

    At the stage of creating an ftp site, we needed to select a working directory (c:\inetpub\ftproot). Now you need to configure access rights to this directory for the FTP Users group. Open c:\inetpub in Explorer, open the properties of the ftproot folder, go to the Security tab and click the Edit button. In the window that opens, click the Add button and select the “FTP Users” group (as when creating a user). Set the permission level - " Full access» and click OK.


    The last stage. Open IIS Services Manager again and select our ftp server (Test FTP). In the FTP site control panel, select “FTP Authorization Rules”. Add an allowing rule. In the window that opens, select the “Specified roles or user groups” option. At the bottom in the text field, we manually write the name of our group (FTP Users), then check the boxes in the Permissions section opposite Read and Write and click OK.


    This completes the setup.

    At the beginning we did not select the option automatic start server, so don’t forget to start it manually (right click on the site name -> Manage FTP site -> Start).

    How to connect?

    Option using Windows Explorer.
    Open Computer (Vista, Win 7) or My Computer (XP).
    For anonymous access, simply enter the server address (ftp://192.168.10.4) into the address bar.
    To log in with a username and password, enter an address like: ftp://[username]:[password]@[ftp server address]. For example ftp://ftp_user_1: [email protected]- to connect from a local network. To connect from the Internet, replace the local address with an external one or a domain name.