Windows Tips & News

Opravte přístup FTP z klientského počítače se systémem Linux s povoleným firewallem

click fraud protection

Dnes bych se rád podělil o svou osobní zkušenost s FTP přístupem v Linuxu. Díky novým operačním systémům od Microsoftu, které mi nepřijdou vhodné pro každodenní používání, jsem před pár lety přešel na Linux. Provozuji FTP server ve své domácí síti a nebyl jsem schopen k němu přistupovat ze spuštěného klientského počítače Linux, který má pravidla brány firewall pro blokování příchozích připojení, tj. zásada INPUT je nastavena na REJECT in iptables. Zde je návod, jak jsem problém vyřešil.

Předpokládám, že OUTPUT policy je ACCEPT na klientských i serverových počítačích.

Software FTP serveru musí mít na klientském počítači otevřené porty, aby bylo možné navázat pasivní připojení. V mém případě byly všechny porty uzavřeny kromě těch, které byly explicitně otevřeny pro software, který potřebuje příchozí připojení, jako je můj torrent klient, mediální server UPnP a tak dále. Problém je v tom, že nemůžete předvídat, který port přesně bude použit pro připojení k vašemu klientskému počítači. Je to náhodný port při každém připojení. Objevil jsem dvě řešení.

Řešení #1. Použijte modul jádra nf_conntrack_ftp
Modul jádra nf_conntrack_ftp umožňuje automaticky odblokovat přístup k požadovanému portu pro FTP server při každém připojení. Jediným požadavkem pro tento modul je následující řádek ve vašich pravidlech iptables (obvykle je to /etc/iptables/iptables.rules) na klientském počítači:

$IPT -A INPUT -i eth0 -m stav --stav SOUVISEJÍCÍ, STANOVENÝ -j PŘIJÍMÁM

Existuje eth0 je název vašeho síťového zařízení.

Dále musíte načíst soubor nf_conntrack_ftp, pokud není načten. Spusťte následující příkaz jako root na klientském počítači

# modprobe nf_conntrack_ftp

Pokud váš server používá nějaký jiný než výchozí port (jiný než port 21), použijte následující příkaz:

# modprobe nf_conntrack_ftp ports=váš_port

To zajistí automatické spojení se všemi požadovanými porty mezi FTP serverem a vaším klientským softwarem. Toto funguje, dokud nerestartujete PC.

Aby byla tato změna trvalá, musíte vytvořit nový textový soubor /etc/modules-load.d/conntrack_ftp.conf a přidat do tohoto souboru následující řádek:

nf_conntrack_ftp

V případě jiného než výchozího portu serveru musíte vytvořit další soubor /etc/modprobe.d/conntrack_ftp.conf s následujícím obsahem:

možnosti nf_conntrack_ftp ports=

Tohle by mělo stačit.

Řešení #2. Použijte pevný rozsah pasivních portů
Pokud nemůžete použít modul nf_conntrack_ftp, můžete nastavit pevný rozsah portů pro software FTP serveru a otevřít jej na klientském PC. Zde je například uvedeno, jak to lze provést pro aplikaci vsftpd.

  1. Do konfiguračního souboru vsftpd, který je obvykle /etc/vsftpd.conf, přidejte následující řádky:
    pasv_min_port=5500. pasv_max_port=6500

    To by mělo být provedeno na straně serveru. Poté byste měli restartovat vsftpd.

  2. Do vašich pravidel iptables (obvykle je to /etc/iptables/iptables.rules) na klientském počítači přidejte následující pravidlo:
     $IPT -A INPUT -p tcp -s  --dport 5500:6500 -j PŘIJMOUT
  3. Pravidla iptables použijte následovně:
    # iptables-restore < /etc/iptables/iptables.rules

A je to.

Co je aplikace ntrights a jak ji můžete používat

Tento web používá soubory cookie ke zlepšení vašeho zážitku při procházení webem. Z těchto soubor...

Přečtěte si více

Zakažte vypnutí, restart, spánek a hibernaci ve Windows 10

Zakažte vypnutí, restart, spánek a hibernaci ve Windows 10

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuW...

Přečtěte si více

Povolit nebo zakázat uživatelům nebo skupinám vypnout Windows 10

Povolit nebo zakázat uživatelům nebo skupinám vypnout Windows 10

Když kliknete na příkaz vypnout nebo restartovat v nabídce Start nebo Win + X systému Windows 10,...

Přečtěte si více