Zvláštní chování vsftpd - asi jsem jediný, komu to takto (ne)funguje.
Mám na xubuntu ftp server za routerem.
Přihlašování přes jméno a heslo, implicitní SSL, pasívní přenos, ctrl port 990, data port 19900 až 19999 (nastaven NAT na routeru,
a v konfigu
pasv_min_port=19900
pasv_max_port=19999
pasv_promiscuous=YES
pasv_address=88.102.xxx.xxx
)
Když se klient (fillezila) připojí zvenku, tak oznámí, že IP 192.168.248.200 asi není to pravé ořechové a a že tedy použije adresu serveru (veřejnou IP).
Jak řekne, tak učiní, spojení se naváže a všechno funguje jak má.
Jenže někteří FTP klientové tak inteligentní nejsou a pro ně jsem do konfigu napsal pasv_address=88.102.xxx.xxx (moje veřejná IP, ty x jsou pochopitelně čísla).
A ejhle. Po druhém PASV spojení okamžitě padne.
Takto:
13:00:12 Stav: Přijímám výpis složky...
13:00:12 Příkaz: CWD files
13:00:12 Odpověď: 250 Directory successfully changed.
13:00:12 Příkaz: PWD
13:00:12 Odpověď: 257 "/files"
13:00:12 Příkaz: TYPE I
13:00:12 Odpověď: 200 Switching to Binary mode.
13:00:12 Příkaz: PASV
13:00:12 Chyba: Odpojen od serveru: ECONNABORTED - Connection aborted
13:00:12 Chyba: Nelze získat výpis složky
Dokonce, když tam napíšu lokální adresu toho serveru, tedy 192.168.248.200, tak to také nechodí stejným způsobem, ačkoliv podle mého selského rozumu by se to mělo chovat, jako by tam ten pasv_address nebyl vůbec. Ani na lokální síti to v tomto případě nechodí!
Jakoby ten pasv_address posílal nějakou totálně zmršenou IP.
......?