|
vsftpd za NAT-em
sparks - 04-12-2006 17:53
Witam. Mam następujący problem. Otóż na komputerze w sieci lokalnej mam serwer vsftpd, który ma porty 20 i 21 przekierowane na 8089 i 8090. Oczywiście potrafię się zalogować lokalnie, ale gdy próbuje wejść zewnątrz występują dziwne problemy. Mianowicie udaje mi się połączyć z serwerem ale gdy daję np. ls nieważne czy w trybie active czy passive wyrzuca "no route to host" Jakieś sugestie ?
Fragment mojego vsftpd.conf: listen=YES
pasv_enable=YES pasv_promiscuous=YES port_promiscuous=YES dirlist_enable=YES
Fragment sesji FTP: 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> passive Passive mode on. ftp> ls 227 Entering Passive Mode (192,168,0,239,83,242) ftp: connect: No route to host ftp>
Grabos - 04-12-2006 18:04
http://en.wikipedia.org/wiki/Ftp
Przeczytaj sobie overview to ci wszystko wyjaśni, jeśli to ci nie wystarczy mogę napisać więcej:)
sparks - 04-12-2006 20:28
No jak to czytam to wynika z tego że w trybie active powinno działać w trybie passive nie ma prawa bo serwer otwiera u siebie losowy port, a to nie przejdzie przez router. Za to na aktywnym powinno działać. Tylko skąd będzie klient wiedzieć na jakim porcie się skomunikować ? Jeśli się mylę to mnie popraw :)
To dlaczego to widzę w active:
200 PORT command successful. Consider using PASV.
W passive zawsze wybiera mi losowe porty, czyli do przewidzenia :( 227 Entering Passive Mode (192,168,0,239,174,196)
Grabos - 04-12-2006 22:14
Czyli jeśli host z którego się łączysz jest za firewallem też nie pójdzie bo klient wyśle lokalne ip chyba że używasz firewall który zmieni ip i port w pakiecie. No i chyba klient będzie starał dostać połączenie z portu 20 więc nie tędy droga. Otwierasz port 20 i przedział który twój serwer używa do otwierania tego losowego portu z reguły to około 1000 portów pewnie 8001-9000 jak znam życie i to powinno działać. Ogólnie się nie znam ale mam nadzieje że pomogłem :P
Na dole artykułu z wikipedi jest taki fajny link poczytaj może ci pomoże (mi sie nie chciało:) ) : P.S. Nie łatwiej z ssh;)
sparks - 05-12-2006 09:57
Otwierasz port 20 i przedział który twój serwer używa do otwierania tego losowego portu z reguły to około 1000 portów pewnie 8001-9000 jak znam życie i to powinno działać. Ogólnie się nie znam ale mam nadzieje że pomogłem :P
P.S. Nie łatwiej z ssh;)
Heh tego się właśnie obawiałem. Niestety otwarcie takiego przedziału portów w moim przypadku nie wchodzi w ogóle w grę... Trzeba będzie pozostać przy ssh i wykorzystać protokół http :)
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|