Squid на практике. Как открыть доступ к некоторым сайтам

О чем этот текст

Довольно часто необходимо организовать доступ в Интернет через прокси-сервер для всех сотрудников компании. Но сделать это надо так, чтобы у людей не возникало мысли, отключить Интернет дома, ведь на работе дали «халявный» доступ. То есть необходимо открыть какие-то определенные сайты, а ко всем остальным — оставить закрытым. Этот материал расскажет как это сделать.

Примечание

Прежде чем приступать к практике, убедись, что ты знаешь и понимаешь назначение следующих директив Squid:

 

Основная часть

# Определяем важный, обязательный ACL с именем all. Он включает в себя все
# возможные IP адреса протокола IPv4. Потому и его название — all(Все).
acl all src 0.0.0.0/0.0.0.0#Определяем нашу подсеть
acr ournet src 192.168.1.0/24# Определяем ACL разрешаемого протокола. В нашем случае это HTTP протокол, так как
# пользователь в Интернет будет выходить через него.
acl allowed_protocol proto http

# Определяем ACL разрешаемого порта. Порт, через который запрашиваются сайты
# браузером, по умолчанию — 80.
acl allowed_port port 80

# Определяем ACL разрешаемых сайтов. В этот ACL включим все сайты, к которым
# хотим открыть доступ.
acl allowed_sites dstdomain .break-people.ru .tforum.break-people.ru .google.com

# Открываем доступ в Интернет по протоколу HTTP(allowed_protocol), на порту
# 80(allowed_port) к некоторым сайтам(allowed_sites).
http_access allow allowed_protocol allowed_port allowed_sites
#Открываем доступ нашей подсети в Интернет. Получится к тем сайтам, что
#разрешили строчкой выше.
#http_access allow ournet

# Остальной доступ закрываем.
http_access deny all

Примечание: Почему названия сайтов записаны начиная со знака точки(.)? Потому что если написать без точки, скажем, «break-people.ru», то набрав в строке адреса www.break-people.ru, в доступе будет отказано. То есть с приставкой www. сайт не откроется, как и любой поддомен break-people.ru. А если поставить точку, то и с www. будет открыватся сайт.

Примечание 2: Будет ли работать без указания порта и протокола? Да, будет. В этом материале показано, что можно ограничить доступ вплоть до протокола и порта.

Примечание 3: Обязательно ли задавать ACL all? Да, обязательно. Обычно он уже записан среди ACL’ов в конфигурационном файле squid.conf по-умолчанию. Слово all можно заменить любым, которое нравится, это не принципиально, просто правила мнемоники.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *