Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
SaltyJesus
Jun 2, 2011

Arf!
I'm trying to set up a simple FileZilla home FTP server and I'm stuck. I followed a couple of tutorials online, tried Googling around for solutions, and even asked a more network-literate friend to help. I did not see any fitting megathread and the SH/SC FAQ says "how do I do this" type questions stay in SH/SC so this seems like the right place. I don't frequent the tech forums here so I apologize if I broke some rule, I did my best to follow the FAQ.

I mainly used two tutorials, one at instructables and one at lifehacker. Here's what I've done so far:

I installed the FileZilla FTP client and FileZilla Server.
I manually started the FileZilla Server service.

I connected to the server using the default port (14147) and set up some groups and dummy users.



FileZilla Server is listening on port 21. I haven't messed with other server settings.

I added an exception to the Windows Firewall to allow FileZilla Server traffic.

I accessed my router and added a port forwarding rule. This is where some weird stuff occurs, I'll explain later.

I went to http://www.portchecktool.com/ to check if my server can be seen. Earlier today the tool reported a success, it could see my service at my public IP on port 21. At some point during the day it no longer could. I rebooted the router in the intervening time and got a different public IP but I adjusted everything accordingly.

Finally, I got a no-ip dynamic DNS account so I don't have to type the public IP and I got a FAKENAME.ddns.net domain. The dynamic DNS works. From what I can tell nslookup and tracert commands returned what they should and both the FileZilla client and the browser resolved FAKENAME.ddns.net to the correct public IP address.


Back to port forwarding weird behavior.
If I port forwarded with internal host 192.168.1.1, my router, both accessing ftp://fakename.ddns.net through Chrome and connecting to FAKENAME.ddns.net through the FileZilla client resolved to the correct public IP, Chrome prompted for password and username, and if I used the username and password of my router it would let me in. FileZilla correctly recognized that it is not a FTP server, Chrome just showed it containing no files or directories.


My FTP server is located on 192.168.1.2 however, my laptop. If I port forwarded with internal host 192.168.1.2 suddenly neither the FileZilla client nor Chrome could connect.



Miscellaneous thoughts I might add if I remember other relevant stuff:
I tried turning off the router's built in firewall. Didn't work.
Tell me what other router settings / screens I could show you to make sense of the situation.
Added a specific inbound rule in Windows firewall's advanced settings to allow port 21 for FileZilla to listen on as suggested in this tutorial.

SaltyJesus fucked around with this message at 00:08 on Mar 7, 2015

Adbot
ADBOT LOVES YOU

sarehu
Apr 20, 2007

(call/cc call/cc)
I think you want to ask in the Haus of Tech Support or plain SH/SC, this is a subforum about writing code to make computer programs.

SaltyJesus
Jun 2, 2011

