Network Configuration
Setting up network components for FTP is not trivial for use outside your LAN (Local Area Network). Since so many firewalls and routers exist, it is impractical to give detailed step-by-step instructions suitable for every user. To configure FileZilla and the routers and/or firewalls involved, it is important to understand the basics of the FTP protocol. This documentation describes the history of the FTP protocol and how some aspects of the protocol work. Read it carefully, it will save you a lot of trouble setting up FTP.
Baggrund
En oversigt over de historiske og tekniske baggrund af FTP-protokollen. For detaljeret dybdegående information se specifikationer.
Historisk Baggrund
Jeg DET hurtigt Levende Verden AF internettet, ER File Transfer Protocol ikke bare Gamle, DET ER Gamle. Tidlige udkast AF protokollen Går sa Langt Tilbage SOM 1971, MED de nuværende Specifikationer, der FRA 1985. Protokollen Maske endda be Ældre ende grave!
Dengang var Internettet primært anvendes AF universiteter OG forskningscentre. Fællesskabet var beskeden, skab brugere kendte hinanden OG Allé var samarbejder sammen. Internettet var da venlig, tillidsfuld Sted. Sikkerhed var ikke en bekymring.
Siden da Administrator massevis ændret. Internettet ER Nu allestedsnærværende, MED millioner AF brugere på kommunikere MED hinanden in skab forskellige Mader. Internettet ER Nu da fjendtlig Sted. Tilgængeligheden OG åbenhed Administrator tiltrukket hackere, der udnytter design begrænsninger, ufuldstændige implementeringer, benytter normalt OG manglende erfaring Andre brugere. Et velkendt software Selskab i Redmond, WA sikkert spillet en Rolle.
Fri mærkning forsøg Administrator været Gjört i miste disse problemer:
- [Http: / / en.wikipedia.org / wiki / Network_address_translation NAT] (Network Address Translation) routere. Skab AF de værter OG routere in internettet Bruge IPv4 TAGER. Antallet AF værter tilsluttet Til internettet is ved på Na IPV4 design grænse for antallet AF Adresser (IPv6 is designet Til at lindre This page). NAT-routere tillader Fri mærkning Systemer inden for en LAN Til at oprette forbindelse Til omverdenen MED EN ekstern IP Adresse.
- [Http: / / en.wikipedia.org / wiki / Personal_firewall Personlige firewalls] forsøger at beskytte personlige Computere mod Angreb FRA hackere.
Desværre bød NAT OG personlige firewalls konflikt MED FTP oftere ende ikke. For at gore tingene værre, SIG nogle AF DEM Administrator endda Mangler SELV, skaber yderligere problemer MED FTP.
Teknisk Baggrund
DET, der adskiller FTP FRA de fleste Andre protokoller is brugen AF sekundære forbindelser for filoverførsler. Hvis du opretter forbindelse Til en FTP-server, SKAL du oprette de såkaldtekontrol forbindelse, over hvilken FTP kommandoer OG deres svar ER overført. For at overføre en fil Eller da Mappe Free, forbindelse afsenderen klienten en Kommando over kontrollen på etableredataforbindelse.
This dataforbindelse KAN etableres in til forskellige Mader, også kaldet Aktiv tilstand OG passiv tilstand.
Jeg passiv tilstand, SOM ER den anbefalede tilstand, afsender kunden PASV Kommando Til Serveren, OG Serveren Svarer MED en Adresse. Klienten derefter udsteder en Kommando Til at overføre en fil Eller på fa en Mappe Free OG etablerer en Sekundær tilknytning Til den Adresse, der returneres AF Serveren.
Jeg Aktiv tilstand, Åbner kunden et Stik in den Lokale Maskine, OG fortæller synd Adresse Til Serveren ved hjælp AF PORT kommandoen. Nar kunden afgiver en Kommando Til at overføre en fil Eller Free, VII, Serveren skal forbinde Til den Adresse, SOM kunden.
Jeg begge tilfælde den faktiske fil Eller Free overføres derefter via dataforbindelse.
Generelt kræver oprettelse udgående forbindelser mindre Konfiguration in router / firewalls involveret udgangen oprettelse indgående forbindelser. Jeg passiv tilstand, ER forbindelsen udgående in klientsiden OG indgående in Serveren side. Jeg Aktiv tilstand is hund rollerne Vendt: Den dataforbindelse is indgående in klientsiden OG udgående in Serveren side. Bemærk venligst at dette Kun gor en ForskEL for tilslutning etablering: Nar dataforbindelsen bliver Oprettet DET KAN Bruges Til Docenter op-Eller downloads.
En fælles Netværk setup kunne se Sadan UD:
SA i passiv tilstand, router OG firewall in Serveren side Skal konfigureres Til at acceptere OG videresende indgående forbindelser. In klientsiden Administrator hund Kun udgående forbindelser på fa lov, SOM allerede VII, be tilfældet DET meste AF tiden.
Tilsvarende i Aktiv tilstand, router OG firewall in klientsiden Skal konfigureres Til at acceptere OG videresende indgående forbindelser. Tilsyneladende in Serveren side, Kun udgående forbindelser Skal be tilladt.
Da Regel en server leverer en tjeneste for sukkerærter brugere, ER DET Langt nemmere ved bare Konfigureret routeren OG firewall in Serveren side en bande for passiv tilstand, slutter kl Konfigureret kundens router / firewall til hver Enkelt Kunde i Aktiv tilstand. Derfor ER passiv tilstand anbefales.
NAT routere
For de fleste bredbåndsbrugere, være OG VII, der en NAT (Network Address Translation) router mellem deres computer Internettet. Denne NAT router KAN være en standalone router Enhed (Maske en Trådløs router), Eller DET kunne være indbygget i en DSL Eller kabelmodem. Jeg DA NAT Miljø, omhu Systemer taske NAT router form enLocal Area Network (LAN)OG hvert system i LAN Advocate en Lokal IP-Adresse (genkendes SOM brand Små tal adskilt AF punktummer). NAT router SELV Advocate en Lokal IP Adresse. Hertil Kommer in også NAT routeren Advocate en ekstern IP Adresse, hvorunder DET ER kendt AF Internettet. De Interne IP Adresser er Kun gyldige inden for internet, for en ekstern system, de Ville ikke give Nøgen mening. Eksempel:
Antager en server er udgøre en NAT router. Forestil dig, Finde sker der, hvis en Kunde anmoder passiv tilstand, mænd Serveren ikke kender eksterne IP Adresse NAT router. SA Serveren afsender sinus Interne Adresse Til klienten. I SA Fald Til tinget KAN SKE:
- Hvis klient er ikke taske da NAT, VII, kunden afbryde da-Adresse ER ugyldig.
- Hvis klient er taske da NAT, anførte Adresse AF Serveren KAN være de samme SOM et system i kundens eget LAN.
DET ER klart, i begge tilfælde passiv tilstand Ville være umuligt.
SA hvis en server er udgøre en NAT router, ER DET nødvendigt in Kende den eksterne IP Adresse i routeren i passiv tilstand. I SA Fald afsender Serveren routerens eksterne Adresse Til klienten. Klienten derefter etablerer en forbindelse Til NAT router, SOM Igen Ruter forbindelsen Til Serveren.
Firewalls
Formålet MED enPersonal Firewaller på beskytte brugeren FRA sikkerhedshuller i operativsystemet Eller applikationer, der kører in DET. Over Internettet. Malware SOM f.eks Orm forsøger at udnytte fejlene Til at inficere DIT system Firewalls KAN medvirke Til at forebygge en Sadan infektion.
Især hvis du bruger FTP, KAN firewall brugere undertiden se indlæg SOM dette FRA deres firewall: Trojan Netbus blokeret in Porten 12345 op. Bruges AF FileZilla.exe
Jeg næsten Alle tilfælde ER DET enfalsk alarm. Enhver program KAN vælge en havn DET VII, har for Kommunikation over Internettet. SA DET KAN SKE på FileZilla sker i vælge en havn, der i øvrigt standard havn i en trojan Eller Anden ondsindet software. SA længe du henter FileZilla FRA den officielle hjemmeside, DET ER REN eventuelle malware.
Ondskabsfuld routere, firewalls OG data sabotage
Nogle routere OG firewalls foregive at be smart. De analysere forbindelser, OG hvis de tror DET ER FTP, de tavse ændre data, der udveksles mellem klient OG server. Hvis brugeren ikke Advocate udtrykkeligt slået This page Funktion, This page adfærd ER andet ungdomsromanen Intet Andet end-data sabotage OG KAN forårsage forskellige problemer.
For at illustrere MED et Eksempel, antage, at der ER en klient bag en NAT router forsøger på oprette forbindelse Til Serveren. Lad os yderligere antage, at This page Kunde ikke vide DET ER taske da NAT OG ønsker at Bruge Aktiv tilstand. SA DET afsender PORT Kommando MED sidde Lokale, unroutable IP-Adresse Til Serveren:
PORT 10,0,0,1,12,34
Ovenstående Kommando fortæller Serveren på forbinde Til den Adresse 10.0.0.1 in port 12 * 256 34 = 3,106
NAT router ser dette OL lydløst ændrer kommandoen Til at omfatte den eksterne IP-Adresse. Samtidig VII, NAT-router også oprette en Midlertidig port forwarding for FTP-session, eventuelt in en buffer port SELV:
PORT 123,123,123,123,24,55
Nu ovenstående Kommando fortæller Serveren på forbinde Til den Adresse, 123.123.123.123 in port 24 * 256 55 = 6,199
Med This adfærd, KAN en NAT router da forkert konfigurerede klient Til at Bruge Aktiv tilstand.
Mænd hvorfor ER DET dårligt? Hvis This Funktion is aktiveret som standard kan, Uden udtrykkelig brugerens samtykke, DET forårsager skab problemer. FTP-forbindelser i synd Mest basale form synes i Arbejde, mænd sa snart der ER nogle afvigelser FRA de grundlæggende tilfældet, VII, alt mislykkes, forlader brugeren Helt forvirrede:
- Den NAT-router blindt antager nogle forbindelse bruger FTP baseret in Kriterier SOM Mål havne Eller den oprindelige server svar:
- Der ER Ingen Garanti for, at den anvendte TAGER ER virkelig FTP, mænd den ER opdaget SOM Sadan (også kaldetfalsk positive). Selvom usandsynligt, ER DET tænkeligt, at der i en Kommende revision AF FTP-protokollen, KAN syntaksen for PORT Kommando förändring. En NAT router ændre PORT Kommando VII, tavst ændre Ting, DET ikke støtte OG dermed Bryde forbindelsen.
- Routeren's TAGER opdagelse KAN undlade at anerkende en FTP-forbindelse (enfalsk negative). Lad os antage, at routeren Kun ser in Malet Havn, OG hvis DET ER 21, den opdager DET SOM FTP. SOM Sadan Aktiv tilstand forbindelser MED EN forkert konfigurerede klient Til Kram, der kører in port 21 VII, Arbejde, mænd forbindelser Til André Netværksenheder in ikke-standard havnene VII, mislykkes.
- Selvfølgelig KAN da NAT router ikke længere manipulere MED forbindelsen, sa snart en krypteret FTP-session Brugge Igen forlader brugeren clueless hvorfor DET virker for normal FTP mænd ikke for krypteret FTP.
- Antag en klient bag en NAT router afsender "PORT 10,0,0,1,12,34". Hvordan NAT router kender kunden is forkert konfigureret? DET ER også muligt, at kunden ER konfigureret korrekt, mænd blottet ønsker på indlede en FXP (server Til server) overførsel mellem Serveren, den ER tilsluttet OG en buffer Maskine i serverens eget Lokale Netværk.
SOM du KAN SE, der TAGER særlige træk aktiveret i en NAT-router som standard kan is en dårlig tinget. En gud NAT router bor Altid be fuldt TAGER-agnostisk. Romanen øh, hvis du SOM bruger udtrykkeligt Administrator slået This page Funktion Til, Vel vidende Allé huler konsekvenser.
SELV OM dette Afsnit is Kun drøftet kombinationen AF EN NAT router in klientsiden MED Aktiv tilstand, gælder directly Til en server bag en NAT router OG svaret in PASV kommandoen.
Opsætning FileZilla Client
Hvis du kører FileZilla 3, anbefales det at køre guiden netværkskonfiguration. Det vil guide dig gennem de nødvendige skridt og kan teste din indstilling i sidste ende.
Selvfølgelig, hvis du ønsker at forbinde til nogen server, skal du fortælle din firewall, FileZilla skal have lov til at åbne forbindelser til andre servere. De fleste normale FTP-servere bruger port 21, SFTP servere bruger port 22 og FTP over SSL / TLS (implicit mode) bruge port 990 som standard. Disse havne er ikke obligatoriske selv om, så det er bedst at give udgående forbindelser til vilkårlig fjernbetjening havne.
Da der er mange servere på internettet, er forkert og ikke not support både transfer modes, er anbefales det at du konfigurere både transfer modes på din ende.
Passive mode
Hvis kunden ikke Advocate Kontrol over, Finde port Serveren vælger Til dataforbindelsen i passiv tilstand, sa i Bruge passiv tilstand, ER du nødt Til at tillade udgående forbindelser Til Alle havne i din firewall.
Aktiv tilstand
I aktiv tilstand, åbner kunden en sokkel og venter på at serveren etablere overførslen forbindelse.
Som standard, spørger FileZilla Client operativsystemet for maskinens IP-adresse og for en fri portnummer. Denne konfiguration kan kun fungere, hvis du er forbundet til internettet direkte uden NAT router, og hvis du har sat din firewall til at tillade indgående forbindelser på alle havne mere end 1024.
Hvis du har en NAT router, skal du fortælle FileZilla din eksterne IP-adresse eller aktiv tilstand forbindelser vil ikke arbejde med servere uden for dit lokale netværk:
- Hvis du har en fast ekstern IP-adresse, kan du indtaste den i indstillingsdialogen af FileZilla.
- Hvis du har en dynamisk IP-adresse, kan du lade FileZilla få din eksterne IP adresse fra en særlig hjemmeside automatisk, hver gang du starter FileZilla. Ligegyldigt hvilken version af FileZilla har du ingen oplysninger vil blive forelagt til denne hjemmeside.
Hvis du er i tvivl, så brug den anden mulighed.
Hvis du ikke ønsker at tillade indgående forbindelser på alle havne, eller hvis du har en NAT router, skal du fortælle FileZilla til at bruge en række særlige porte til aktiv tilstand forbindelser. Du vil have til at åbne disse porte i din firewall. Hvis du har en NAT router, skal du sende disse porte til den lokale maskine FileZilla er installeret på. Afhængig af din router model, kan du enten sende en række havne eller du skal sende alle havne individuelt.
Gyldig havne kan være fra 1 til 65535, dog havne mindre end 1024 er reserveret til andre protokoller. Det er bedst at vælge havne større end eller lig til 50000 for aktiv tilstand FTP. På grund af karakteren af TCP (det underliggende transport-protokollen), kan en havn ikke kan genanvendes umiddelbart efter hver enkelt forbindelse. Derfor rækken af havne, bør ikke være for lille eller overførsler af mange små filer kan mislykkes. En række på 50 havne bør være tilstrækkeligt i de fleste tilfælde.
Setting up FileZilla Server
Setting up the server is very similar to setting up the client, the main difference is that the roles of active and passive mode are reversed.
One common mistake done especially from users with NAT routers is the way they test the server. If you are within your local network, you can only test using the local IP address of the server. Using the external address from the inside will probably fail. Basically one of the following could happen if you try to connect using the external address from the inside:
- It surprisingly works
- Router blocks access to its own external address from the inside as possible attack
- Router forwards connection to your ISP which then blocks it as possible attack
Even if that works, there is no guarantee an external user can really connect to your server and transfer files. The only reliable way is to connect to your server from an external system outside of your LAN.
Active mode
Just make sure FileZilla Server is allowed to establish outgoing connections to arbitrary ports, since the client controls which port to use.
For the local end of the connection, FileZilla Server tries to use a port one less than that of the control connection (e.g. port 20 if server is listening on port 21). However this is not always possible, so don't rely on it.
Passive mode
Server configuration is very similar to client configuration for active mode.
In passive mode, the server opens a socket and waits for the client to connect to it.
By default, FileZilla Server asks the operating system for the machine's IP address and for a free port number. This configuration can only work if you are connected to the internet directly without any NAT router and if you have set your firewall to allow incoming connections on all ports greater than 1024.
If you have a NAT router, you need to tell FileZilla Server your external IP address or passive mode connections will not work with clients outside your local network:
- If you have a fixed external IP address, you can enter it in the configuration dialog of FileZilla Server.
- If you have a dynamic IP address, you can let FileZilla Server obtain your external IP address from a special website automatically. Except your version of FileZilla Server, no information will be submitted to that website.
If in doubt, use the second option.
If you do not want to allow incoming connections on all ports, or if you have a NAT router, you need to tell FileZilla Server to use a specific range of ports for passive mode connections. You will have to open these ports in your firewall. If you have a NAT router, you need to forward these ports to the local machine FileZilla Server is installed on. Depending on your router model, you can either forward a range of ports or you need to forward all ports individually.
Valid ports can be from 1 to 65535, however ports less than 1024 are reserved for other protocols. It is best to choose ports >= 50000 for passive mode FTP. Due to the nature of TCP (the underlying transport protocol), a port cannot be reused immediately after each connection. Hence the range of ports should not be too small or transfers of multiple small files can fail. A range of 50 ports should be sufficient in most cases.
Troubleshooting
Unfortunately, many personal firewalls and consumer routers are flawed or in some cases, are even actively sabotaging FTP (e.g. SMC Barricade V1.2).
First of all, you should keep everything up-to-date. This includes the firewall software as well as the firmware version in your router.
If that does not help, you might want to try to uninstall your firewall to see what happens. Simply disabling your firewall might not work, as some firewalls cannot be fully disabled.
If possible, try to connect directly to the internet without a router.
If you are trying to setup a server and it works fine within your LAN but is not reachable from the outside, try changing the listening port. Some ISPs don't like its customers to host servers and block ports < 1024.
Another problem might be if you are hosting an FTP server on default port 21. There might be a firewall at the ISP side of your connection which can do odd things like changing the port for PASV commands. Try using another non-default port for your FTP server.
If you encounter "cannot open data connection" on a random basis, i.e. the ftp client can connect to the ftp server without problem for many connections until it encounters this problem, one possible reason may be your client PC anti-virus scanner being configured to block outgoing connections on certain ranges of ports. When your ftp connections are running on pasv mode, the client side outgoing ports are selected randomly and when it hits those prohibited ports, you will encounter your problem. To identify this problem, read your anti-virus log on that client. In general, any software e.g. PC firewall, etc that can block certain range of outgoing ports can cause similar ftp grief.
Timeouts on large files
If you can transfer small files just fine, but transfers of larger files end with a timeout, then there is a broken router and/or firewall between the client and the server that is causing this problem.
As mentioned above, FTP uses two TCP connections: One control connection to submit commands and to receive replies as well as one data connection for the actual file transfers. It is the nature of FTP that during a transfer the control connection stays completely idle.
The TCP specifications do not set a limit on the amount of time a connection can stay idle. Unless explicitly closed a connection is assumed to remain alive indefinitely. Many routers and firewalls however automatically close idle connections after a while. Worse, they most of the time don't even notify the endpoints of this, instead they just silently drop the connection. So for FTP this means that during a long transfer the control connection can get dropped, but neither client nor server get to know about it. So when all data has been transferred, the server still thinks the control connection is alive and sends the transfer confirmation reply over the control connection. Likewise, the client as well thinks the control connection is alive and waits for the reply from the server. But since the control connection got silently dropped, this reply never arrives, eventually causing a timeout.
In an attempt to solve this problem, the TCP specifications include a way to send keep-alive packets on otherwise idle TCP connections, to tell all involved parties that the connection is still alive and needed. However, the TCP specifications also make it very clear that these keep-alive packets should not be sent more often than once every two hours. Thus, with added tolerance for network latency, connections can stay idle for up to 2 hours and 4 minutes.
The problem is that many routers and firewalls drop connections that have been idle for less than 2 hours and 4 minutes. Such behavior is violating the TCP specifications, RFC 5382 makes this very clear. In other words, all routers and firewalls that are dropping idle connections too early are broken, they just cannot be used for long FTP transfers. Unfortunately manufacturers of consumer-grade router and firewall vendors do not care about specifications, all they care about is getting your money and thus only deliver barely working lowest quality junk.
To solve this problem you need to uninstall any affected firewall and replace any faulty router with a quality one.
Setting up FileZilla Server with Windows Firewall
If you are having problems with setting up FileZilla Server to run behind Windows Firewall (specifically, it fails on "List" and the client receives a "Failed to receive directory listing" error), you must add the FileZilla Server application to Windows Firewall's Exceptions list. To do this, follow these steps:
- Open Windows Firewall under Control Panel.
- If using Vista, click "Change Settings"
- Select the "Exceptions" tab.
- Click "Add program..."
- Do NOT select "FileZilla Server Interface" from the list, instead click on "Browse..."
- Locate the directory you installed FileZilla Server to (normally "C:\Program Files\FileZilla Server\")
- Double click or select "FileZilla server.exe" and press open (Once again, NOT "FileZilla Server Interface.exe")
- Select "FileZilla server.exe" from the list and click "Ok"
- Verify that "FileZilla server.exe" is added to the exceptions list and that it has a check mark in the box next to it
- Press "Ok" to close the window
Passive mode should now work. If you are still having problems connecting (from another computer or outside the network) check your router settings or try to add the port number in the Windows Firewall settings located in the Exceptions tab.
See the Microsoft kb article 931130 about running FileZilla with the "Routing and Remote Access" or the "Application Layer Gateway" service enabled. http://support.microsoft.com/kb/931130