thats what my config looks like and it works well so far maybe you should try this one first and if it still doesnt work have a look at your iptables configuration:
ServerType standalone
DefaultServer on
Umask 022
ServerName "KaSpErHaNs FtP sErVeR"
ServerIdent off "Show this instead ?"
ServerAdmin
Admin@this.domain.topdomain
IdentLookups off
UseReverseDNS off
Port 21
TimesGMT off
MaxInstances 30
MaxLoginAttempts 3
TimeoutLogin 300
TimeoutNoTransfer 120
TimeoutIdle 120
User nobody
Group nobody
DirFakeUser off nobody
DirFakeGroup off nobody
DefaultTransferMode binary
AllowForeignAddress on
AllowRetrieveRestart on
AllowStoreRestart on
DeleteAbortedStores off
TransferRate RETR 30
TransferRate STOR 40
TransferRate STOU 40
TransferRate APPE 40
SystemLog /var/lib/log/secure
#gp_random_username_length 6
#gp_random_password_length 6
#gp_useradd_root_path /home/ftp
#gp_useradd_upload_path /home/ftp/upload
#gp_html_path /var/lib/www/ftp.html
#gp_welcome_name welcome.msg
<IfModule mod_tls.c>
TLSEngine off
TLSRequired on
TLSVerifyClient off
TLSProtocol TLSv1
TLSLog /var/lib/log/proftpd_tls.log
TLSRSACertificateFile /etc/gproftpd/gproftpd.pem
</IfModule>
<Global>
<Limit LOGIN>
AllowUser test
DenyALL
</Limit>
</Global>
#--End of the main configuration--#
<Anonymous /home/ftp>
User test
Group test
AnonRequirePassword off
MaxClients 3 "The server is full, hosting %m users"
DisplayLogin welcome.msg
DisplayFirstChdir .msg
AllowOverwrite off
<Limit LOGIN>
Allow from all
Deny from all
</Limit>
<Limit ROOT_DIR_ALLOW RETR LIST NLST MDTM SIZE STAT CWD XCWD PWD XPWD CDUP XCUP>
AllowAll
</Limit>
<Limit ROOT_DIR_DENY DELE APPE STOR STOU SITE_CHMOD SITE_CHGRP RNFR RNTO MKD XMKD RMD XRMD>
DenyAll
</Limit>
<Directory /home/ftp/upload/*>
AllowOverwrite on
<Limit UPLOAD_DIR_ALLOW LIST NLST STOR STOU APPE RETR MKD XMKD STAT MDTM PWD XPWD SIZE CWD XCWD CDUP XCUP SITE >
AllowAll
</Limit>
<Limit UPLOAD_DIR_DENY RNFR RNTO DELE RMD XRMD SITE_CHMOD SITE_CHGRP >
DenyAll
</Limit>
</Directory>
</Anonymous>