Блог об openSUSE » SQUID http://sapfeer.ru Блог по созданию и настройке openSUSE безопасного хамелеона Tue, 15 Mar 2011 12:04:30 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.4.2 Прозрачное проксирование в связке SQUID + SuSEfirewall2 http://sapfeer.ru/2011/01/15/742 http://sapfeer.ru/2011/01/15/742#comments Sat, 15 Jan 2011 11:13:21 +0000 Сергей http://sapfeer.ru/?p=742 sudo zypper install squid user@opensuse:~> [...]]]> Squid - прозрачное проксирование Здравствуйте, меня уже несколько человек просило написать о том, как настроить прозрачное проксирование траффика, например, на офисном шлюзе, который, естественно, работает на openSUSE. На самом деле, ничего сложного в настройке нет, и вы сами в этом убедитесь, повторяя все за мной.

1) Устанавливаем, добавляем в автозагрузку и запускаем squid:
user@opensuse:~> sudo zypper install squid
user@opensuse:~> sudo chkconfig squid on
user@opensuse:~> service squid start

2) Настраиваем squid. В файле /etc/squid/squid.conf находим строку http_port 3128, меняем ее на:
http_port 192.168.1.1:3128 transparent
Внимание! Вместое 192.168.1.1 вам необходимо вписать адрес сервера в вашей локальной сети.. Это мы делаем для того, чтобы если вы даже где-то и ошиблись с конфигурацией файрволла, то никто извне не смог пользоваться вашим прокси сервером.

3) Перезапускаем squid:
user@opensuse:~> service squid restart

4) Настраиваем SuSEfirewall2. Находим параметр FW_REDIRECT="" в файле /etc/sysconfig/SuSEfirewall2 и меняем на:
FW_REDIRECT="192.168.1.0/24,0/0,tcp,80,3128"
Внимание! Вместо 192.168.1.0/24 вам необходимо вписать адрес и маску вашей локальной сети.Этот параметр так же требует, чтобы FW_ROUTE="yes" , если у вас уже настроен роутинг то значит все окей, если нет, ищите параметр в этом же файле и выставляйте правильно.

5) Перезапускаем SuSEfirewall2:
service SuSEfirewall2_setup restart

Все, уже после этого, у вас весь траффик будет идти через squid.

Оптимизация кэширования

К выше сказанному хочется добавить несколько советов по оптимизации КЭШа. Добавьте в конец /etc/squid/squid.conf следующие опции:

# Максимальный размер файла который может быть сохранен в кэше.
maximum_object_size 64 MB
# Параметры определяет какие файлы в кэше будут заменены, когда необходимо место в кэше.
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
# Описание
reload_into_ims on
# Оптимизация кэширования, путем игнорирования некоторых заголовков.
refresh_pattern -i (cam|kam|live|stream).*\.(gif|jpeg|jpg)(\?.*|)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(gif|jpeg|jpg|swf|png|bmp|pic)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(html|php|asp|dll|htm|aspx|mspx|shtml|cgi|php3|jse|phtml|po|pl|fcgi|jsp|py|php4)$ 10 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private
refresh_pattern -i \.(js|css|class|jar|xml|txt|cfm|doc|xls|pdf)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(exe|gz|tar|tgz|zip|arj|ace|bin|cab|msi)(\?.*|)$ 10 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(mid|mp[234]|wav|ram|rm|au)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern -i \.(mpg|mpeg|avi|asf|wmv|wma)(\?.*|)$ 2880 20% 28800 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private ignore-auth
refresh_pattern . 0 20% 2880 override-expire override-lastmod reload-into-ims ignore-no-cache ignore-private

Информация об опциях squid очень подробно расписана, разумеется, здесь

Подводные камни: если у вас в локальной сети есть свой вебсервер, вы столкнетесь с тем, что все внутренние клиенты будут иметь адрес шлюза. Вы можете использовать mod_rpaf(для apache) или немного модифицировать правила SuSEfirewall2

Тех, кто дочитал до конца, поздравляю с прошедшим старым новым годом! :-)

]]>
http://sapfeer.ru/2011/01/15/742/feed 3