четверг, 26 июля 2012 г.

squid 3.1.xx и passive ftp через файервол

Проблема:
сеть с файерволом, на котором разрешен ftp (tcp/21) и прокси сервер на squid. Ранее squid был 3.0.xx и с доступом по ftp проблем не было. 

squid был обновлен с 3.0.xx до squid 3.1.xx. После этого
попытка зайти по ftp из браузера через прокси на какой-нибудь сайт (например, на ftp://ftp.itrc.hp.com/patch_bundles/) заканчивается ошибкой.

На fw в логах видим сначала соединение с портом 21 на ftp сервер, потом попытку установить соединение на произвольный порт >1024, что, естественно, оканчивается неудачей.

В дампе, снатым tcpdump, видим, что squid переключается  в режим EPSV (extended passive mode), и, согласно этому режиму, запрашивает у сервера порт, по которому будут приниматься/передаваться данные. Сервер отвечает с номером порта >1024. Дальше, естественно, из-за fw сессия продолжаться не может.
 Для успешного соединения в данной среде с ftp сервером, нужен режим PASV.

Как лечится:

в squid.conf нужно добавить :
ftp_passive on
ftp_epsv off

и перечитать конфиг:
squid -k reconfigure

После этого ftp сайты становятся доступными.

На всякий случай, ссылка на сайт с документацией по squid:
http://www.squid-cache.org/Doc/config/

Комментариев нет:

Отправить комментарий