FTP

Uit LinuxMintNL WiKi
Versie door Mogenblue (Overleg | bijdragen) op 14 apr 2021 om 09:33 (FTP cliënt)
Ga naar: navigatie, zoeken

File-sharing en synchronisatie met een FTP server in je thuisnetwerk.


Voor een thuisnetwerk kan een ftp server een goede oplossing zijn om bestanden te delen en te synchroniseren. Met een redelijke computer en router kun je gemakkelijk de maximale snelheid uit je ethernet kabel halen en dan kom je op ruim 115 MB/sec bij de overdracht van bestanden. Veel sneller als dat zal het niet worden op een 1Gb netwerk.

Er komt wel het een en ander bij kijken om je thuisnetwerk op te zetten en de juiste software te installeren. Daar is al veel over geschreven en daarom staan hier voornamelijk links om je daarmee verder te helpen.


Netwerk

Om te beginnen kan het wenselijk zijn om je netwerk met een draadloze router uit te breiden omdat er steeds meer apparaten bijkomen. Voor het uitbreiden van je netwerk is een switch het meest aangewezen apparaat qua kostprijs en eenvoud, maar voor draadloze apparaten of om het bereik van je draadloze netwerk uit te breiden heb je toch wel een router nodig. Op WikiHow[1] staat een heel goed artikel waarin stap voor stap wordt uitgelegd hoe je een router aan je netwerk moet toevoegen zodat de computers en mobiele apparatuur allemaal voor elkaar zichtbaar blijven.

De clou is dat je op de hulp router eerst de dhcp server uitschakelt en vervolgens niet de wan poort maar een lan poort gebruikt om naar de hoofd router te verbinden. Als je de dhcp server niet uitschakelt interfereert die met die van de hoofd router. Dan gaat je net op slot en kan je helemaal overnieuw beginnen.

FTP server

Er zijn verschillende ftp servers. In deze twee artikelen [2] [3] wordt de installatie besproken van vsFTP.

Je kunt de server overigens gewoon vanuit programmabeheer installeren.
Op mijn computer werkt de server in stand alone mode en dat gaat prima.

De configuratie gegevens voor de server staan in /etc/vsftpd.conf. Er is maar één waarde die je daarin hoeft te veranderen:

write_enable=YES

Daarmee sta je toe dat users bestanden kunnen uploaden en verwijderen.

Controleer voor de zekerheid of local users kunnen inloggen:

local_enable=YES

Firewall

Met een server alleen ben je er nog niet want je moet er ook voor zorgen dat de clients toegang hebben tot de computer waarop de ftp server draait. Dat betekent dat je de firewall moet aanpassen. Een heel handig hulpmiddel hiervoor is UFW [4]
Voor ftp zou je de poorten 20 en 21 kunnen openzetten. In mijn eigen ervaring vind ik het beter werken om specifieke ip adressen toegang te geven tot de server. Dat betekent dan wel dat je statische ip adressen in je netwerk moet hebben. Dat configureer ik allemaal in de router samen met IP&MAC binding voor extra veiligheid. Met UFW is het heel eenvoudig om individuele ip adressen van de lokale apparatuur toegang te geven tot de server. Je kunt op de server een client met adres 192.168.1.183 toegang geven via de regel

sudo ufw allow from 192.168.1.183

Meer is het niet.

Je kunt het aantal pogingen beperken waarmee een ip-adres een nieuwe verbinding tot stand probeert te brengen. Als een ip-adres meer dan 10 keer in 30 seconden probeert te verbinden zullen alle volgende pogingen worden genegeerd. Dit doe je door de volgende regel toe te voegen aan de firewall:

sudo ufw limit ftp

Dit verbetert de beveiliging van de server.

FTP cliënt

Als dat allemaal werkt kun je verbinding maken met de server met een ftp cliënt zoals het welbekende Filezilla. Je kunt de server ook gewoon vanuit je bestandsbeheerder benaderen [5] Vanaf een smartphone of tablet vind ik CX Explorer een heel goede app om met de ftp server te verbinden.

Om verbindig te maken met de ftp server heb je drie gegevens nodig:

  1. het ip-adres van de server
  2. je username
  3. het wachtwoord waarmee je inlogt

Dat is alles wat je nodig hebt voor handmatig verbinden en bladeren op je thuis server.
Via ftp is de gegevensoverdracht niet versleuteld, maar zolang je binnen je thuisnetwerk blijft maakt dat weinig uit.

Draadloze overdracht via wifi is standaard versleuteld via het wifi protocol. Voor mobiele apparaten kan het niet versleutelen een snelheidsvoordeel opleveren ten opzichte van sftp wat wel versleuteld is. Met wifi kom je doorgaans niet hoger dan 433 MHz op de 5GHz band. Dat vertaald zich in ongeveer 40MB/s maar afhankelijk van het apparaat kunnen de prestaties ook een stuk lager zijn. Een uitgebreid artikel hierover is te vinden op hardware.info: Bijdehand bereik: wifi-prestaties van 80 smartphones getest

FTP cliënt scripting

Voor het automatisch uploaden, downloaden of synchroniseren van hele mappen heb je een ander programma nodig. Daarvoor komt LFTP om de hoek kijken. Hiermee kun je scripts maken om met een ftp server te synchroniseren. [6] [7] Met dit programma geef je aan je ftp netwerk een flinke powerboost.

Deze programma's kunnen allemaal gewoon vanuit het programmabeheer worden geïnstalleerd. Daar heb je dus geen sudo apt-get meer voor nodig.

Referenties

  1. How to Cascade Routers
  2. How To Set Up Your FTP Server In Linux
  3. How to setup and use FTP Server in Ubuntu Linux
  4. How To Setup a Firewall with UFW on an Ubuntu and Debian Cloud Server
  5. Access FTP server using the Nemo File Manager in Linux Mint
  6. How to automatically sync the contents of a local folder with the contents of a ftp folder?
  7. LFTP - sophisticated file transfer program