U heeft een FTP server opgezet, en u kunt gewoon inloggen, maar op enig ander commando daarna krijgt u gewoon de fout “ftp: connect: No route to host” en wordt u weer uitgelogd.
Het volledige scherm zal er ongeveer zo uitzien :
ftp hostname.domein.com
Connected to hostname.domein.com (xxx.xxx.xxx.xxx).
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 07:34. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (hostname.domein.com:root): <username>
331 User <username> OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (46,243,28,66,165,161)
ftp: connect: No route to host
U kunt dus wel gewoon inloggen. Uw gebruikersnaam/wachtwoord combinatie werkt prima. Maar daarna vindt er geen communicatie tussen uw FTP server en client meer plaats.
Het probleem zit hem in het feit dat de FTP server over schakelt naar 'Passive Mode'. Dit houdt in dat de ftp server de client verteld over welke poort de daadwerkelijke communicatie zal gaan plaats vinden. Hiervoor dient u in uw configuratie twee dingen in de gaten te houden :
- Passive Mode configuratie:
In de configuratie van uw FTP server software dient u een poort-reeks aangegeven te hebben die de FTP server mag gebruiken voor Passive Mode.
In de meeste configuraties kan dit door volgende regel toe te voegen (uiteraard met poort nummers naar keuze):
PassivePorts 20000 22000
Dit werkt in ieder geval voor pro-ftpd en pure-ftpd en mogelijk ook anderen. Anders kunt u in de man-pages van uw FTP server software nagaan hoe dit dient in te stellen.
- Firewall:
Uiteraard heeft u ook een firewall actief op uw FTP server. Dus zult u deze firewall ook moeten aanpassen zodat de in uw FTP server software ingestelde poorten voor Passive Mode ook daadwerkelijk doorgelaten mogen worden.
De INPUT regel voor iptables zal er als volgt uit zien :
-A INPUT -p tcp -m state --state NEW -m tcp --dport 20000:22000 -j ACCEPT
Is één van beiden instellingen niet goed, dan krijgt u dus de melding “ftp: connect: No route to host”.