прокси-сервер squid в Linux
Описание как быстро развернуть прокси-сервер squid с авторизацией по логину и паролю на примере Debian Lenny.
Ставим необходимые пакеты:
# apt-get install squid apache2-utils
сохраняем оригинальный конфиг:
# cp /etc/squid/squid.conf{,.orig}
правим /etc/squid/squid.conf
, удаляем всё, добавляем следующее:
http_port 3128 hierarchy_stoplist cgi-bin ? forwarded_for off acl QUERY urlpath_regex cgi-bin \? cache deny QUERY acl apache rep_header Server ^Apache broken_vary_encoding allow apache access_log /var/log/squid/access.log squid auth_param basic children 2 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 acl all src 0.0.0.0/0.0.0.0 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 8443 2082 2095 81 85 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 8443 2082 2095 81 85 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 10000-10001 # webmin acl CONNECT method CONNECT acl authorized_guyz proxy_auth REQUIRED http_access allow authorized_guyz http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all http_reply_access allow all icp_access allow all cache_mgr admin@localhost coredump_dir /var/spool/squid
создаем файл паролей /etc/squid/passwd
# htpasswd -c /etc/squid/passwd user
Спросит пароль два раза, вводим. Строки отвечающие за авторизацию помечены красным. Рестартуем прокси-сервер:
# /etc/init.d/squid restart
проверяем, вписав настройки проски в браузере, ip машины с установленным squid, порт 3128, с логином user
и паролем, который ввели.
если хотите добавить еще пользователей, то
# htpasswd /etc/squid/passwd newuser
если необходимо дать разрешение использовать прокси без авторизации для некоторых адресов, то добавляем в /etc/squid/squid.conf
, в соответствующие секции:
acl home_net src 192.168.0.0/24 http_access allow home_net
до строки http_access allow authorized_guyz
перечитываем конфигурацию:
# squid -k reconfigure
и машины с указанными адресами могут использовать прокси без авторизации.
Удачи в настройках.