Windows Tips & News

Ret FTP-adgang fra Linux-klient-pc med firewall aktiveret

I dag vil jeg gerne dele min personlige erfaring med FTP-adgang i Linux. Takket være de nye styresystemer fra Microsoft, som jeg ikke finder egnede til daglig brug, skiftede jeg til Linux for nogle år siden. Jeg kører en FTP-server i mit hjemmenetværk, og jeg kunne ikke få adgang til den fra min klient-pc, der kører Linux som har firewall-regler til at blokere indgående forbindelser, dvs. INPUT-politikken er sat til REJECT i iptables. Her er hvordan jeg løste problemet.

Jeg antager, at OUTPUT-politikken er ACCEPT på både klient- og servermaskiner.

FTP-serversoftwaren skal have porte åbne på klient-pc'en for at etablere en passiv forbindelse. I mit tilfælde var alle porte lukket undtagen de porte, der eksplicit blev åbnet for software, der har brug for indgående forbindelser som min torrent-klient, UPnP-medieserver og så videre. Problemet er, at du ikke kan forudsige, hvilken port nøjagtigt vil blive brugt til at oprette forbindelse til din klientmaskine. Det er en tilfældig port, hver gang du udfører forbindelsen. Jeg opdagede to løsninger.

Løsning #1. Brug kernemodulet nf_conntrack_ftp
Kernemodulet nf_conntrack_ftp giver dig mulighed for automatisk at fjerne blokeringen af ​​adgangen til den nødvendige port til FTP-serveren, hver gang du opretter en forbindelse. Det eneste krav til dette modul er følgende linje i dine iptables-regler (normalt er det /etc/iptables/iptables.rules) på klient-pc'en:

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

Der er eth0 er dit netværksenhedsnavn.

Dernæst skal du indlæse nf_conntrack_ftp, hvis den ikke er indlæst. Kør følgende kommando som root på klient-pc'en

# modprobe nf_conntrack_ftp

Hvis din server bruger en ikke-standardport (andre end port 21), så brug følgende kommando:

# modprobe nf_conntrack_ftp ports=din_port

Dette vil give en automatisk forbindelse med alle nødvendige porte mellem FTP-serveren og din klientsoftware. Dette virker, indtil du genstarter din pc.

For at gøre denne ændring permanent, skal du oprette en ny tekstfil, /etc/modules-load.d/conntrack_ftp.conf, og tilføje følgende linje til denne fil:

nf_conntrack_ftp

I tilfælde af ikke-standard serverport, skal du oprette en ekstra fil, /etc/modprobe.d/conntrack_ftp.conf med følgende indhold:

muligheder nf_conntrack_ftp ports=

Dette burde være nok.

Løsning #2. Brug et fast passivt portområde
Hvis du ikke kan bruge modulet nf_conntrack_ftp, kan du indstille et fast portområde for FTP-serversoftware og åbne det på klient-pc'en. For eksempel, her er, hvordan det kan gøres for vsftpd-appen.

  1. Tilføj følgende linjer i konfigurationsfilen for vsftpd, som normalt er /etc/vsftpd.conf:
    pasv_min_port=5500. pasv_max_port=6500

    Dette skal gøres på serversiden. Derefter skal du genstarte vsftpd.

  2. Tilføj følgende regel i dine iptables-regler (normalt er det /etc/iptables/iptables.rules) på klient-pc'en:
     $IPT -A INPUT -p tcp -s  --dport 5500:6500 -j ACCEPT
  3. Anvend iptables regler som følger:
    # iptables-restore < /etc/iptables/iptables.rules

Det er det.

Skift markørtykkelse i Windows 10

Skift markørtykkelse i Windows 10

Når du begynder at skrive noget tekst i Notesblok, Word eller i en anden teksteditor, bliver din ...

Læs mere

Aktiver eller deaktiver Untrusted Font Blocking i Windows 10

Aktiver eller deaktiver Untrusted Font Blocking i Windows 10

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneSådan aktiverer e...

Læs mere

Skjul en skrifttype baseret på sprogindstillinger i Windows 10

Skjul en skrifttype baseret på sprogindstillinger i Windows 10

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneI denne artikel v...

Læs mere