Уже полгода использую на Вынь2003 сервере Squid NT, сейчас стоит 2.5 Stable 11. Одно из правил запрещает пользователям цеплятся на FTP сервере через броузер, сам подключаюсь без проблем, но FTP-клиенты (FileZilla, Far) не могут !!! Хотя на других версиях, все было ОК. В чем причина? Вот кусок из конфига:
acl all src 0.0.0.0/0.0.0.0
acl Office src 192.168.100.0-192.168.100.50
acl Server src 192.168.100.1
acl Admin src 192.168.100.10
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 21 80 81 8000 8080 8081 443
acl CONNECT method CONNECT
acl Worktime time SMTWHFA 08:30-21:00
acl FTP proto ftp
acl Goodurl url_regex -i "c:/squid/filters/goodurl"
acl Banners url_regex -i "c:/squid/filters/banners"
acl Porno url_regex -i "c:/squid/filters/porno"
acl Download urlpath_regex -i "c:/squid/filters/download"# TAG: http_access
#Default:
# http_access deny all
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
http_access allow Server
http_access allow Goodurl
http_access deny FTP
deny_info ERR_FTP_DISABLED FTP
http_access deny Banners
deny_info http://www.kaminvest.ru/1x1.gif Banners
http_access deny Porno
deny_info ERR_ACCESS_PORNO Porno
http_access allow Admin
http_access deny Download
deny_info ERR_ACCESS_DOWNLOAD Download
http_access allow Office Worktime
# And finally deny all other access to this proxy
http_access deny all
При добавлении порта 21 в строку acl SSL_ports port 443 563 21, клиент "типа " начинает соеденяться, но перед показом содержимого сервера выдает:
Запрос не принят прокси-сервером, соединение без прокси невозможно.
Ошибка: Канал передачи не открыт. Причина: Программа на вашем хост-компьютере разорвала установленное подключение.
Ошибка: Не могу получить список файлов!Но с броузера ведь все работает !!!
Неужели все через броузер с ФТП общаются
>Неужели все через броузер с ФТП общаютсяНет, не все.
Squd - это HTTP-прокси, и только. И работа через него с ФТП-серверами возможна ТОЛЬКО по ХТТП-протоколу.
Типовые ФТП-клиенты этого не умеют. Или ставь ФТП-прокси, или ищи клиента могучего.
Для ФАРа впрочем, есть плугин - Far Navigator, так он умеет по ХТТП работать, в том числе и через прокси..
>Squd - это HTTP-прокси, и только. И работа через него с ФТП-серверами
>возможна ТОЛЬКО по ХТТП-протоколу. - согласен, но как же работало все на ранних версиях (10ка к примеру), настройки теже, FTP-клиенты теже ?! Не случилось бы такого и не спращивал бы.
>>- согласен, но как же работало все на ранних версиях (10ка к примеру), настройки теже, FTP-клиенты теже ?! Не случилось бы такого и не спращивал бы.Ну что я могу сказать.. Чудеса бывают только в цирке, и то, если они заранее подготовлены..
Вполне возможно что клиенты как-то ходили иным, "не запланированным" путем. И такое бывает.. А потом этот путь каким-либо образом (возможно даже и незамеченным) прикрылся.
Далее..
http_access deny FTP -- FTP закрыт?
Для FTP еще нужен 20 порт, в активном режиме.
Можно еще поиграться на клиентах активным/пассивным режимом..
>http_access deny FTP -- FTP закрыт?
Закрыт для использования юзверями через броузер, у меня, как у Admina права есть (см.правила выше). Т.е. через броузер ВСЕ работает.>Для FTP еще нужен 20 порт, в активном режиме.
Добавлял 20 порт в acl Safe_ports port 20 21 ... не помогло>Можно еще поиграться на клиентах активным/пассивным режимом..
Чем только я с FTP-клиентами не игрался :)
Вышла 2.5.12 версия, подождем...
Что то никак, поставил 2.5.12 - все тоже самое, заодно обновил клиентов - тоже самое. Продолжаю ковыряться...
>>Для FTP еще нужен 20 порт, в активном режиме.
>Добавлял 20 порт в acl Safe_ports port 20 21 ... не помоглоИ не поможет. Для ftp в сквиде предусмотрено proto FTP
Все - более ничего не нужно.
Кады клиент (браузер) говорит Сквиду:
GET ftp://someserver.ru/
Сквид отправляется на этот сервак, делает листинг файлов/каталогов и отдает его клиенту в ВИДЕ HTML СТРАНИЦЫ.
Если клиент не понимает такой фигни (FTP клиент в FAR-e старых версий не понимал) - то все - абзац.
>GET ftp://someserver.ru/
>Сквид отправляется на этот сервак, делает листинг файлов/каталогов и отдает его клиенту
>в ВИДЕ HTML СТРАНИЦЫ.
>Если клиент не понимает такой фигни (FTP клиент в FAR-e старых версий
>не понимал) - то все - абзац.Похоже на то, вот access.log Squid NT:
92.168.100.10 TCP_MISS/200 8499 GET http://www.yandex.ru/all_services.html - DIRECT/213.180.204.11 text/html
192.168.100.10 TCP_MISS/200 5786 GET http://www.opennet.me/openforum/vsluhforumID12/3590.html - DIRECT/82.137.161.90 text/html
192.168.100.10 TCP_DENIED/403 1316 CONNECT ftp.kaspersky.ru:21 - NONE/- text/htmlНе там GET-запроса, FileZilla не умеет, а вот Тотал умеет :(
>192.168.100.10 TCP_DENIED/403 1316 CONNECT ftp.kaspersky.ru:21 - NONE/- text/html
>
>Не там GET-запроса, FileZilla не умеет, а вот Тотал умеет :(
GET будет, когда вы в браузере введете этот адрес.
А через сквидовский CONNECT - фтп не пойдет, так как в этом случае
устанавливается единственное TCP соединение точка-точка, а протокол
фтп требует еще дополнительное соединение для передачи данных:
в активном режиме - фтп сервер соединяется с
клиентом по 20-му порту;
в пассивном режиме - ждет клиента на произвольном порту.
Через CONNECT можно почту гонять, но фтп - не получится...
>>http_access deny FTP -- FTP закрыт?
>Закрыт для использования юзверями через броузер, у меня, как у Admina права
Да, может и есть.. Но http_access deny FTP стоит очень высоко..
Сквид на него натыкается в первую очередь.
Попробуй заремь (#) это правило и посмотри что получится.
Должно заработать.
>есть (см.правила выше). Т.е. через броузер ВСЕ работает.
>
>>Для FTP еще нужен 20 порт, в активном режиме.
>Добавлял 20 порт в acl Safe_ports port 20 21 ... не помогло
Не надо тут ничего добавлять, разве что на файрволе..
>
>
>>Можно еще поиграться на клиентах активным/пассивным режимом..
>Чем только я с FTP-клиентами не игрался :)