Windows Tips & News

Fixa FTP-åtkomst från Linux-klientdator med brandvägg aktiverad

click fraud protection

Idag skulle jag vilja dela med mig av min personliga erfarenhet av FTP-åtkomst i Linux. Tack vare de nya operativsystemen från Microsoft, som jag inte finner lämpliga för dagligt bruk, bytte jag till Linux för några år sedan. Jag kör en FTP-server i mitt hemnätverk och jag kunde inte komma åt den från min klientdator som körs Linux som har brandväggsregler för att blockera inkommande anslutningar, dvs. INPUT-policyn är inställd på REJECT i iptables. Så här fixade jag problemet.

Jag antar att OUTPUT-policyn är ACCEPT på både klient- och serverdatorer.

FTP-serverns programvara måste ha portar öppna på klientdatorn för att upprätta en passiv anslutning. I mitt fall stängdes alla portar utom de portar som explicit öppnades för programvara som behöver inkommande anslutningar som min torrentklient, UPnP mediaserver och så vidare. Problemet är att du inte kan förutsäga exakt vilken port som kommer att användas för att ansluta till din klientdator. Det är en slumpmässig port varje gång du utför anslutningen. Jag upptäckte två lösningar.

Lösning #1. Använd kärnmodulen nf_conntrack_ftp
Kärnmodulen nf_conntrack_ftp låter dig avblockera åtkomst till den port som krävs för FTP-servern automatiskt varje gång du gör en anslutning. Det enda kravet för denna modul är följande rad i dina iptables-regler (vanligtvis är det /etc/iptables/iptables.rules) på klientdatorn:

$IPT -A INPUT -i eth0 -m state --state RELATED, ETABLISHED -j ACCEPT

Det finns eth0 är ditt nätverksenhetsnamn.

Därefter måste du ladda nf_conntrack_ftp om den inte är laddad. Kör följande kommando som root på klientdatorn

# modprobe nf_conntrack_ftp

Om din server använder någon icke-standardport (annan än port 21), använd då följande kommando:

# modprobe nf_conntrack_ftp ports=din_port

Detta ger en automatisk anslutning med alla nödvändiga portar mellan FTP-servern och din klientprogramvara. Detta fungerar tills du startar om din dator.

För att göra denna ändring permanent måste du skapa en ny textfil, /etc/modules-load.d/conntrack_ftp.conf, och lägga till följande rad i den här filen:

nf_conntrack_ftp

I händelse av icke-standardserverport måste du skapa en ytterligare fil, /etc/modprobe.d/conntrack_ftp.conf med följande innehåll:

alternativ nf_conntrack_ftp ports=

Detta borde räcka.

Lösning #2. Använd ett fast intervall för passiva portar
Om du inte kan använda modulen nf_conntrack_ftp kan du ställa in ett fast portintervall för FTP-serverprogramvara och öppna den på klientdatorn. Till exempel, här är hur det kan göras för vsftpd-appen.

  1. I konfigurationsfilen för vsftpd, som vanligtvis är /etc/vsftpd.conf, lägg till följande rader:
    pasv_min_port=5500. pasv_max_port=6500

    Detta bör göras på serversidan. Efter det bör du starta om vsftpd.

  2. I dina iptables-regler (vanligtvis är det /etc/iptables/iptables.rules) på klientdatorn, lägg till följande regel:
     $IPT -A INPUT -p tcp -s  --dport 5500:6500 -j ACCEPTERA
  3. Tillämpa iptables regler enligt följande:
    # iptables-restore < /etc/iptables/iptables.rules

Det är allt.

Ladda ner Windows 10 21H1 ISO-fil direkt utan verktyg för att skapa media

Ladda ner Windows 10 21H1 ISO-fil direkt utan verktyg för att skapa media

Microsoft släppte uppdateringen i maj 2021, och du kan nu ladda ner Windows 10 21H1 ISO-fil direk...

Läs mer

Microsoft planerar att introducera nya webbkameror i vår

Microsoft planerar att introducera nya webbkameror i vår

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaEnligt ...

Läs mer

Windows 10 nya butiksapp Arkiv

Denna webbplats använder cookies för att förbättra din upplevelse när du navigerar genom webbplat...

Läs mer