| |
Перед тем как подключать squidGuard к squid, необходимо протестировать его локально. Для начала немного теории. Squid передает данные на стандартный ввод редиректора. Редиректор, в свою очередь, обрабатывает запрос и выдает на стандарный вывод результаты. Это либо пустая строка, если перенаправление не требуется, либо измененный URL. Формат запроса от squid к редиректору выглядит так:
URL | адрес клиента | разделитель | метод запроса | |
http://test.ru/win2000/setup.exe | 127.0.0.1/ | - | GET |
Для того чтобы протестировать как squidGuard будет реагировать на запросы от пользователей, скачиваем test.tar.gz. Распаковываем его и кладем полученный файл test.pl в /usr/local/squidGuard/bin/. Запускаем test.pl и вводим тестируемый адрес. Затем в файле result.txt смотрим результаты работы squidGuard. Набор тестируемых сайтов можно изменять прямо в файле test.pl.
Теперь самое время объединить squidGuard и Squid. В файл /usr/local/squid/etc/squid.conf добавляем строки:
redirector_bypass on |
# если не один из экземпляров squidGuard не |
# отвечает, то работать напрямую | |
redirect_program /usr/local/squidGuard/bin/squidGuard |
# где находится squidGuard |
redirect_children 1 |
# сколько копий squidGuard запускать |
Перезапускаем squid. В свою очередь, squid самостоятельно выполнит перезапуск всех запущенных редиректоров.
# killall -HUP squid
В конце файла /usr/local/squidGuard/log/squidGuard.log ищем такие строки:
2002-10-15 16:11:04 [10653] squidGuard 1.2.0 started (1034683864.337) 2002-10-15 16:11:04 [10653] squidGuard ready for requests (1034683864.353)
Если они есть, значит все работает как положено. Теперь сделаем так, что бы Squid и Apache запускались автоматически при каждой загрузке машины.
# cat > /usr/local/etc/rc.d/apache.sh #!/bin/sh /usr/local/apache/bin/apachectl start ^D # cat > /usr/local/etc/rc.d/squid.sh #!/bin/sh /usr/local/squid/bin/squid -D ^D # chmod 100 /usr/local/etc/rc.d/apache.sh /usr/local/etc/rc.d/squid.sh
Настало время перезапустить компьютер и наслаждаться тем, как все гладко работает. В качестве маленького бонуса можно наладить автоматическое обновление базы доменов. Для скачивания файла базы доменов нам понядобится wget. Распаковываем и ставим как обычно.
# tar zxvf wget-1.8.2.tar.gz # cd wget-1.8.2 # ./configure # gmake # gmake install
Смотрим, куда он у нас установился.
# where wget /usr/local/bin/wget
Пишем скрипт, который будет выкачивать обновления с сайта MESD и класть их в директорию /usr/local/squidGuard/update. Затем архив с обновлениями будет распакован и скопирован в директорию /usr/local/squidGuard/bd. После этого будет произведена перестройка баз и перезапуск squid.
#cat > /usr/local/squidGuard/bin/update_blacklist.sh #!/bin/sh /usr/local/bin/wget -q --cache=off 'http://blacklist.dansguardian.org/cgi-bin/download.pl?type=download&file=bigblacklist' -O /usr/local/squidGuard/update/blacklist.tar.gz tar zxvf /usr/local/squidGuard/update/blacklist.tar.gz -C /usr/local/squidGuard/update/ cp -R -f /usr/local/squidGuard/update/blacklists/* /usr/local/squidGuard/bd rm -R /usr/local/squidGuard/update/blacklists /usr/local/squidGuard/rebuid_base.sh ^D # chmod 100 /usr/local/squidGuard/bin/update_blacklist.sh # mkdir /usr/local/squidGuard/update # crontab -e -u root MAILTO="admin@test.ru" 1 0 * * 7 /usr/local/squidGuard/bin/update_blacklist.sh
Назначаем выполнение обновления на 0 часов 1 минуту каждого воскресенья. Уведомление о выполнении этого задания приказываем слать по адресу admin@test.ru.
Последнее изменение внесено 12.11.2002
страницы: | 1, 2, 3, 4 |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |