Vsftpd + PASV + brandvägg + SSL + dyndns = sant

Efter en hel del slit har jag fått FTP-servern vsftpd att fungera ihop med vår brandvägg och SSL även fast vi har en dynamisk ip-address och ett domännamn via Loopias dynamiska dns-tjänst.

Det har alltid fungerat utmärkt innanför brandväggen, men om jag har försökt köra med vårt domännamn eller suttit på jobbet har det inte gått. Jag har kunnat ansluta till vsftpd, men så fort klienten försökt hämta kataloginnehållet fick jag felmeddelandet

Failure retrieving contents of directory /var/www

Så här gjorde jag i alla fall:

I princip kan man följa den här lättlästa och pedagogiska guiden i två steg:

Följ alltså instruktionerna och glöm inte att öppna portarna i brandväggen. Jag har också lagt till följande kommandon i vsftpd.conf, enligt tips härifrån:

ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

Ärligt talat vet jag inte vad de inställningarna handlar om, men i vilket fall. I klienten väljer man protokollet FTPES eller FTP explicit mode eller något liknande.

Nå. Kör man dessutom dyndns är det några saker till man måste fixa. Nu har jag lärt mig att i en passiv ftp-överföring lämnar servern besked om vilket ip-nummer som klienten ska använda. Om servern finns bakom en brandvägg kommer den att uppge sitt interna ip-nummer och inte det externa vilket förstås inte fungerar om man är utanför brandväggen.

Därför lägger man till följande i vsftpd.conf:

pasv_address=<ditt domännamn>
pasv_addr_resolve=YES

Egentligen klarar pasv_address bara ip-nummer, men genom att slå på flaggan pasv_addr_resolve kan man i stället ange ett domännamn.

Vad jag förstår så är det en ganska ny möjlighet i vsftpd, och på nätet florerar massor av skript som ska uppdatera vsftpd.conf regelbundet med det nya ip-numret, men det behöver man alltså inte använda.

Visningar: 42

1 kommentar

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.