This was useful for me, as my pcmcia needed to start before eth0:
Most Linux systems have an '/etc/rc.d/' or '/etc/init.d/' directory which contains all your rc scripts and a directory corresponding to each run level 'rc<runlevel>.d'. Inside each of these directory you will find symbolic links to the scripts in the previous directory. The links are named 'S<number><serviceName> or K<number><serviceName>. All the links which begin with an S are started in alphabetical order when changing up to the runlevel and all the links which begin with a K are stopped in (IIRC) reverse alphabetical order when change down to a lower runlevel. Therefore if you currently have two sym. links '/etc/rc.d/rc3.d/S12network' and '/etc/rc.d/rc3.d/S13pcmcia', then you can make pcmcia start first by renaming the sym. link to 'S11pcmcia'. This method technique is known as 'Sys V Init(ilization)'
BTW some distros have a management layer which takes care of your sym. links. For example SuSE allows you to list what the service dependends on and what it provides, in a comment at the top of rc script. On SuSE, if you change the sym. links manually, without changing the comments at the top of the rc script, then the order can switch back as SuSE maintains itself.
This comes from: http://www.linuxformat.co.uk/modules...4148&forum=1&1
However, it sounds like you need to look at your ip tables and see if ftp is getting disabled there...