SQUID

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

SQUID

Сообщение Transstroy » 15 июн 2007, 10:59

Уважаемые!!! Я в nix-ах новичок и только начинаю настраивать сервер на FreeBSD.
У меня вопрос по настройке сквида, посмотрите его пожалуйста и скажите что правильно а что и нет, что добавить или наоборот убрать

Код: Выделить всё

#	WELCOME TO SQUID 2.6.STABLE13

# указываем то что он прозрачный
http_port 192.168.1.110 3128 transparent   

# сколько оперативной памяти сквид может забрать под свои нужды. По умолчанию стоит 8 мегабайт, что хватит лишь при очень слабой загрузке (у меня только 512).
cache_mem 128 MB

maximum_object_size 8092 KB
# максимальный размер объектов, которые будут сохранены на диск. По умолчанию стоит  4096 килобайт

maximum_object_size_in_memory 512 KB
# максимальный размер объектов, которые будут сохранены в кэше. По умолчанию стоит 8 килобайт.

cache_dir ufs /var/cache 4096 128 512
# указывает сквиду, где сохранять кешируемые файлы. (под кэш у меня отдельный раздел /var/cache)/ Указывает отдать под кеш 20048 мегабайт и создать 64 и 256 соответственно каталогов 1го и 2го уровня.

cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_mgr no@no.org.ru

pinger_program /usr/local/libexec/squid/pinger
url_rewrite_program     #путь до редиректора
url_rewrite_children 5

refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern .		0	20%	4320
# в этих трех строках мы указываем сколько времени в минутах объект в кеше #считается свежим и какой процент объектов оставлять с последнего обновления.

# squid не будет кешировать динамически генерируемые страницы (поисковые сервера,  некоторые другие серверы и чаты), а будет напрямую перенаправлять запрос серверу.
hierarchy_stoplist cgi-bin ?

# эти две строки примерно аналогичны предыдущей, но касательно кэша... то есть если  каким-либо данные странички попали в кэш (ну например работал сквид без #предыдущей строчки некоторое время), то они немедленно удаляются из кеша.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY


acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localnet src 192.168.1.0/24
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
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 Icq_port port 5190          # icq
acl Irc_port port 6667          # irc
acl MSN_port port 1863          # msn messager
acl CONNECT method CONNECT
# Здесь с помощью acl мы задаем localhost, локальную сеть, порты на которые мы #разрешим выходить программам через наш прокси. Также указываем manager протокол #cache_object, используемого для управления и мониторинга кеша
# acl CONNECT method CONNECT (надо не надо?)
включает поддержку проброски соединения с помощью команды протокола CONNECT.

acl stop_files url_regex -i .mp3$ .vqf$ .rpm$ .avi$ .mpeg$ .mpe$ .mpg$ .qt$ .ram$ .rm$ .raw$ .wav$ .mov$ .ogg$ .exe$ .com$
здесь мы указываем расширения файлов которые мы запретим для закачки.
acl StopWWW dstdomain "/usr/local/etc/squid/stopWWW.acl"
здесь указываем файл в котором указываем адреса сайтов на которые нельзя ходить юзерам. файл имеет такой вид 
.zaycev.net
.rmp.ru
.sexmovies.ru
.mp3real.ru
это как бы подборка сайтов sex содержания и с mp3, т.к. в stop_files мы не закрыли архивы, а на некоторых сайтах лежат mp3 с расширением например rar, и пользователи могут закачивать музыку потом меняя расширение у файлов, поэтому я решил запрещать сами сайты. 

# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

http_reply_access allow all
# Разрешаем ответы на все запросы. 

visible_hostname gate.transstroy.org.ru
#это имя будет упоминаться в сообщениях об ошибках.  

icon_directory /usr/local/etc/squid/icons
#Указываем католог с иконками 


