Portál AbcLinuxu, 1. července 2025 12:52
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 onPokud je za NATem:
PassivePorts 30000 50000 #rozsah pasivních portů MasqueradeAddress 1.2.3.4 #ostrá (venkovní) IP adresa routeru, kde se NATujeNastavení serveru pure-ftpd:
AllowUserFXP yesPokud je za NATem:
PassivePortRange 30000 50000 ForcePassiveIP 1.2.3.4Nastavení 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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.