Hello, just started up a new server, a KVM machine with it’s own IP (no router anywhere just a bridge on the host), everything worked. Problem is I started restoring domains, but the proftpd 1.3.3 server is not working well and was notified by one of the users, it authenticates the user but fails listing. This I think is not a routing problem, because I disabled iptables and still no luck!
I droped my configuration and thought to start from scratch, took it from the proftpd website and just commented the anonymus section, restarted proftpd about 100 times, and the network, and iptables, and even the VM:
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName “ProFTPD Default Installation”
ServerType standalone
DefaultServer on
Port 21 is the standard FTP port.
Port 21
Umask 022 is a good standard umask to prevent new dirs and files
from being group and world writable.
Umask 022
To prevent DoS attacks, set the maximum number of child processes
to 30. If you need to allow more than 30 concurrent connections
at once, simply increase this value. Note that this ONLY works
in standalone mode, in inetd mode you should use an inetd server
that allows you to limit maximum number of processes per service
(such as xinetd).
MaxInstances 30
Set the user and group under which the server will run.
User nobody
Group nobody
To cause every FTP user to be “jailed” (chrooted) into their home
directory, uncomment this line.
DefaultRoot ~
Normally, we want files to be overwriteable.
AllowOverwrite on
A basic anonymous configuration, no upload directories. If you do not
want anonymous users, simply delete this entire section.
<Anonymous ~ftp>
User ftp
Group ftp
We want clients to be able to login with “anonymous” as well as “ftp”
UserAlias anonymous ftp
Limit the maximum number of anonymous logins
MaxClients 10
We want ‘welcome.msg’ displayed at login, and ‘.message’ displayed
in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
Limit WRITE everywhere in the anonymous chroot
DenyAll
But FIlezilla keeps on telling me (doesn’t work with dolphin or any of the browsers, no problems to other servers), with any user tried:
Status: Resolving address of ftp.mumu.ro
Status: Connecting to 80.97.65.222:21...
Status: Connection established, waiting for welcome message...
Response: 220 ProFTPD 1.3.3e Server (ProFTPD Default Installation) [::ffff:80.97.65.222]
Command: USER fakemoth
Response: 331 Password required for fakemoth
Command: PASS **********
Response: 230 User fakemoth logged in
Command: OPTS UTF8 ON
Response: 200 UTF8 set to on
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is the current directory
Command: TYPE I
Response: 200 Type set to I
Command: PASV
Response: 227 Entering Passive Mode (80,97,65,222,217,155).
Command: MLSD
Error: Connection timed out
Error: Failed to retrieve directory listing
With active mode I get the same problem with listing:
Status: Disconnected from server
Status: Resolving address of ftp.mumu.ro
Status: Connecting to 80.97.65.222:21…
Status: Connection established, waiting for welcome message…
Response: 220 ProFTPD 1.3.3e Server (ProFTPD Default Installation) [::ffff:80.97.65.222]
Command: USER fakemoth
Response: 331 Password required for fakemoth
Command: PASS **********
Response: 230 User fakemoth logged in
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features:
Response: MDTM
Response: MFMT
Response: LANG zh-TW;ru-RU;bg-BG;zh-CN;ja-JP;ko-KR;en-US;fr-FR;it-IT
Response: TVFS
Response: UTF8
Response: MFF modify;UNIX.group;UNIX.mode;
Response: MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
Response: REST STREAM
Response: SIZE
Response: 211 End
Command: OPTS UTF8 ON
Response: 200 UTF8 set to on
Status: Connected
Status: Retrieving directory listing…
Command: PWD
Response: 257 “/” is the current directory
Command: TYPE I
Response: 200 Type set to I
Command: PORT 79,117,71,38,155,198
Response: 200 PORT command successful
Command: MLSD
Response: 425 Unable to build data connection: No route to host
Error: Failed to retrieve directory listing
Nothing of interest in the logs:
Mar 6 07:56:18 ns1 proftpd[10134]: ns1.mumu.ro (::ffff:79.117.71.38[::ffff:79.117.71.38]) - FTP session opened.
Mar 6 07:56:18 ns1 proftpd[10134]: ns1.mumu.ro (::ffff:79.117.71.38[::ffff:79.117.71.38]) - Preparing to chroot to directory ‘/home/fakemoth’
Mar 6 07:59:01 ns1 proftpd[9302]: ns1.mumu.ro (::ffff:79.117.71.38[::ffff:79.117.71.38]) - Client session idle timeout, disconnected
Mar 6 07:59:01 ns1 proftpd[9302]: ns1.mumu.ro (::ffff:79.117.71.38[::ffff:79.117.71.38]) - FTP session closed.
Just in case:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ProFTPD tcp – anywhere anywhere tcp dpt:ftp
fail2ban-SSH tcp – anywhere anywhere tcp dpt:ssh
RH-Firewall-1-INPUT all – anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all – anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all – anywhere anywhere state RELATED,ESTABLISHED
DROP all – kirchoff.syncrovision.com anywhere
ACCEPT icmp – anywhere anywhere icmp any
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT all – anywhere anywhere
ACCEPT esp – anywhere anywhere
ACCEPT ah – anywhere anywhere
ACCEPT udp – anywhere anywhere udp dpt:ipp
ACCEPT tcp – anywhere anywhere tcp dpt:domain state NEW
ACCEPT udp – anywhere anywhere udp dpt:domain state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:ftp state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:ssh state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:smtp state NEW
ACCEPT tcp – anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp – anywhere anywhere tcp dpt:pop3 state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:imap state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:https state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:urd state NEW
ACCEPT udp – anywhere anywhere udp dpt:igmpv3lite state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:ftps state NEW
ACCEPT udp – anywhere anywhere udp dpt:imaps state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:imaps state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:pop3s state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:submission state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:5901 state NEW
ACCEPT tcp – anywhere anywhere tcp dpt:commtact-http state NEW
ACCEPT tcp – anywhere anywhere tcp dpts:ndmp:rxapi state NEW
REJECT all – anywhere anywhere reject-with icmp-host-prohibited
Chain fail2ban-ProFTPD (1 references)
target prot opt source destination
RETURN all – anywhere anywhere
Chain fail2ban-SSH (1 references)
target prot opt source destination
RETURN all – anywhere anywhere
By the way there are no need of other opened ports as I have the modules (first thing that came in mind when I saw “Response: 425 Unable to build data connection: No route to host” but for some weird reason in CentOS 6.3 x64 they ar called nf_… and not ip_… also checked if they are loaded - they are):
service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter mangle nat [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
iptables: Loading additional modules: nf_conntrack nf_conntrack_netbios_ns nf_conntrack_ftp nf_conntrack_tftp [ OK ]
What could be wrong here, any other info that you would need?