Arf!
Oh poo poo. I was sure I was posting in plain SH/SC. :(

E: I contacted a mod to see if they could move it to the right forum. My bad.

SaltyJesus fucked around with this message at 00:11 on Mar 7, 2015

sarehu
Apr 20, 2007

(call/cc call/cc)

quote:

If I port forwarded with internal host 192.168.1.1, my router, both accessing ftp://fakename.ddns.net through Chrome and connecting to FAKENAME.ddns.net through the FileZilla client resolved to the correct public IP, Chrome prompted for password and username, and if I used the username and password of my router it would let me in. FileZilla correctly recognized that it is not a FTP server, Chrome just showed it containing no files or directories.

I think you are wrong here. FileZilla in the screenshot is correctly saying it is connecting to an FTP server and that it downloaded a directory listing. Then you got kicked because your connection didn't do anything, for a specified length of time.

sarehu fucked around with this message at 00:20 on Mar 7, 2015

SaltyJesus
Jun 2, 2011

Arf!

sarehu posted:

I think you are wrong here. FileZilla in the screenshot is correctly saying it is connecting to an FTP server and that it downloaded a directory listing.

So it is. Still, that's when port forwarding was set to 192.168.1.1 which is the router. It connected using my router's username & password and when it downloaded the directory listing it showed an empty listing (like the Chrome screenshot).

If it was forwarded to the FTP server on my laptop (1.2) it wouldn't have accepted that username/password combo, it would have asked for the user I set up in FileZilla Server. And it would have shown the test D:\Shared directory I set up in the listing.

movax
Aug 30, 2008

SaltyJesus posted:

Oh poo poo. I was sure I was posting in plain SH/SC. :(

E: I contacted a mod to see if they could move it to the right forum. My bad.

No problem, looks like either Alereon or SWSP beat me to it.

FWIW, on Windows I've used FileZilla, otherwise I've used the vanilla ftpd from various distros at home without any issues. If I get some time later I will try to read over your OP in more detail.

td4guy
Jun 13, 2005

I always hated that guy.

Port forwarding and domain resolution are two entirely separate and unrelated issues.

You should indeed be forwarding it to 192.168.1.2, because that's where the FTP server lives. If you're testing it on your home network, you should be attempting to access it via the address: 192.168.1.2:21. Additionally, you can use that PortCheckTool page to ensure that port 21 is accessible externally, to anyone outside your home network.

If PortCheckTool shows a timeout, like in that screenshot, then you should double-check and ensure that your FTP server is still on 192.168.1.2, and wasn't assigned a different local IP address by your router.

SaltyJesus
Jun 2, 2011

Arf!
Thanks for helping dude. :)

Alright, this is what I've got now:

When I access it via my local address through my home network it works. It prompts me for username/password and accepts the one I set up in FileZilla Server. Test folder shows up.


So far so good. However, I'm the only computer on my home network. I want to share folders with my bro two floors up who's on his own network as well as some friends from a different town. To this end I tried to access it through the public IP which was confirmed open in that screenshot I posted up there with "Success! I can see your service on some.public.ip on port (21)" but it still won't access. I still get:

td4guy
Jun 13, 2005

I always hated that guy.

You should've clicked that little Details in the bottom right corner to show the error messages for troubleshooting.

And please clarify: you receive that error when you're at your bro's place?

SaltyJesus
Jun 2, 2011

Arf!
Details just gives some generic advice:


Before trying from my bro's computer had pretty much the same results as on my laptop so I set it aside until I made some progress. After you asked if I received it from my bro's place I went to check again. I entered the dynamic dns address in his browser and... Success!

Oh.

This happened when I clicked the folder. Chrome error code ERR_FTP_FAILED. So close.

As the following image shows I've given the user's group file read privileges and directory list + access to subdirectories privileges for the test folder.

That should be enough, right?

Super-NintendoUser
Jan 16, 2004

COWABUNGERDER COMPADRES
Soiled Meat
Just an off the cuff idea, but FTP uses two ports, one for data (20) and one for control (21). I'm not sure of they are both TCP, but I'd open them both up for TCP and UDP.

Open up both ports for both protocols and test that. Also, look for something like TCP Connection Timeout and bump it up if there's an option.

One last thing is to see if your firewall has a DMZ option. If it does, then set the DMZ IP to be your FTP server. This basically enables full port forwarding for everything to that one IP, if that works, you know it's a network problem. If that doesn't work, they maybe your ISP is blocking FTP since you are probably in violation of your residential service agreement by running a server from your house.

You can try a non-standard port to get around that, just pick a random four digit port and use that instead.

Does your firewall have any logging? You can probably see something in the log.

EDIT: Taking more time to thing about it, FTP has a couple different methods, one is passive, and this will cause the data to be transferred on a random port about like 1000. Filezilla should have an option to fix that port range. You will need to port forward those too, but setting a DMZ will take care of that. The other option uses 20 for data, but that's not reliable.

Super-NintendoUser fucked around with this message at 16:27 on Mar 9, 2015

SaltyJesus
Jun 2, 2011

Arf!
Thanks dudes, I got it working pretty well.

I looked at the FileZilla Server log, found error code 550, looked that up, stumbled across this filezilla forums thread, checked out the server FAQ mentioned there. This guide ain't bad either.

I opened some extra ports for FileZilla's passive mode, went to the "Passive mod" tab of FileZilla settings and told it to use those ports and to retrieve my external IP from icanhazip.com, and that seemed to do the job.

This test tool is pretty useful too.

SaltyJesus fucked around with this message at 00:27 on Mar 10, 2015

Adbot
ADBOT LOVES YOU

SaltyJesus
Jun 2, 2011

Arf!
Actually, there is just one more problem.

When accessed through a browser it works perfectly in Firefox but not at all in Chrome. What's the deal with that?

E: nvm, it's just being really sluggish and weird, and for some reason either a semicolon or space in the directory name trip it up but not Firefox and IE
E2: it was the semicolon

SaltyJesus fucked around with this message at 00:57 on Mar 10, 2015

  • Locked thread