Portál AbcLinuxu, 1. července 2025 12:52

FXP (Site-to-Site) přenosy na Linuxu

19.7.2006 17:25 | Přečteno: 1822× | Linux | poslední úprava: 20.7.2006 08:15

FXP přenos je způsob přenosu dat přímo mezi dvěmi FTP servery bez toho, aby data tekla přes mnohdy pomalou linku klienta.

Asi nejznámějším a možná nejpoužívanějším FXP klientem je FlashFXP pro Windows. Tento klient je bohužel také zastaralý, neboť nepodporuje např. příkazy EPSV a EPRT (RFC 2428), sloužící k obcházení NATu, nachází-li se FTP server za. Dalším FXP klientem, který již rozšírené funkce podporuje je SmartFTP opět pro Windows. Linuxový klient je například gFTP, kasablanca, nebo komerční IglooFTP-Pro.

Drobná poznámka: Ve Windows XP se zapnutou microsoftí parodií na firewall a aplikací FlashFXP v seznamu povolených aplikací FXP přenos nefunguje. Po vypnutí microsoftího firewallu FXP klient funguje jak má. Nezkoumal jsem to hlouběji.

Výchozí nastavení většiny Linuxových FTP serverů je, že FXP neumožňují z důvodu zneužitelnosti (ftp-bounce útoky). Pokud ale chceme umožnit přenosy FXP neboli site-to-site, je třeba tuto vlastnost povolit. Bude-li navíc FTP server za NATem, bude třeba rovněž nastavit vhodná pravidla na stroji, kde překlad adres probíhá.

Nastavení serveru proftpd:

AllowForeignAddress   on
Pokud je za NATem:
PassivePorts          30000 50000  #rozsah pasivních portů
MasqueradeAddress     1.2.3.4      #ostrá (venkovní) IP adresa routeru, kde se NATuje
Nastavení serveru pure-ftpd:
AllowUserFXP          yes
Pokud je za NATem:
PassivePortRange          30000 50000
ForcePassiveIP            1.2.3.4

Nastavení routeru (iptables firewall), který provádí překlad adres (NAT) pro FTP server:

FTP_SRV=10.1.1.1  #privátní adresa FTP serveru v LAN
INET_IP=1.2.3.4   #ostrá (venkovní) adresa routeru

modprobe ip_conntrack_ftp #nutné pro FTP
modprobe ip_nat_ftp #nutné pro aktivní FTP

iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport 21 -j DNAT --to $FTP_SRV:21  #FTP
iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport 20 -j DNAT --to $FTP_SRV:20  #FTP-DATA (aktivní FTP)
iptables -t nat -A PREROUTING -p tcp -d $INET_IP --dport 30000:50000 -j DNAT --to-destination $FTP_SRV  (Povolení zvolených pasivních portů kvůli FXP)

Doufám, že tento návod někomu pomůže.

       

Hodnocení: 94 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

19.7.2006 20:24 disorder | blog: weblog
Rozbalit Rozbalit vše Re: FXP (Site-to-Site) přenosy na Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
v linuxe to zvlada aj midnight commander
Luboš Doležel (Doli) avatar 19.7.2006 20:37 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: FXP (Site-to-Site) přenosy na Linuxu
Odpovědět | Sbalit | Link | Blokovat | Admin
Trochu mi není jasný ten DNAT toho ftp-data. Při aktivním režimu přenosu se přece připojuje server ke klientovi, ne naopak.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.