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

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

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

    Примечание

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

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

    # Определяем важный, обязательный ACL с именем all. Он включает в себя все возможные IP адреса протокола IPv4. Потому и его название - all(Все).

    acl all src 0.0.0.0/0.0.0.0

    #Определяем нашу подсеть

    acl 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) из нашей подсети (ournet)

    http_access allow allowed_protocol allowed_port allowed_sites ournet

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

    http_access deny all

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

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

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