FTP klient za NAT

CrystalMeth

FTP klient za NAT
« kdy: 07. 02. 2011, 20:24:09 »
Ahoj.
Snažím se vyřešit následující problém. Potřebuju provést zálohu na vzdálený ftp server pomocí duplicity v OS Fedora. Při přenosu většího oběmu dat (řádově více než 100MB) dojde k přerušení spojení s následujícím chybovým hlášením:

Kód: [Vybrat]
Running 'ncftpput -f /tmp/duplicity-9weAVA-tempdir/mkstemp-IwTip8-1 -F -t 30 -o useCLNT=0,useHELP_SITE=0  -m -V -C '/tmp/duplicity-9weAVA-tempdir/mktemp-VFAlQ1-4' 'zaloha/duplicity-full.20110124T081641Z.vol2.difftar.gpg'' failed with code 3 (attempt #2)

Error is:
Could not read reply from control connection -- timed out.
ncftpput zaloha/duplicity-full.20110124T081641Z.vol2.difftar.gpg: timed out while waiting for server response.

Klientské PC ze kterého provádím zálohu je za NATem. Může mi prosím někdo poradit jak správné "forwardovat porty" či jiné řešení jak obejít NAT? Nebo je problém jinde?
Děkuji


ondra.novacisko.cz

Re: FTP klient za NAT
« Odpověď #1 kdy: 08. 02. 2011, 08:41:50 »
Nejsem si jist, jestli to bude zrovna tenhle případ, ale FTP za NATem je nutné provozovat v pasivním režimu, pak není potřeba žádný zásah do NATu, protože všechna spojení jsou vytvářena z klienta na server a ne obráceně, jak je to u běžného FTP.

Pajk

Re: FTP klient za NAT
« Odpověď #2 kdy: 08. 02. 2011, 08:53:48 »
Zdravím, spíš se domnívám, že na tom NATu neběží správně ftp connection tracking (víceméně nat plugin pro odposlouchávání provozu na řídícím spojení ftp, který dokáže správně v nat expiraci spárovat aktivní datové spojení s po dobu přenosu neaktivním řídícím spojením a tím zajistit jeho nevyexpirování). Prostě pokud je NATem linux, musí být nahrány moduly ip_conntrack_ftp a ip_nat_ftp, nouzově by to asi šlo řešit nastavením nat timeoutu pro tcp spojení na dobu vyšší než doba potřebná na ten jeden ftp přenos. Pasivní režim skutečně umožní navázat ftp spojení spoza NATu i v případě, že NAT nemá "algoritmickou" podporu protokolu ftp, ale při dlouhém přenosu nastane zmiňovaný problém timeoutu řídícího spojení (aktivní ftp bez té plné podpory nejde vůbec, přenos souborů nebo ani výpis obsahu adresáře se ani nerozjede).

CrystalMeth

Re: FTP klient za NAT
« Odpověď #3 kdy: 08. 02. 2011, 09:15:13 »
No "NATování" provádí D-Link DFL-200 a ne linux stanice. A tam si také myslím že je problém. Na D-linku jsem povolil snad už úplně všechno a stále přenos padá. FTP v pasivním režimu mám. Můžete mi konkrtétně poradit nastavení na klientské straně odkud provádím přenos? Máte s aplikací "duplicity" nějaké zkušenosti? Podle vypsané chyby používá nějaké ncftpput, které právě vyhazuje chybu:(
Jinak nastavení delšího keepalive u TCP jsem také zkoušel.

antaresin

Re: FTP klient za NAT
« Odpověď #4 kdy: 08. 02. 2011, 09:46:08 »
Šikovný prográmek je "weex" a ten tuším používá ftp přímo z jádra, ale není asi tak sofistikovaný jak potřebujete...
Když tak tento příspěvek ignorujte  ;)


CrystalMeth

Re: FTP klient za NAT
« Odpověď #5 kdy: 08. 02. 2011, 12:51:48 »
Už jsem to vyřešil. Problém byl ve špatné konfiguraci firewallu. Díky všem za ochotu.