Article View: pl.comp.os.bsd
Article #20539Re: ftp-proxy
From: Tomasz Sowa
Date: Sat, 18 Oct 2008 11:24
Date: Sat, 18 Oct 2008 11:24
54 lines
3622 bytes
3622 bytes
Dnia Fri, 17 Oct 2008 06:33:44 -0700 (PDT), 8macius7@gmail.com napisał(a): > Dalej nie wiem jak chcesz to zrobic. Przeciez czlowieczek laczacy sie > zza nata przekierowywany jest na 127.0.0.1 (ftp-proxy). Nastepnie ftp- > proxy negocjuje polaczenie i dodaje do kotwicy regule, ktora umozliwia > polaczenie z serverem? A widzisz i tu mnie masz. Nie pomyślałem o tym. Rozwiązaniem tego mogłoby być użycie kilku instancji ftp-proxy, każda instancja pracująca na innym użytkowniku i na innym porcie i obsługująca tylko jedno ip z sieci lokalnej. Wtedy w pf robisz redirect dla kazdego ip na inna instancje ftp-proxy, np: rdr on $int_if proto tcp from 192.168.1.10 to any port 21 -> 127.0.0.1 port 8021 rdr on $int_if proto tcp from 192.168.1.11 to any port 21 -> 127.0.0.1 port 8022 [...] Ftp-proxy uruchamiasz na różnych użytkownikach, np: user1, user2 itp. W pf.conf nie używasz anchorów tylko dodajesz stałe reguły filtrowania w których używasz parametru 'user user1', 'user user2' itp., do tych reguł oczywiście dodajesz kolejki takie jakie chcesz i problem uploadu powinien byc rozwiazany. Do kolejek downloadowych to wrzucasz przy pomocy pass in quick on $int_if inet proto tcp from 192.168.1.10 to any port 21 keep-state queue kolejka1 (zauwaz ze rdr nie mają quick i dzieki keep-state tutaj powrotny ruch wpadnie do kolejki) albo przy pomocy parametru -q dla ftp-proxy. Problemem jest tylko uruchomienie ftp-proxy na dowolnym użytkowniku, gdyż domyślnie ftp-proxy zrzuci przywileje na rzecz użytkownika 'proxy'. Pozwoliłem sobie zrobić małego patcha: http://slimaczek.pl/tmp/ftp-proxy.multiuser.path Po zbudowaniu ftp-proxy dostaniesz dodatkowy parametr: -u user Przykładowo: # cd /usr/obj/usr/src/usr.sbin/ftp-proxy/ftp-proxy # ./ftp-proxy -u tomek -p 8021 # ./ftp-proxy -u game -p 8022 procesy ftp-proxy zostały uruchomione na różnych użytkownikach # ps -aux | grep ftp-proxy tomek 3504 0.0 0.0 4600 1124 ?? Ss 11:08AM 0:00.00 ./ftp-proxy -u tomek -p 8021 game 3516 0.0 0.0 4600 1124 ?? Ss 11:09AM 0:00.00 ./ftp-proxy -u game -p 8022 i grzecznie nasłuchują: # sockstat -4 | grep ftp-proxy game ftp-proxy 3516 3 tcp4 127.0.0.1:8022 *:* tomek ftp-proxy 3504 3 tcp4 127.0.0.1:8021 *:* Czy całość jednak zadziała to nie mam w tej chwili jak sprawdzić, gdybyś miał problemy to daj znać. -- Tomek
Technical Details
Message-ID:
<14i300yktdgzg$.dlg@torpi.slimaczek.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<43676984-d5aa-4ad2-82ac-84cca45b5f90@64g2000hsm.googlegroups.com> <7kud6lmafgko.dlg@torpi.slimaczek.pl> <91953cdd-faf5-428b-a57d-ac77a51e01b6@m36g2000hse.googlegroups.com> <h4s7zkdrggaa$.dlg@torpi.slimaczek.pl> <8f616625-f5db-4370-b045-f73b536fecaa@l76g2000hse.googlegroups.com> <vsc1k4k4nvr1$.dlg@torpi.slimaczek.pl> <f4bce645-7f2c-4be6-86b5-5c43b22ceb31@34g2000hsh.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Tomasz Sowa <tomcio@slimaczek.BEZSPAMOWY.pl> Newsgroups: pl.comp.os.bsd Subject: Re: ftp-proxy Date: Sat, 18 Oct 2008 13:24:15 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 66 Message-ID: <14i300yktdgzg$.dlg@torpi.slimaczek.pl> References: <43676984-d5aa-4ad2-82ac-84cca45b5f90@64g2000hsm.googlegroups.com> <7kud6lmafgko.dlg@torpi.slimaczek.pl> <91953cdd-faf5-428b-a57d-ac77a51e01b6@m36g2000hse.googlegroups.com> <h4s7zkdrggaa$.dlg@torpi.slimaczek.pl> <8f616625-f5db-4370-b045-f73b536fecaa@l76g2000hse.googlegroups.com> <vsc1k4k4nvr1$.dlg@torpi.slimaczek.pl> <f4bce645-7f2c-4be6-86b5-5c43b22ceb31@34g2000hsh.googlegroups.com> Reply-To: tomcio@slimaczek.BEZSPAMOWY.pl NNTP-Posting-Host: dynamic-78-8-135-41.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1224329057 25414 78.8.135.41 (18 Oct 2008 11:24:17 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sat, 18 Oct 2008 11:24:17 +0000 (UTC) X-User: chlopaczek25 User-Agent: 40tude_Dialog/2.0.15.1pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit