LINUX.ORG.RU

Принудительное проксирование FTP


0

0

По мотивам недавних изысканий написал небольшую статью, как сделать принудительное проксирвание FTP-соединений с помощью пакетов FROX и SQUID для Linux и FreeBSD. Полезная вещь для корпоративных сетей с интенсивным трафиком.

>>> Статья

anonymous

Проверено: green

вопрос к тем кто ковырялся .. а будет ли работать при этом ограничение скорости скачивания выставленное по IP в SQUID?

anonymous
()

И еще вопрос: а как заставить работать frox если SQUID авторизуется через winbindd ?

anonymous
()


Хитрый юзер и по icq может гиг выкачать ;)
А прокси в любом виде - это только зло. Я обслуживал контору,
занимающуюся веб-разработками. Так там за кеширование яйца
оторвут, а за срезание баннеров вообще четвертуют.

anonymous
()

Не понял ?

Что это за фтп сервер где нельзя скрости нарезать ?

anonymous
()

если точнее - принудительное проксирование port:21 tcp соединений ;)
что есть не обязательно фтп, также как и наоборот

да и вообще лимитирование трафика посредством прокси imho ущербно
гораздо интереснее было бы почитать об ограничении посредством ядра через шейпер или QoS

NiKel
()

to: NiKel (*) (2003-01-21 09:38:35.59)
А чем оно ущербно? Какие проблемы?

anonymous
()

>anonymous (*) (2003-01-21 04:50:15.976)
>Хитрый юзер и по icq может гиг выкачать ;)
не может, если все настроено нормально
>А прокси в любом виде - это только зло. Я обслуживал контору,
>занимающуюся веб-разработками. Так там за кеширование яйца
>оторвут, а за срезание баннеров вообще четвертуют.
прокси- зло только для этой конторы, для остальных одна добродетель =)
так приятно удалять эти прыгающие дрянные картинки!

anonymous
()

Как правило, transparent proxy любят использовать ISP, как оружие в ценовой войне с другими ISP. Я польностью согласен с anonymous (*) (2003-01-21 04:50:15.976), transparent proxy - действительно зло.

anonymous
()

Я использую прокси весьма интенсивно. при 10Гб трафика в месяц очень даже помогает, да и прижимать определенные сайты удобно. Когда люди в основном пользуют интернет по протоколам http и ftp проксирование весьма полезно как для экономии трафика так и для регулирования прав пользователей

anonymous
()

> А чем оно ущербно? Какие проблемы?

Если настроить - будет работать и ограничивать что указано в конфиге, тут проблем нет, а ущербно на мой взгляд - идеологически :)

не лучше ли это проделать посредством Traffic shaper или QoS ?

NiKel
()

Подождите, подождите! А чем же transparent proxy плох для сети организации?

SPB_NICK
()

<< А чем же transparent proxy плох для сети организации? >>
Был на моей памяти один прикол с proxy там как раз ftp тоже
проксировалось:
Так при выкачивание одного (довольно большого файла)- эта зараза
этот файл несколько раз скачивала...

ranckont
()

А ущербно оно тем, что скорость скачивания не ограничивается! Ограничивается только скорость, с которой данные отдаются клиенту. Например, если он заказал 100Мб файл и получив 5 Мб отвалил, а прокси уже, возможно, все успел скачать, и трафик уже потерян, причем бессмысленно.

anonymous
()
Ответ на: комментарий от anonymous

> Я использую прокси весьма интенсивно. при 10Гб трафика в месяц
> очень даже помогает, да и прижимать определенные сайты удобно.
> Когда люди в основном пользуют интернет по протоколам http и ftp
> проксирование весьма полезно как для экономии трафика так и для
> регулирования прав пользователей

Если ты так любишь использовать proxy, то пожалуйста, сколько угодно.
Только зачем тебе transparent proxy, или ты не знаешь как настроить
используемое програмное обеспечение на применение обычного proxy?
transparent proxy, по определению, предназначен для того, чтобы
заставить кого-то использовать proxy. Не даром новость так и
озаглавлена: "Принудительное проксирование FTP". Посколько proxy
предназначен прежде всего для экономии трафика, принуждение кого-то
к его использованию - это просто жлобство.
А регулирование прав пользователей посредством proxy - это вообще
извращение.

anonymous
()

to: ranckont (*) (2003-01-21 11:51:05.062) Все определяется настройками(в сквиде к примеру). Естественно неразумно держать в кэше файл на несколько сот мегабайт

anonymous
()

to: anonymous (*) (2003-01-21 12:23:49.862)
>А регулирование прав пользователей посредством proxy - это вообще
>извращение.
А почему извращение?

anonymous
()

to: anonymous (*) (2003-01-21 12:17:41.688) >А ущербно оно тем, что скорость скачивания не ограничивается! >Ограничивается только скорость, с которой данные отдаются клиенту. >Например, если он заказал 100Мб файл и получив 5 Мб отвалил, а прокси >уже, возможно, все успел скачать, и трафик уже потерян, причем >бессмысленно. Опять таки не верно(для сквида) надо внимательнее читать документацию(или squid.conf)

anonymous
()

anonymous (*) (2003-01-21 12:28:58.619)
То был WinRouter... И там это не регулируется ( не нашли как )
И диск (HDD) был довольно малеким для файлика...
После таких фокусов начальство решило срочно осуществить
мою идею по установке Linux. Это так к слову.

ranckont
()

2 anonymous (*) (2003-01-21 12:23:49.862)

А как ты предлагаешь регулировать права пользователей при работе в интернет? Или, возможно, ты вообще отрицаешь необходимость этого?

anonymous
()

to: anonymous (*) (2003-01-21 12:23:49.862)
На счет жлобства =)
Жлобство- это когда пользователи в свое рабочее время тусуются на порно-сайтах или качают за счет фирмы себе всякую херню не имеющую к работе никакого отношения.

anonymous
()

2 anonymous (*) (2003-01-21 12:39:10.47)

С чего ты взял, что это неверно? Где ты это видел в документации? Читай внимательнее, там об этом просто не говорится! Тем не менее он именно так и работает!

anonymous
()

4anonymous (*) (2003-01-21 12:17:41.688) Ты описываешь замечательную дырочку, которая, впрочем, была пофиксена в Сквиде введением одного параметра сто тыщ мильёнов лет назад ;-)

L.

anonymous
()

В статье нет ни слова о ftp.
 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p tcp --dport 8081 -j REDIRECT --to-port 3128
А что будет, если внутри сети находиться web server?

svs ★★★
()

2 anonymous (*) (2003-01-21 13:11:36.513)

Это не "дырочка" - это фича, и сделано именно так намеренно, и если задумаешься, даже поймешь - почему.

anonymous
()
Ответ на: комментарий от svs

А вот что будет -A PREROUTING -i eth0 -p tcp --dport 80 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j REDIRECT --to-ports 3128

