FTP - Mer än en server på en router

Permalänk
Medlem

FTP - Mer än en server på en router

Hej,

Vilka portar används av FTP? Kan man köra mer än en på en router (flera datorer)?

Har hört att port 20 måste användas och att det därför är omöjligt att ha flera stycken och sen port forwarda alla, stämmer det?

Tack!

Permalänk
Medlem
Skrivet av K3PaZe:

Hej,

Vilka portar används av FTP? Kan man köra mer än en på en router (flera datorer)?

Har hört att port 20 måste användas och att det därför är omöjligt att ha flera stycken och sen port forwarda alla, stämmer det?

Tack!

Jag citerar:

Skrivet av Aphex:

Det är ETT HELVETE att köra ftp bakom en "router" (NAT).

Nu när vi har det klart för oss så,
en ftp-server använder port 21 för inkommande anslutningar.
vid aktiva filöverföringar (fillistningar inkluderade) görs en anslutning FRÅN port 20* på ftp-servern TILL vilken port som helst hos klienten. (klienten berättar för servern vilken som skall användas)
Detta läge fungerar oftast problemfritt så länge klienten inte också sitter bakom en NAT, då måste han använda passiv filöverföring,
Vilket innebär att servern berättar vilket ip:port som filöverföring skall ske på, varefter klienten ansluter dit. Sitter servern bakom en NAT går detta åt helvete eftersom den (1) tror att dess ip är 192.168.0.2 (2) porten den försöker använda är inte forwardad från routern.
Passiv överföring är vad som används default av många ftp-klienter och webläsare.

Du behöver alltså en ftp-server som kan ta hänsyn till att den befinner sig bakom en NAT, och själv ta reda på vilket dens yttre ip är, samt kunna begränsa sig till ett visst portintervall för passiv överföring, så att du kan forwarda dessa i routern. i normalfallet förväntar sig nämligen servern att den kan använda vilken port som helst mellan 1024-65535.

* egentligen ftp-port minus ett, dvs 21-1=20. kör du ftpn på port 4000 skall dataanslutningen alltså komma från port 3999. spelar inte så stor roll för oss, men det är viktigt att veta när man konfigurerar brandväggar.

På alla FTP servrar jag känner till kan du själv välja port-spann.

Visa signatur

Z170-WS | Intel 6700K | Dominator 2x16GB 3000MHz | Samsung 950 Pro 2x512GB NVMe RAID0 | MSI 1080 Gaming X | Seasonic 520 Fanless | 7260 HMV-AC | Fractal Design Define R4 | Noctua NH-U12S@475RPM | Noctua P12@475RPM x5
Supermicro X10SLL-F | Supermicro 1U SC813MT-300C | XEON E3 1231v3 | Hynix 4x8GB ECC | 840 EVO | WD 6x 4TB RE
x220 | IPS | i7 | SSD | 9-cell

Permalänk
Medlem
Skrivet av ggwp:

Jag citerar:
På alla FTP servrar jag känner till kan du själv välja port-spann.

Så om jag ställer in porten på tex 1502 så portforwardar jag 1502 & 1501?

Är det så enkelt? Passiv anslutning såklart.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av K3PaZe:

Så om jag ställer in porten på tex 1502 så portforwardar jag 1502 & 1501?

Är det så enkelt? Passiv anslutning såklart.

Skickades från m.sweclockers.com

Mer eller mindre ska det vara så. Jag vet sist jag ställde in en ftp i windows server 2012 på detta sätt så hade jag stora svårigheter iaf. Till slut defaultade jag tillbaka till 21/20.

Någon mer erfaren med ftp kanske kan svara. Mest lär du dig kanske om du laborerar själv?

Eller fundera på att använda rsync (över ssh), som i min mening har många fördelar mot ftp:
smidigt, scriptvänligt, funkar utmärkt i bash och säkerhet såklart.

Visa signatur

Z170-WS | Intel 6700K | Dominator 2x16GB 3000MHz | Samsung 950 Pro 2x512GB NVMe RAID0 | MSI 1080 Gaming X | Seasonic 520 Fanless | 7260 HMV-AC | Fractal Design Define R4 | Noctua NH-U12S@475RPM | Noctua P12@475RPM x5
Supermicro X10SLL-F | Supermicro 1U SC813MT-300C | XEON E3 1231v3 | Hynix 4x8GB ECC | 840 EVO | WD 6x 4TB RE
x220 | IPS | i7 | SSD | 9-cell

Permalänk
Medlem
Skrivet av K3PaZe:

Så om jag ställer in porten på tex 1502 så portforwardar jag 1502 & 1501?

Är det så enkelt? Passiv anslutning såklart.

Skickades från m.sweclockers.com

Ska du köra passiv så måste du även forwarda en passive port range för datatransfers, även denna range bör gå att konfigurera i din server.

Permalänk
Medlem

