0
I'm currently trying to set up a home FTP server using debian and proftpd and I've run into a problem that has me confused. I have most things set up already, I believe, but I cannot access my ftp server using my external ip. I've forwarded the correct port on my router and I've checked http://www.yougetsignal.com/tools/open-ports/ to be sure that it is, in fact, opened. I've used telnet locally on my server to check that the port accepts connections. I am able to use ftp via LAN. But, I still cannot access anything externally.
I'm thinking that there's still some router configuration to be done in order to fix this, such as routing all connections on my ftp port to my server via the internal ip, but I can't find any option on my router to do this. Is this a necessary step? There is an option to use DMZ hosting, but I'd rather avoid it if possible. I can provide additional information as requested, please let me know any information that you think could help at all. Thanks.
-Brad
PS - I have a Telus Actiontec Modem/Router
Update - !! Trying my ftp server out at work, worked! I guess I did set it up correctly after all. What is confusing me, though, is why doesn't the server allow me to connect locally anymore? That seems very weird to me. Also, I don't really understand why I am denied outright if I attempt to connect from the same network using the external address. I'll look into it more when I get home, but thank you guys for your help.
Update 2 - I found the problem with not being able to connect locally anymore. I was setting the masquerade address to my external IP and for some reason that was causing it to hang on MLSD when I connected using my LAN address. I've removed the masquerade address and I'm going to check if I need it at work tomorrow. I'll update this page if I find anything.
Last Update - I've just checked at work and everything is working as planned. I am now able to access the server via the LAN address at home and the external address elsewhere. It strikes me as a bit odd that it still doesn't work for the external address at home, and I don't see why it wouldn't, but there's no negative effect if I'm still able to access it from anywhere. I'm going to mark ultrasawblade's response as the answer because, ultimately, it was because I neglected to set up my passive port range. Thank you both for the help, and I hope my experience helps out someone else.
Thanks for your response, I forgot about allowing a passive port range and have now done that in the proftpd.conf file and the sysctl.conf file, although I'm not sure if the second file is necessary. I've added the range to my router's forwarded ports and my iptables firewall ports. Then I restarted everything. Still not working.
I have a bit of other information that might help, though: I tried to reconnect to my ftp server locally again and it seems to hang on the MLSD command before timing out. From what I gather, this has to do with my passive port configuration. Out of room... – Brad – 2012-07-04T07:17:30.013
Let me know if there's anything else that will help to diagnose the problem. Thanks again. – Brad – 2012-07-04T07:19:23.037
It is actually in "Active" mode that the server connects back to the client. "Passive" lets the client initiate both connections. – Terje Mikal – 2012-07-05T17:40:06.517
I'm losing my edge with FTP because I never use it, lol ... I generally perfer SCP. – LawrenceC – 2012-07-05T20:51:02.487