И вообще сразу много портов редиректить у меня не получилось работает только с 80 :((. Как мне кто-то объяснил (помоему keepver), точнее как я понял его объяснения, можно прозрачно проксировать только http (т.е. порт 80) а все остальное прозрачно не проксируется... редиректь не редиректь.

appc
()

to: anonymous (*) (2003-01-21 13:06:30.068)
>С чего ты взял, что это неверно? Где ты это видел в документации? Читай >внимательнее, там об этом просто не говорится! Тем не менее он именно >так и работает!
смотри на предмет quick_abort_ в squid.conf

anonymous
()
Ответ на: комментарий от anonymous

А разве у сквида нет размера объекта, который она сохраняет ? Большие можно и не сохранять, а значит и не качать.

Warmonger
()

to: Warmonger (*) (2003-01-21 13:46:03.894)
Естественно можно! Только один из моих тезок этого не знает =)
Хотя можно через quick_abort_ это легко делать

anonymous
()

2 anonymous (*) (2003-01-21 13:43:10.175)

Это абсолютно не относится к данной проблеме!
Еще раз: если ты ограничил скорость скачивания для пользователя, это не ограничивает скорость скачивания самого сквида. И в момент, когда пользователь, отказался от скачивания сквид _УЖЕ_ скачал гораздо больше, чем пользователь успел получить!

anonymous
()

to: anonymous (*) (2003-01-21 13:54:54.839)
Расскажи, плз, как работает механизм pools в сквиде...
или дай ссылку на описание алгоритма.
Если не знаешь, то я все-таки предположу что pools работает правильно и выставление inbound буфера в небольшую величину позволит сквиду не выкачивать больше этого значения

anonymous
()

2 anonymous (*) (2003-01-21 14:13:46.682)

Алгоритм то работает правильно, ошибочно предположение о том, _где_ он применяется, а применяется он только к _пользователям_ (к клиентам), с сервера же скачивание всегда идет на полной скорости и без ограничений.
Это отнюдь не ошибка, просто многие неправильно представляют себе этот механизм.
Еще раз повторюсь - это было сделано намеренно, догадайся почему.

anonymous
()

to: anonymous (*) (2003-01-21 14:42:01.591)
Что-то я не очень тебя понял....
Вот пример
delay_class 1 1
# pool 1 is class 1
#a class 1 delay pool contains a single unified bucket which is used for #all requests from hosts subject to the pool
Определили один pools на всех, ок?
delay_parameters 1 6400/3200
скорость звполнения 6400 байт/с,
максимальный объем ведра 3200 байт
при_достижении_этого_значения_закачка_останавливаетя
Все правильно? Если да, то при обрыве связи максимум потерь будет 3200 байт. Так?

anonymous
()

Лично наша контора использует принудительное http и ftp для уменьшения нагрузки на внешний канал. Очень помогает.

anonymous
()

эта, а нахрен вообще это извращение для конторы с транспарент проксями? запрещаются конекты на 80 и 21 порты после чего юзеры сами пропишут себе проксю :) все популяные ввв/фтп клиенты умеют ходить через http проксю

SG

anonymous
()

2 anonymous (*) (2003-01-21 15:27:00.819)

Не совсем так! (Совсем не так)

Грубо говоря схема выглядит так:

|интернет| -- |кэш прокси| -- |ограничение скорости| -- |клиент|

Т.е. прокси сразу забирает весь файл в свой кэш (в памяти) а потом м-е-е-дленно отдает его, ме-е-е-е-дленно.
А ограничение скорости скачивания из интернета, приводило бы к увеличению нагрузки на внешние веб-сервера (получалось бы длительное удержание TCP соединения с веб сервером) что уже больше напоминает DOS-атаку, чем нормальную работу.

anonymous
()

>Если настроить - будет работать и ограничивать что указано в конфиге, тут проблем нет, а ущербно на мой взгляд - идеологически :) >не лучше ли это проделать посредством Traffic shaper или QoS ? не подскажет ли великий All, где можно найти инфу о настройке QoS ПОД ЛИНУХ. Traffic shaper вроде вообще режет только исходящий трафик

anonymous
()

> эта, а нахрен вообще это извращение для конторы с транспарент
> проксями? запрещаются конекты на 80 и 21 порты после чего юзеры
> сами пропишут себе проксю :) все популяные ввв/фтп клиенты умеют
> ходить через http проксю
> 
> SG

Вот я и говорю, что как правило transparent proxy используется жадными
ISP, которые в борьбе за привлечение клиента низкими ценами экономят
свой внешний трафик.

anonymous
()