error_directory /usr/local/etc/squid/errors/Russian-koi8-r
#Указываем католог с шаблонами страниц ошибок на нужном языке и в нужной кодировке, в нашем случае язык русский в Koi8-r кодировке 
http_access deny all

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: SQUID

Сообщение Stranger03 » 15 июн 2007, 19:04

Ну я бы прописал сначала свою подсеть внутреннюю в виде аксесс листа. Потом разрешил этому листу запросы. Честно не уверен, что ваш конфиг будет работать.

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

Сообщение Transstroy » 16 июн 2007, 22:00

А что еще не правильно? ЧТо добавить а что убрать? Просто это мой первый опыт в конфигурировании сквида, поэтому прошу совета или помощи. Или если можно покажите рабочий конфиг (без секюрити)
Вообще то сеть я свою описывал: acl localnet src 192.168.1.0/24

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

Сообщение Transstroy » 17 июн 2007, 14:37

Transstroy писал(а):А что еще не правильно? ЧТо добавить а что убрать? Просто это мой первый опыт в конфигурировании сквида, поэтому прошу совета или помощи. Или если можно покажите рабочий конфиг (без секюрити)

and3008
Заслуженный сетевик
Сообщения: 1109
Зарегистрирован: 03 янв 2004, 23:30
Откуда: Н.Новгород

Сообщение and3008 » 17 июн 2007, 23:30

Вообще то сеть я свою описывал: acl localnet src 192.168.1.0/24
Ну и где же разрешающий http_access для нее? Без этого работать не будет.

Размер объекта для хранения в ОЗУ поставь по-больше, если ОЗУ на серваке богато есть.  Контент нынче тяжел... Да и диски будут меньше напрягаться.

Раздавать вам тут работающие конфиги вряд ли кто будет. На очевидные косяки вам уже указали.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 18 июн 2007, 10:03

Transstroy писал(а):А что еще не правильно?
Примерно так:
acl lintec src 192.168.130.0-192.168.130.72/255.255.255.255
# time list
acl morning time 00:00-09:00
acl worktime time 09:00-19:00
acl night time 19:00-24:00
acl weekend time SA
# *** restricted access ***
acl sexxx url_regex -i "/usr/local/etc/squid/sex.dest"
acl chat url_regex -i "/usr/local/etc/squid/chat.dest"
acl video_sound url_regex -i "/usr/local/etc/squid/video_sound.dest"
acl banners url_regex -i "/usr/local/etc/squid/banners.dest"
acl relax url_regex -i "/usr/local/etc/squid/relax.dest"
# *** Resrict ALL - VideoMP3 in worktime ***
#http_access deny chat worktime
http_access deny video_sound
http_access deny chat
http_access deny relax
http_access deny sexxx
# *** allow connect to squid ***
http_access allow lintec !banners

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

Сообщение Transstroy » 18 июн 2007, 11:17

Спасибо
Итоговый конфиг у меня получился такой:

Код: Выделить всё

# указываем то что он прозрачный
http_port 192.168.1.110 3128 transparent   

# сколько оперативной памяти сквид может забрать под свои нужды. По умолчанию стоит 8 мегабайт, что хватит лишь при очень слабой загрузке (у меня только 512).
cache_mem 128 MB

maximum_object_size 8092 KB
# максимальный размер объектов, которые будут сохранены на диск. По умолчанию стоит  4096 килобайт

maximum_object_size_in_memory 2048 KB
# максимальный размер объектов, которые будут сохранены в кэше. По умолчанию стоит 8 килобайт.

cache_dir ufs /var/cache 4096 128 512
# указывает сквиду, где сохранять кешируемые файлы. (под кэш у меня отдельный раздел /var/cache)/ Указывает отдать под кеш 20048 мегабайт и создать 64 и 256 соответственно каталогов 1го и 2го уровня.

cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_mgr no@no.org.ru # Адрес пользователя которого будут уведомлять о #переполнении кэша

pinger_program /usr/local/libexec/squid/pinger
url_rewrite_program    /usr/local/etc/squid/redirector.pl  #путь до редиректора
url_rewrite_children 10

refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern .		0	20%	4320
# в этих трех строках мы указываем сколько времени в минутах объект в кеше #считается свежим и какой процент объектов оставлять с последнего обновления.

# squid не будет кешировать динамически генерируемые страницы (поисковые сервера,  некоторые другие серверы и чаты), а будет напрямую перенаправлять запрос серверу.
hierarchy_stoplist cgi-bin ?

# эти две строки примерно аналогичны предыдущей, но касательно кэша... то есть если  каким-либо данные странички попали в кэш (ну например работал сквид без #предыдущей строчки некоторое время), то они немедленно удаляются из кеша.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY


acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
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 5190          # icq
acl Safe_ports port 6667          # irc
acl Safe_ports port 1863          # msn messager
acl CONNECT method CONNECT

acl localnet src 192.168.130.0-192.168.130.72/255.255.255.255  #описываю локалку, кому можно ходить через прокси
# time list  - ограничения по времени
acl morning time 00:00-09:00 
acl worktime time 09:00-19:00 
acl night time 19:00-24:00 
acl weekend time SA 
# *** restricted access ***   сюда нельзя 
acl sexxx url_regex -i "/usr/local/etc/squid/sex.dest" 
acl chat url_regex -i "/usr/local/etc/squid/chat.dest" 
acl video_sound url_regex -i "/usr/local/etc/squid/video_sound.dest" 
acl banners url_regex -i "/usr/local/etc/squid/banners.dest" 
acl relax url_regex -i "/usr/local/etc/squid/relax.dest" 
# *** Resrict ALL - VideoMP3 in worktime *** 
#http_access deny chat worktime 
http_access deny video_sound 
http_access deny chat 
http_access deny relax 
http_access deny sexxx 
# *** allow connect to squid *** 
http_access allow localnet !banners

http_reply_access allow all
# Разрешаем ответы на все запросы. 

visible_hostname gate.no.org.ru
#это имя будет упоминаться в сообщениях об ошибках.  

icon_directory /usr/local/etc/squid/icons
#Указываем католог с иконками 

error_directory /usr/local/etc/squid/errors/Russian-koi8-r
#Указываем католог с шаблонами страниц ошибок на нужном языке 

Я прав?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 18 июн 2007, 11:43

Похоже на правду. Только если у вас в сети всего 73 адреса:
acl localnet src 192.168.130.0-192.168.130.72/255.255.255.255
Ну и плюс к тому файлы с исключением надо все-таки создать, а то будет ругаться:
acl sexxx url_regex -i "/usr/local/etc/squid/sex.dest"

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

Сообщение Transstroy » 18 июн 2007, 12:24

Это я взял как пример с Вашей подсказки
А еще такой момент:
Я создам алиасами несколько подсетей, к примеру
192.168.130.0/255.255.255.255
192.168.131.0/255.255.255.255
192.168.132.0/255.255.255.255
Будет ли у меня работать сквид если ему укажу как локалку:
acl localnet src 192.168.130.0-192.168.130.72/255.255.255.255
acl localnet2 src 192.168.131.0-192.168.131.30/255.255.255.255
acl localnet3 src 192.168.132.0-192.168.132.10/255.255.255.255
Просто ныне шлюз хочу создать на одну сеть, а у меня их штук восемь разных подсетей набереться и со временем думаю всех перевести на сквид.
И еще такой момент (чтобы не плодить новых тем): насколько целесообразно вешать почтовый сервер на шлюз? Доменное имя купленно и почта крутиться у хостера
У меня есть машинка не особо сильная но на 20-30 пользователй потянет. Я бы хотел поставить ее (почтовый сервер) внутри сети. Через нат пробросить порты 25, 110 на данную машину. Но вопрос в том: как реализовать ДНС? Я использую провайдерские ДНС. Или поднять на внутреннем IP-шнике ДНС? Позвоню хостеру, пропишут они МХ на мой адрес......

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 18 июн 2007, 12:41

