Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
Ну что ж, теперь можно запустить демон innd (rc.news поможет нам в этом) и насладиться его работой!
Журналирование пакета INN
Пакет INN использует стандартный способ – стандартную систему журнализации событий syslog. Помимо этого, можно использовать дополнительные журналы сообщений, в частности:
• news.crit – содержит сообщения о критических ошибках, требующих внимания от администратора сервера новостей;
• news.err – содержит сообщения о фатальных ошибках сервера;
• news.notice – используется для записи информации о соединении удаленных NNTP-хостов, активности клиентов, в этом же файле информируют о своей работе программы ctlinnd, innxmit, rnews.
Система INN имеет помимо log-файлов, поддерживаемых системой syslog, встроенные log-файлы – errlog и news (по умолчанию они расположены в каталоге /var/log/news):
• файл errlog содержит стандартный вывод и стандартные ошибки любых программ, порождаемых демоном innd;
• файл news регистрирует все статьи, поступающие к innd для обработки.
Помимо перечисленных выше файлов регистрации, ряд программ системы INN ведет собственные файлы регистрации (expire.log, send-uucp.log, nntpsend.log и др.).
Программы пакета INN
Поскольку пакет INN очень велик, то в этом разделе приведены некоторые программы, имеющие отношение к пакету с небольшими комментариями:
• /usr/bin/actived – вспомогательный демон для nmpd, хранит в памяти проиндексированный файл active;
• /usr/bin/actmerge – утилита, позволяющая произвести слияние двух файлов active;
• /usr/bin/actsync – утилита для синхронизации, сравнения или слияния файлов active;
• /usr/bin/archive – утилита для создания архивной копии части статей;
• /usr/bin/batcher – программа разбивает на пакеты указанного размера список статей, подготовленных для посылки на хост;
• /usr/bin/controlchan – программа позволяет передать обработку управляющих сообщений из innd внешней программе;
• /usr/bin/convdate – утилита для преобразования формата времени;
• /usr/bin/ctlinnd – интерфейс для управления работающим innd;
• /usr/bin/cvtbatch – преобразует Usenet-пакеты в формат INN;
• /usr/bin/expire – утилита для удаления старых статей без прерывания работы innd;
• /usr/bin/expireindex – удаление старых статей из списка заголовков статей группы;
• /usr/bin/expireover – удаление старых статей из списка статей группы;
• /usr/bin/fastrm – быстрое удаление группы файлов;
• /usr/bin/getlist – получение списков от NNTP-сервера;
• /usr/bin/grephistory – быстрое извлечение статьи по ее индексу;
• /usr/bin/inncheck – проверка конфигурационных файлов;
• /usr/bin/innd – основной сервер, принимающий данные и изменяющий базу данных;
• /usr/bin/inndstart – пусковая программа для innd;
• /usr/bin/innreport – обработка журналов;
• /usr/bin/innstat – выдать состояние сервера;
• /usr/bin/innwatch – мониторинг сервера inn;
• /usr/bin/innxbatch – послать статьи в формате Usenet другому NNTP-серверу;
• /usr/bin/innxmit – пересылка пакета статей другому NNTP-серверу;
• /usr/bin/mailpost – поместить письмо в news-группу;
• /usr/bin/makeactive – восстановление файла active по спулу;
• /usr/bin/news.daily – подготовка ежедневного отчета;
• /usr/bin/news2mail – превращение статей в письма;
• /usr/bin/nnrpd – отдельный процесс, предоставляющий клиентам доступ к статьям;
• /usr/bin/nntpsend – оболочка для innxmit;
• /usr/bin/overchan – заполнение данных списка заголовков статей группы;
• /usr/bin/parsecontrol – анализ управляющих сообщений;
• /usr/bin/pgpverify – проверка управляющих сообщений;
• /usr/bin/scanlogs – обработка журналов;
• /usr/bin/send-nntp – подготовка и рассылка пакетов с помощью innxmit;
• /usr/bin/sendxbatches – подготовка и рассылка пакетов с помощью innxbatch;
• /usr/bin/writelog – запись в журнал inn.
Утилиты
newsprune
Утилита просматривает все каталоги, соответствующие файлу active, и генерирует список файлов, для которых нет соответствующей строки в индексном файле.
findmissing.pl
Создает список файлов, найденных в спуле, но отсутствующих в индексном файле.
Ссылки
• malik.bishkek.su/doc/UNIX/innd/inn.htm – Юрий Савин. Сервер новостей InterNetNews (INN).
• www.bog.pp.ru/work/inn.html – конфигурирование сервера INN.
• www.isc.org/products/INN – официальный сайт INN.
• www.switch.ch/switch/netnews/wg/newstools.html – утилиты для пакета INN.
• www.mibsoftware.com/userkt/inn/0346.htm – утилиты для пакета INN.Глава 22 Proxy-сервер
При подключении к любому провайдеру вам выдаются параметры настройки – адрес сервера DNS, адрес почтового сервера и сервера новостей, а так же – адрес proxy-сервера.
Что собой представляет proxy-сервер? Если вы настроите свой браузер для работы через proxy-сервер, то при запросе некоторого документа из Интернета, если некоторое время назад кто-то уже обращался с подобным запросом, вы получите документ незамедлительно, с максимальной скоростью, на которую способно ваше сетевое подключение, потому что вы получите копию документа, взятую из кэша proxy-сервера. Если же proxy-сервер не имеет в своем кэше данного документа, то proxy-сервер запросит удаленный WWW-сервер, хранящий оригинал, и выдаст документ вам, одновременно положив копию документа в свой кэш.
Чем больше пользователей пользуются proxy-сервером, тем более существенной становится его помощь. Согласно статистике, количество обращений пользователей к одним и тем же документам в сети Интернет приближается к 60 %.
Многие proxy-серверы обладают еще одним интересным свойством – они могут обмениваться информацией с соседними proxy-серверами, что существенно ускоряет доступ к данным, хранящимся на удаленных или сильно загруженных серверах.
Proxy-сервер предоставляет следующие возможности:
• централизованный выход в Интернет через один сервер в сети;
• локальное хранение часто просматриваемых документов для увеличения скорости загрузки страниц;
• возможность регулировать пропускную способность канала в зависимости от его нагрузки;
• авторизованный доступ в Интернет;
• возможность обмена данными кэша с соседними proxy-серверами.
Однако не все данные могут быть корректно получены через proxy-серверы. Это касается, прежде всего, динамически формируемой информации. Однако большинство современных proxy-серверов имеют большое количество настроек и обладают множеством интеллектуальных алгоритмов, позволяющих в большинстве случаев корректно получать самую свежую информацию.
Наиболее распространенным proxy-сервером, доступным под лицензией GNU, является Squid.
Squid
Squid это высокопроизводительный кэширующий proxy-сервер, поддерживающий протоколы FTP, gopher и HTTP. Squid сохраняет часто запрашиваемые данные в оперативной памяти компьютера, что позволяет резко увеличить производительность proxy-сервера, кэширует DNS-запросы (это свойство интересно тем, кто не имеет своего DNS-сервера). Помимо вышеперечисленных возможностей, поддерживает SSL, расширенный контроль доступа и полную регистрацию запросов.
Одной из ключевых возможностей пакета Squid является использование протокола Internet Cache Protocol (ICP, Протокол интернет-кэширования), что позволяет создать иерархию proxy-серверов Squid для дополнительной экономии пропускной способности канала.
Поддерживаемые функции Squid:
• proxy и кэширование HTTP, FTP;
• proxy для SSL;
• иерархия кэшей;
• ICP, НТСР, CARP, Cache digests;
• прозрачный proxy;
• WCCP;
• гибкий контроль доступа;
• HTTP-серверное ускорение;
• SNMP;
• кэширование DNS-запросов;
• возможность ограничения трафика.
Рассмотрим некоторые из этих функций подробнее.
Протокол ICP
Протокол ICP используется в иерархии кэшей для поиска объектов в дереве кэшей Squid-серверов. Если ваш Squid не находит нужного документа, то посылает ICP-запрос другим Squid-серверам, входящим в вашу иерархию proxy-серверов. Эти серверы отвечают ICP ответами hit (попадание) или miss (промах). После получения ответов ваш сервер решает, при помощи какого кэша proxy-сервера получить необходимые ему данные.
Cache digest
Компактная форма представления списка содержимого кэша proxy-сервера. Proxy-серверы могут обмениваться этой информацией с соседями для избежания необходимости делать ICP-запросы (экономия трафика). В качестве ключей объектов используется протокол шифрования MD5.
Иерархия кэшей
Иерархия кэшей – это структура кэширующих proxy-серверов, расположенных логически как родительский/дочерний и братский узлы таким образом, что кэши, ближайшие к интернет-каналу, являются родителями тем proxy-серверам, которые находятся дальше от точки доступа к Интернету. В случае, когда кэш запрашивает объект от родителя, и у того в кэше необходимый объект отсутствует, родительский proxy-сервер получает объект из Интернета, кэширует его и передает дочернему. Таким образом, при помощи иерархии достигается максимальная разгрузка канала.
Кроме родительских/дочерних отношений, Squid поддерживает понятие братских кэшей – находящихся на одном уровне иерархии. Каждый proxy-сервер в иерархии независимо ни от кого решает, откуда получать необходимый объект – напрямую из Интернета, от родительского или братского кэша.
Алгоритм получения запрошенного объекта пакетом Squid
Алгоритм таков:
1. Разослать ICP-запросы всем братским кэшам.