to: anonymous (*) (2003-01-21 17:50:47.892)
>Т.е. прокси сразу забирает весь файл в свой кэш (в памяти) а потом >м-е-е-дленно отдает его, ме-е-е-е-дленно.
если я правильно понимаю, то забивается кэш который устанавливается параметром cache_mem ? Он обычно выставляется в 8-10Mb так что потери при дисконекте не будут особо велики

anonymous
()

anonymous (*) (2003-01-21 21:21:09.65)
>не подскажет ли великий All, где можно найти инфу о настройке QoS ПОД ЛИНУХ. Traffic shaper вроде вообще режет только исходящий трафик

Насколько я понимаю TS умеет резать исходящий от сервера трафик, в том числе и в направлении клиента, так что выходит приблизительно так как тут со сквидом только без кэширования. Во многих случаях этого может быть достаточно. Он более прост в настройке чем технология качества обслуживания (если можно так перевести QoS), однако QoS мне представляется более мощной штукой для управления трафиком. К сожалению и по тому и по другому имеется не так много информации в части настойки под линухом, как по тому же сквиду или iptables. Вот пара линков с примерами:

http://lartc.org/howto/lartc.cookbook.fullnat.intro.html
http://qos.ittc.ukans.edu/howto/node3.html
http://docum.org/stef.coene/qos/faq/

NiKel
()

Анонимосу, который доказывает, что сквид скачивает все сразу: НЕ МОРОЧТЕ ДРУГИМ ГОЛОВУ, А ТО ВЕДЬ ПОДУМАЮТ, ЧТО ЭТО ДЕЙСТВИТЕЛЬНО ТАК! Сквид занимает внешний канал настолько, насколько вы ему скажите в delay pools.

anonymous
()

to: anonymous (*) (2003-01-21 17:50:47.892) >длительное удержание TCP соединения с веб сервером) что уже больше >напоминает DOS-атаку, чем нормальную работу. Да ну?!!! Открытое соединение с сервером теперь называется DOS-атакой?! Круто! Если твои слова по сквиду из той же серии, то наверное говорить больше не имеет смысла... By

anonymous
()

Че за дурни в этой теме толкуться? Подобрались дебилы как на подбор.

anonymous
()

Да, про то, что squid всегда весь канал занимает, это сильно :)

anonymous
()

4anonymous (*) (2003-01-21 13:32:17.81)

>Это не "дырочка" - это фича, и сделано именно так намеренно, и если задумаешься, даже поймешь - почему.

Не. Под дыркой я имел в виду не само _присутствие_ этого параметра, а его дефолтной значение в лохматом сквиде чёрти какого года. Ну и если бестолковый админ вдруг выставит 10 - будет дырка. А так - фича, кто ж спорит.

L.

anonymous
()

2 anonymous (*) (2003-01-22 10:47:45.438)

Интересно, откуда у тебя такая информация? Ты проверял? Попробуй!

2 anonymous (*) (2003-01-22 11:30:40.095)

Я сказал - напоминает DOS-атаку. А ты бы как это назвал? После того, как будет открыто достаточное кол-во соединений, сервер не сможет обрабатывать новые запросы. А ты как думал выглядит DOS-атака?

anonymous
()

>2 anonymous (*) (2003-01-22 10:47:45.438) > >Интересно, откуда у тебя такая информация? Ты проверял? Попробуй! Да, проверял.

anonymous
()

anonymous (*) (2003-01-22 10:47:45.438)
>
>Интересно, откуда у тебя такая информация? Ты проверял? Попробуй!
Кончай пи@#$ть. Люди используют squid уже много лет, а ты даже в собственных словах не уверен.

anonymous
()
Ответ на: комментарий от anonymous


> Люди используют squid уже много лет,

Хм, то люди. Люди много чего разного пользуют. А человек наверняка имел в виду профессиональнх сисадминов.
Сквид - это изврат, затычка, фетиш, обманка, [добавьте по вкусу].

anonymous
()

Да что ж такое то! Что плохого в proxy, и именно в Сквиде, может кто-нибудь рассказать?

SPB_NICK
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.