Transstroy писал(а):Будет ли у меня работать сквид если ему укажу как локалку:
acl localnet src 192.168.130.0-192.168.130.72/255.255.255.255
acl localnet2 src 192.168.131.0-192.168.131.30/255.255.255.255
acl localnet3 src 192.168.132.0-192.168.132.10/255.255.255.255
Разрешалок позже поставить и вперед, конечно будет.
И еще такой момент (чтобы не плодить новых тем): насколько целесообразно вешать почтовый сервер на шлюз?
P2-233/128MB/73GB SCSI HDD вполне способен обработать 50-100 юзеров в случае, если почта не локально хранится, а сервер используется как маил-хаб. Случаи разные бывают, но в основном.
Я бы хотел поставить ее (почтовый сервер) внутри сети. Через нат пробросить порты 25, 110 на данную машину
Я бы из сервера маил-хаб сделал. Грубо, сервер принимает почту, обрабатывает и пересылает внутрь на почтовик (Ексч например).
Но вопрос в том: как реализовать ДНС? Я использую провайдерские ДНС. Или поднять на внутреннем IP-шнике ДНС? Позвоню хостеру, пропишут они МХ на мой адрес......
Вопрос с почтой в основном не к ДНС, а к организации потока почты. Например сендмыл или постфикс, кому что нравится. Грубо в сендмыле можно настроить так:
сендмыл принимает почту для своего локального домена контора.ру
проверяет по всяким параметрам на спам и вирус, читаем здесь статьи
конвертирует адреса из контора.ру в контора.локал и перекидывает внутрь на Ексч.

Transstroy
Junior member
Сообщения: 10
Зарегистрирован: 15 июн 2007, 10:40
Откуда: Москва

Сообщение Transstroy » 18 июн 2007, 13:29

Я понял спасибо.
Посто не хочеться хостеру денежку отдавать, поэтому и возник такой вопрос. А вот ексченджа нету да и он как то особо и не нужен. Я выступаю в роли мини-провайдера
Иначе говоря к примеру на шлюзе настроить типа фетчмайла для стягивания писем и передавать их на обработку почтовику во внутреннюю сеть? ПРокатит такой вариант?

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 18 июн 2007, 15:28

Transstroy писал(а):Иначе говоря к примеру на шлюзе настроить типа фетчмайла для стягивания писем и передавать их на обработку почтовику во внутреннюю сеть? ПРокатит такой вариант?
Наверное да, никогда не пользовался этой прогой.

dio
Junior member
Сообщения: 12
Зарегистрирован: 29 май 2007, 16:37
Откуда: Краснодар

Сообщение dio » 27 июн 2007, 09:28

Было бы очень интересно услышать от сотрудников "Тринити" как в squid ограничить закачки пользователей? Те - к примеру, как сделать, чтобы невозможно было начать закачку файла размером, превышающим заданный. Спасибо заранее.

dio
Junior member
Сообщения: 12
Зарегистрирован: 29 май 2007, 16:37
Откуда: Краснодар

Re: SQUID

Сообщение dio » 29 июн 2007, 12:19

Stranger03 писал(а):Ну я бы прописал сначала свою подсеть внутреннюю в виде аксесс листа. Потом разрешил этому листу запросы. Честно не уверен, что ваш конфиг будет работать.
Для  Stranger03 :
Вы не могли бы помочь мне по теме? http://www.3nity.ru/viewtopic.htm?t=9404
Спасибо большое заранее.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: SQUID

Сообщение Stranger03 » 29 июн 2007, 17:29

dio писал(а):Для  Stranger03 :
Вы не могли бы помочь мне по теме? http://www.3nity.ru/viewtopic.htm?t=9404
Спасибо большое заранее.
Коллега, не стоит писать одно и то же сообщение в разных темах. Одной темы достаточно.

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей