Serg79
|
|
« : 05-11-2008 18:18 » |
|
Необходимо настроить нормальную работу с FTP в Total Commander через 'squid'. сейчас работает так, что в Total Commander в настройках FTP соединения проставляется HTTP-прокси с поддержкой FTP, но не работают многие комманды. Файл на FTP нельзя удалить, переименовать, создать каталог. Есть ли другой вариант настройки работы с FTP через 'squid'?
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #1 : 05-11-2008 19:12 » |
|
Serg79, проверь через консольный ftp-клиент - срабатывают ли эти команды и если нет, то что сообщает сервер.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Serg79
|
|
« Ответ #2 : 05-11-2008 19:29 » |
|
RXL, что то я не доганяю как проверить через консоль?
Если с машины на которой 'squid' крутиться, то проблем нет, все работает. А с Win-машины, то там консольный ftp не может через прокси работать, ему надо указывать действительный адрес ftp-сервера.
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #3 : 05-11-2008 19:55 » |
|
Сейчас записал дамп обмена 'Total Commander' с 'squid'. 'Total Commander' для работы с 'squid' использует метод 'HTTP-прокси с поддержкой FTP'. Был очень удивлен , оказывается все запросы к FTP через HTTP-прокси имеют такойже вид как запросы к обычному HTTP. Запрос списка файлов корневой дерикторииGET ftp://name:passwd@ftp.narod.ru/ HTTP/1.0 Host: ftp.narod.ru User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows XP) Connection: close
HTTP/1.0 200 Gatewaying Server: squid/2.7.STABLE4 Date: Wed, 05 Nov 2008 17:52:48 GMT Content-Type: text/html Age: 6106 Content-Length: 6508 X-Cache: HIT from server.local.net Via: 1.0 server.local.net:3128 (squid/2.7.STABLE4) Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- HTML listing generated by Squid 2.7.STABLE4 --> <!-- Wed, 05 Nov 2008 17:52:48 GMT --> <HTML><HEAD><TITLE> FTP Directory: ftp://name@ftp.narod.ru/ </TITLE> <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE> </HEAD><BODY> <H2> FTP Directory: <A HREF="/">ftp://name@ftp.narod.ru</A>/</H2> <PRE> <A HREF="readme.txt"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[FILE]"></A> <A HREF="readme.txt">readme.txt</A> . . . . . . . . . . . May 29 2006 55 <A HREF="readme.txt;type=i"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-box.gif" ALT="[DOWNLOAD]"></A> <A HREF="ganga.html"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[FILE]"></A> <A HREF="ganga.html">ganga.html</A> . . . . . . . . . . . May 29 2006 1741 <A HREF="ganga.html;type=a"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[VIEW]"></A> <A HREF="ganga.html;type=i"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-box.gif" ALT="[DOWNLOAD]"></A> <A HREF="gbook.bk"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-unknown.gif" ALT="[FILE]"></A> <A HREF="gbook.bk">gbook.bk</A> . . . . . . . . . . . . May 29 2006 3361 <A HREF="gbook.bk;type=a"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[VIEW]"></A> <A HREF="gbook.bk;type=i"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-box.gif" ALT="[DOWNLOAD]"></A> <A HREF="gmes.bk"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-unknown.gif" ALT="[FILE]"></A> <A HREF="gmes.bk">gmes.bk</A>. . . . . . . . . . . . . May 29 2006 334 <A HREF="gmes.bk;type=a"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[VIEW]"></A> <A HREF="gmes.bk;type=i"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-box.gif" ALT="[DOWNLOAD]"></A> <A HREF="resource.html"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[FILE]"></A> <A HREF="resource.html">resource.html</A>. . . . . . . . . . Feb 22 2008 4377 <A HREF="resource.html;type=a"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-text.gif" ALT="[VIEW]"></A> <A HREF="resource.html;type=i"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-box.gif" ALT="[DOWNLOAD]"></A> <A HREF="batty/"><IMG border="0" SRC="http://server.local.net:3128/squid-internal-static/icons/anthony-dir.gif" ALT="[DIR] "></A> <A HREF="batty/">batty</A>. . . . . . . . . . . . . . Aug 06 11:49 </PRE> <HR noshade size="1px"> <ADDRESS> Generated Wed, 05 Nov 2008 17:52:48 GMT by server.local.net (squid/2.7.STABLE4) </ADDRESS></BODY></HTML> Получение файла robots.txtGET ftp://name:passwd@ftp.narod.ru/robots.txt HTTP/1.0 Host: ftp.narod.ru User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows XP) Connection: close
HTTP/1.0 200 Gatewaying Server: squid/2.7.STABLE4 Date: Wed, 05 Nov 2008 18:58:27 GMT Content-Type: text/plain Last-Modified: Mon, 29 May 2006 04:04:56 GMT Age: 2183 Content-Length: 57 X-Cache: HIT from server.local.net Via: 1.0 server.local.net:3128 (squid/2.7.STABLE4) Connection: close
User-agent: * Disallow: /download Disallow: /image
А вот тут уже облом. Удаление файла robots.txtDELETE ftp://name:passwd@ftp.narod.ru/robots.txt HTTP/1.0 Host: ftp.narod.ru User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows XP) Connection: close
HTTP/1.0 501 Not Implemented Server: squid/2.7.STABLE4 Date: Wed, 05 Nov 2008 19:34:55 GMT Content-Type: text/html Content-Length: 1075 Expires: Wed, 05 Nov 2008 19:34:55 GMT X-Squid-Error: ERR_UNSUP_REQ 0 X-Cache: MISS from server.local.net Via: 1.0 server.local.net:3128 (squid/2.7.STABLE4) Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The requested URL could not be retrieved</TITLE> <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE> </HEAD><BODY> <H1>ERROR</H1> <H2>The requested URL could not be retrieved</H2> <HR noshade size="1px"> <P> While trying to retrieve the URL: <A HREF="ftp://name@ftp.narod.ru/robots.txt">ftp://name@ftp.narod.ru/robots.txt</A> <P> The following error was encountered: <UL> <LI> <STRONG> Unsupported Request Method and Protocol </STRONG> </UL>
<P> Squid does not support all request methods for all access protocols. For example, you can not POST a Gopher request. <P>Your cache administrator is <A HREF="mailto:webmaster">webmaster</A>.
<BR clear="all"> <HR noshade size="1px"> <ADDRESS> Generated Wed, 05 Nov 2008 19:34:55 GMT by server.local.net (squid/2.7.STABLE4) </ADDRESS> </BODY></HTML>
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #4 : 05-11-2008 20:44 » |
|
Логично, что дело в настройках прокси. Наверно разрешены только GET и POST.
С консолью я тормознул - виндовый клиент слишком прост и не работает с прокси.
|
|
« Последнее редактирование: 05-11-2008 20:52 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sla
|
|
« Ответ #5 : 06-11-2008 07:11 » |
|
доступ к squid есть?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #6 : 06-11-2008 07:19 » |
|
фаервол не мешает?
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Serg79
|
|
« Ответ #7 : 06-11-2008 10:06 » |
|
доступ к squid есть?
С 'squid' все впорядки. Он без проблем проксирует как HTTP так и FTP. Но проксирование FTP какое то ущербное, если просто открывать FTP серверы в анонимном режиме то проблем нет, а вот команды для удаления файла с FTP, создания каталогов и т.п. не работают. фаервол не мешает?
Нет не мешает , потому что он не используется: echo 0 > /proc/sys/net/ipv4/ip_forwardЕсли все настроить через форвардинг с NAT-ом то проблем нет, все работает на УРА.
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #8 : 06-11-2008 10:08 » |
|
Я так понимаю, что 'squid' не поддерживает полноценное проксирование FTP. Может кто подскажит нормальный прокси для FTP, функции кеширования протокола FTP не нужны.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #9 : 06-11-2008 10:11 » |
|
в конфиге есть squid'a
что-нибудь типа
acl aclname method
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
McZim
|
|
« Ответ #10 : 06-11-2008 10:16 » |
|
Serg79, причем тут ip_forward и фаервол? Я имею ввиду порты не закрыты которые необходимы для работы этой связки. И вообще для нормальной работы тебе нужно именно файрволом делать необходимые операции. как-то так: /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp
#FTP managing #ftp session $IPTABLES -A FORWARD -p TCP -s $LAN_RANGE --dport 21 -j ACCEPT $IPTABLES -A FORWARD -p tcp -d $LAN_RANGE -sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT
#ftp active mode $IPTABLES -A FORWARD -p TCP -s $LAN_RANGE --dport 20 -j ACCEPT $IPTABLES -A FORWARD -p tcp -s $LAN_RANGE -sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
#ftp passive mode $IPTABLES -A FORWARD -p TCP -s $LAN_RANGE --sport $UNPRIVPORTS -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -p TCP --dport $UNPRIVPORTS -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$UNPRIVPORTS - от 1024 до 65535 $LAN_RANGE - твоя сеть
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
McZim
|
|
« Ответ #11 : 06-11-2008 10:19 » |
|
так же думаю тебе лучше подойдет вот это: http://frox.sourceforge.net/ нежели сквид.
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Serg79
|
|
« Ответ #12 : 06-11-2008 10:42 » |
|
в конфиге есть squid'a
вот конфиг squid'a: acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl users src 192.168.0.0/16 acl SSL_ports port 443 acl CONNECT method CONNECT
http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow users http_access deny all
icp_access allow localnet icp_access deny all
http_port 192.168.2.1:3128 hierarchy_stoplist cgi-bin ? cache_dir ufs /usr/local/squid/var/cache 300 16 256 access_log /usr/local/squid/var/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache broken_vary_encoding allow apache
acl archives urlpath_regex -i \.zip$ \.rar$ acl archives urlpath_regex -i \.gz$ \.bz2$ \.tgz$ \.tar$ acl archives urlpath_regex -i \.iso$ acl programs urlpath_regex -i \.exe$ acl FTP proto FTP always_direct allow FTP always_direct allow archives always_direct allow programs
coredump_dir /usr/local/squid/var/cache
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #13 : 06-11-2008 11:13 » |
|
упс, почитал,
оказывается squid не поддерживает метод delete для ftp
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Serg79
|
|
« Ответ #14 : 07-11-2008 21:36 » |
|
оказывается squid не поддерживает метод delete для ftp
Для анонимного доступа к FTP (через браузер) squid отлично подходит. Но работать с файлами и каталогами FTP через squid не получается. Решил все проблемы. Serg79, причем тут ip_forward и фаервол? Я имею ввиду порты не закрыты которые необходимы для работы этой связки. И вообще для нормальной работы тебе нужно именно файрволом делать необходимые операции.
Для того чтобы пакеты начали проходить через цепочку FORWARD таблицы filter необходимо разрешить форвардинг (т.е. разрешить перебрасывать пакеты между интерфейсами). У меня отключена функция пробрасывания пакетов между интерфейсами ( echo 0 > /proc/sys/net/ipv4/ip_forward, т.е. машина не используется в качестве шлюза (в прямом понимании этого слова) для доступа к Интернет). Хочу заметит, что правила iptables в цепочке FROWADR таблицы filter никак не влияют на пакеты генерируемые локальным процессом или предназначенные локальному процессу.
|
|
|
Записан
|
|
|
|
DiHalt
Гость
|
|
« Ответ #15 : 09-04-2010 20:40 » |
|
Для тех кто наткнется на эту тему в поисках решения проблемы полноценного доступа к FTP через squid.
У меня встала проблема доступа к ftp серверу своего сайта с помощью Total Commander'а через squid. Прямого соединения нету.
решил добавлением следующих строк в конфиг сквида: acl FTP_port port 21 # ftp acl FTP_port port 60000-61000 # ftp
http_access allow CONNECT FTP_port http_access deny CONNECT !SSL_ports
Юзаю squid 2.7 STABLE6 for Windows
|
|
|
Записан
|
|
|
|
DiHalt
Гость
|
|
« Ответ #16 : 10-04-2010 17:59 » |
|
Совсем забыл. acl FTP_port port 60000-61000 # ftp
в этой строке прописаны пассивные порты, которые открывает ftp-сервер. В моем случае это 60000-60100. В Вашем - могут быть другие.
|
|
|
Записан
|
|
|
|
|