воскресенье, 24 мая 2009 г.

Настройка squid

squid - это прокси сервер, предназначенный для организации выхода в глобальную сеть интернет (регулирование скорости, тарафика, доступа)

# Включить forward для сетевых карт
echo 1 > /proc/sys/net/ipv4/ip_forward (файл sysctl.conf)

apt-get install squid - инсталаяция
настройка файла конфигурации /etc/squid/squid.conf
в моем случае я раскоментировал и изменил следуещие строки:
acl localnet src 192.168.0.0/24
http_access allow localnet
http_port 3128 transparent
это минимум настроек, после которого выход в интернет с локальной сети (192.168.0.0) будет работать.

*********** ЭТО СОВЕТ ИЗ ДРУГОГЙ СТАТЬИ (Я НЕ ДЕЛАЛ) ***********
Затем для заворачивание нужных портов на сквид прописывается правило (чтобы правильно действовала настройка transparent) 192.168.0.1 на работе надо 192.168.3.9:
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
это скопировал с зарубежного сайта, тут добавляют две строки:
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Заворачиваем 80 порт на Squid (второй совет)

iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 80 -j QUEUE
iptables -t mangle -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp --dport 3128 -j QUEUE
iptables -t nat -A PREROUTING -m tcp -p tcp -s 192.168.0.0/255.255.255.0 -d ! 192.168.0.0/255.255.255.0
--dport 80 -j REDIRECT --to-ports 3128
**********************************************************************
...
http_port 3128 transparent
...
iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128
**********************************************************************
Можно сделать еще настройки для большей оптимизации squid:
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
cache_dir ufs /var/spool/squid 1024 64 256
always_direct allow SSL_Ports - не совсем уверен в этом параметре
refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.css$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.js$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.ico$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire
refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire
(повторить для других расширений)

после настройки можно выполнить команду на создания cacha
squid -z
один раз у меня были проблемы с кэшем (при старте в логе message.log писалось чтото вроде squid exited due to signal 6). Причина была в правах на каталог /var/spool/squid/
Было необходимо выполнить команду chmod 777 /var/spool/squid и пересоздать! кеш


service networking restart
service squid restart
squid -k reconfigure - применить новую конфигурацию без перезагрузки squid

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

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