Jag tror man bara får akta sig och inte använda portar som befintliga program o.s.v. använder.
Finns en lista på Wikipedia.

Permalänk
Medlem

Har du möjlighet, använd SFTP istället. Den använder SSH-porten (22), men du kan ju självklart ändra den.

Visa signatur

AMD Ryzen 7 5700X, ASUS ROG Crosshair VIII Dark Hero, 32GB Corsair Vengeance LP 3200MHz, Gigabyte Radeon RX 5600 XT, Fractal Design Define C, Sesonic FOCUS PX 650W.

Permalänk
Medlem

Ska du använda det internt kan alla ha samma port. Ska du öppna portar för trafik utanför nätverket så behöver du bara ha olika portar öppna som pekar mot varje servers egna IP med intern port 20.

Permalänk
Medlem
Skrivet av saturday_sun:

Har du möjlighet, använd SFTP istället. Den använder SSH-porten (22), men du kan ju självklart ändra den.

Och dessutom blir din trafik krypterad vilket alltid är trevligt.

Permalänk
Medlem

Tack! Ska kolla lite vilken FTP server den mjukvara jag ska använda mig utav använder, pufferpanel.com.

Jag har bara 4/5 ip adresser och ska köra flera datorer (runt fem stycken), därför måste jag köra NAT. Och det är därför allting strular.

Skickades från m.sweclockers.com

Permalänk
Hedersmedlem

Du bör ställa in servern så att klienter ansluter till den istället för tvärt om. Detta ska du göra för att underlätta för klienter som sitter bakom en NAT, vilket de allra flesta gör.

Man brukar behöva ange följande.
Anslutningsport (21), Externt IP samt en portrange för dataanslutningar. Du forwardar både anslutningsporten och dataportarna till din server.

Via port 21 kommer klienten att ansluta till servern och skicka kommandon som FTP-servern kör. De flesta kommandon resulterar i att någon form av data ska skickas också om det så bara är en directory listning. När data behöver skickas kommer servern att säga till klienten att ansluta på en av dataportarna på det externa IP du satt och överföringen använder sedan den kanalen. Antalet data-portar begränsar hur många användare som kan ansluta till din server eftersom varje användare behöver ha tillgång till minst en dataport. Vissa FTP-servrar kan hantera flera dataöverföringar parallellt. Detta brukar gå att ställa in.

Edit: Den långa uttömmande förklaringen: http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html
Själv har jag aldrig förstått vad port 20 har för funktion. Jag har aldrig forwardat den.
Edit2: Läste på sidan att port 20 är ett gammalt alternativ till dataport som har flera nackdelar och därför vanligtvis inte används av moderna FTP-servrar.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem
Skrivet av giplet:

Du bör ställa in servern så att klienter ansluter till den istället för tvärt om. Detta ska du göra för att underlätta för klienter som sitter bakom en NAT, vilket de allra flesta gör.

Man brukar behöva ange följande.
Anslutningsport (21), Externt IP samt en portrange för dataanslutningar. Du forwardar både anslutningsporten och dataportarna till din server.

Via port 21 kommer klienten att ansluta till servern och skicka kommandon som FTP-servern kör. De flesta kommandon resulterar i att någon form av data ska skickas också om det så bara är en directory listning. När data behöver skickas kommer servern att säga till klienten att ansluta på en av dataportarna på det externa IP du satt och överföringen använder sedan den kanalen. Antalet data-portar begränsar hur många användare som kan ansluta till din server eftersom varje användare behöver ha tillgång till minst en dataport. Vissa FTP-servrar kan hantera flera dataöverföringar parallellt. Detta brukar gå att ställa in.

Edit: Den långa uttömmande förklaringen: http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html
Själv har jag aldrig förstått vad port 20 har för funktion. Jag har aldrig forwardat den.

Anledning varför jag kör NAT är för att kunna ha mer FTP servrar än jag har IP adresser. Dvs, servrarna kommer inte köra på port 21.

Permalänk
Hedersmedlem
Skrivet av K3PaZe:

Anledning varför jag kör NAT är för att kunna ha mer FTP servrar än jag har IP adresser. Dvs, servrarna kommer inte köra på port 21.

Jag skulle tro att varje server behöver använda en unik port. Men det spelar ingen roll, du kan antingen ange vilken port servern ska lyssna på i serverprogramvaran, eller kan du helt enkelt forwarda olika portar in till andra portar på dina servrar, dvs port 2021 är forwardad till port 21 på server A, port 2121 till port 21 på server B osv.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Hedersmedlem

Vilken server kör du och vad har du för router?

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem
Skrivet av giplet:

Vilken server kör du och vad har du för router?

Har tre HP ProLiants och ska bygga tre stycken till (i tower chassin, inte proliant). Routern är en D-Link DIR-868L (eller någon annan, iallafall den serien).