вторник, 26 апреля 2016 г.

Squid и FTP - разрешаем доступ



Дано - офис ходит в интернет через squid, и кому-то прислали ссылку на очень важные архивы, которые лежат на ftp.
Ссылка вида ftp://user:pass@domain.example
Squid режет и не пускает.
Почему так происходит: squid переключается  в режим EPSV (extended passive mode), и, согласно этому режиму, запрашивает у сервера порт, по которому будут приниматься/передаваться данные. Сервер отвечает с номером порта >1024.  Для успешного соединения в данной среде с ftp сервером, нужен режим PASV.

Решаем:


В /etc/squid3/squid.conf
 
ftp_epsv off

И рестартим squid. Однако мне показалось, что файлы отдаются не очень быстро через браузер, и не пускает через Проводник и прочие ужасы оффтопика :)
 
Решаем и это:

В /etc/squid3/squid.conf


acl SSL_ports port 443 21    #(добавим сюда порт 21)
acl Safe_ports port 21       #ftp (не трогаем, если есть)
acl ftp proto FTP            #(создаем ACL для протокола FTP)
http_access allow ftp        #(И разрешаем ACL ftp доступ в интернет)
 
И снова не забудем рестартить squid.