Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов. Часть 3
Теперь, когда у нас есть базовый шлюз, мы можем установить прокси. Возможно, вы захотите вручную настроить прокси для каждого клиента, но вы также можете установить прозрачный прокси для всех ваших пользователей. Это можно сделать с помощью Squid, посмотрим как.
Начните с установки squid на ваш шлюз. Вы можете выбрать другую машину, но вам придется творить магию с iptales. Проще просто использовать одну и ту же машину.
После установки squid перейдите в /etc/squid/vim squid.conf. Да, очень страшно видеть такой длинный конфигурационный файл, но в основном это просто комментарии. К счастью, squid имеет разумные значения по умолчанию, поэтому вы можете просто проигнорировать большую часть этого файла. Просто для проверки успешности установки squid, прежде чем что-либо менять, вы можете подключить -f /var/log/squid/access.log и установить прокси вашего браузера на IP-адрес вашего шлюза, порт 3128 (порт squid по умолчанию). Если все работает, вы сможете просматривать, а также просматривать журналы доступа с прокруткой.
Если вы получаете страницу отказа при каждом запросе, возможно, вам придется настроить squid для разрешения доступа по http. Найдите строку «http_access deny all» и закомментируйте ее. Возможно, вам также придется искать определения локальных сетей и правильно их настраивать (что-то вроде ‘acl localnet src 192.168.0.0/24’).
Убедившись, что ваш прокси работает, вы можете настроить его на работу в прозрачном режиме. Найдите директиву http_port и измените ее на что-то вроде «http_port 8213 transparent» (заметили, что мы изменили порт по умолчанию). Также рекомендуется указывать IP и порт, поэтому squid может связываться только с локальным интерфейсом (вероятно, вы не заинтересованы в том, чтобы служить прокси-сервером для внешнего мира, если только вы не планируете использовать обратный прокси-сервер).
Однако переключения squid для работы в прозрачном режиме недостаточно. Вы также должны указать маршрутизатору перенаправлять каждый входящий пакет с порта 80 на squid. Предполагая, что ваша локальная сеть находится по адресу 192.168.25.0/24, а squid прослушивает порт 1234, вы можете использовать эту волшебную команду для настройки вашего правила iptables:
iptables -t nat -A PREROUTING -s 192.168.25.0/24 -p tcp --dport 80 -j DNAT --to :1234
Все готово, вы сможете отключить прокси в своем браузере и сразу начать использовать squid, без необходимости настройки tail -f /var/log/squid/access.log.
Теперь, когда у вас есть шлюз и прозрачный прокси, пришло время установить фильтр содержимого. Это не сложно, просто зайдите в конфигурационный файл вашего squid и найдите раздел acl. Там добавьте следующие две строки:
acl blockites url_regex "/home/router/blocked_sites.acl" http_access запретить блокировку сайтов
Это будет включать в себя файл заблокированный_сайты.acl и запретить доступ к каждому URL на нем. Существует множество служб черного списка, из которых вы можете скачать хороший фильтр, соответствующий вашим потребностям.
Конечно, вы, вероятно, не хотите перезапускать squid каждый раз, когда новый сайт добавляется в ваш черный список. Для этого вы можете использовать «squid -kconfigure», чтобы squid перезагрузил свою конфигурацию.
Несколько случайных советов для Squid:
Другие части: