🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.bsd
Article #20539

Re: ftp-proxy

#20539
From: Tomasz Sowa
Date: Sat, 18 Oct 2008 11:24
54 lines
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-mail
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>

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