Алексей Стахнов - Linux
- Название:Linux
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Алексей Стахнов - Linux краткое содержание
Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.
Для начинающих администраторов или пользователей Linux.
Linux - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Чтобы HTTP-запросы пользователей попали к HTTP proxy-серверу, необходимо таким образом настроить маршрутизатор (брандмауэр), чтобы транзитные пакеты, предназначенные для порта 80, попадали на вход proxy-сервера. Если proxy-сервер должным образом настроен, он правильно обработает полученные запросы. В Squid.conf добавляются следующие строчки:
httpd_accel www.your.domain 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Ключи запуска Squid
Помимо конфигурационного файла, поведением программы Squid можно управлять с помощью ключей командной сторки. Далее приведены некоторые из них с поянениями:
• -а – указывает порт для входных HTTP-запросов;
• -d – выводит отладочную информацию на устройство stderr (обычно – текущая консоль);
• -f имя_файла_конфигурации – позволяет использовать альтернативный конфигурационный файл (удобно для отладки сервера);
• -h – выводит краткую справку по программе Squid;
• -k – этот ключ позволяет посылать Squid следующие управляющие сигналы:
– reconfigure – посылка сигнала hup. Используется для прочтения измененного конфигурационного файла;
– rotate – позволяет произвести ротацию журналов (сигнал usri);
– shutdown – прервать выполнение программы с корректным завершением (сигнал term);
– interrupt – немедленно завершить работу программы (сигнал шт);
– kin – «убить» приложение (kill);
– debug – начать/закончить полную трассировку (сигнал USR2);
– check – проверка (сигнал zero);
• -u – задает порт для входных 1СР-запросов;
• -v – выводит версию программы;
• -z – создает дисковый кэш при первом запуске (Важно!);
• -D – предписывает не производить DNS-тест при запуске;
• -F – восстанавливает после сбоя не в фоновом режиме (ускорение восстановления);
• -N – предписывает не становиться фоновым процессом;
• -V – включает поддержку виртуальных хостов для режима акселерации;
• -X – включает отладку при разборе конфигурационного файла;
• -Y – включает быстрое восстановление после сбоев.
Первый раз Squid нужно запускать с ключом -z:
Squid -z
При этом программа создаст дерево кэшей. Этой же командой следует воспользоваться с том случае, если вам необходимо очистить кэш proxy-сервера. Для закрыатия текущих файлов журналов и создания новых (чистых) файлов используется команда:
Squid -k rotate
Файлы журналов Squid
Файл access.log
Файл access.log используется для хранения информации о всех подключениях к proxy-серверу. Запись добовляется, когда клиент закрывает соединение. Для сервера с большим трафиком файл может за день увеличиться на десятки мегабайт. К примеру, при трафике в 10 тыс. запросов в сутки объем журнала увеличивается примерно на 2 Мбайт.
Еденицей информации о соединении является строка. Строка состоит из десяти полей. Ниже приведено описание полей с пояснениями:
• timestamp – время в UNIX-формате (время с 1 января 1970 года в миллисекундах);
• elapsed – затраченное время в миллисекундах;
• client IP address – IP-адрес клиента, пославшего запрос;
• type/HTTP – результат запроса, где type:
– TCP_HIT – верная копия объекта нашлась в кэше;
– TCP_MISS – запрашиваемый объект не был в кэше;
– TCP_EXPIRED – объект есть в кэше, но он устарел;
– ТСP_CLIENT_REFRESH – клиент запросил принудительное обновление объекта;
– TCP_REFRESH_HIT – объект в кэше был старым, был сделан запрос к источнику и источник ответил "объект не изменился";
– TCP_REFRESH_MISS – объект в кэше был старым, был сделан запрос к источнику и тот вернул обновленное содержание;
– TCP_IMS_HIT – клиент выдал запрос, объект оказался в кэше и свежим;
– TCP_IMS_MISS – клиент выдал запрос для просроченного объекта;
– ТСP_REF_FAIL_HIT – объект в кэше устарел но запросить новую копию не удалось;
– TCP_SWAPFAIL – объект должен находиться в кэше, но его не смогли извлечь;
– TCP_DENIED – отказ;
• size – количество байтов, переданных клиенту;
• method – метод передачи информации; GET, HEAD, POST для ТСР-запросов или ICP_QUERY для UDP-запросов;
• URL – адрес запрашиваемого объекта;
• ident "-", если недоступен;
• hierarhy data/Hostname – результат запросов к братским/родительским кэшам:
– PARENT_HIT – UDP-запрос к родительскому кэшу (parent) вернулся с подтверждением;
– PARENT_UDP_HIT_OBJECT – объект оказался в родительском кэше parent и поместился в UDP-ответе;
– DIRECT – объект был запрошен с оригинального сервера;
• тип содержимого (MIME-тип/подтип).
Файл store.log
Файл store.log используется для хранения информации о всех кэшируемых объектах proxy-сервера. Единицей информации о соединении является строка. Строка состоит из одиннадцати полей. Ниже приведены поля с пояснениями:
• Time – время в UNIX-формате (время с 1 января 1970 года в миллисекундах);
• action – действие:
– RELEASE – удален из кэша;
– SWAPOUT – сохранен на диск;
– SWAPIN – был на диске, загружен в память;
• HTTP reply code – код ответа HTTP-сервера;
• HTTP Date – дата создания объекта;
• HTTP Last-Modified – время последней модификации объекта;
• HTTP Expires – срок жизни объекта;
• HTTP content-Type – тип объекта;
• HTTP Content-Length – размер объекта;
• реально полученное число байтов. В том случае, если не совпадает с предыдущим полем, объект не сохраняется;
• HTTP metod – метод передачи информации (GET, HEAD, POST).
• Access key – ключ доступа (обычно URL).
Файл useragent.log
Предназначен для хранения информации о том, с какими пользовательскими агентами (Web-браузерами) работают клиенты. Малоинтересен в практическом плане. Разве что для получения статистики по частоте использования тех или иных Web-браузеров.
Нестандартные применения
Функциональность программы Squid не ограничивается только функцией proxy-сервера. У нее есть достаточно много других интересных применений. В этом разделе мы рассмотрим только некоторые из них.
Борьба с баннерами
Наверняка вам встречались Web-страницы, на которых нужной информации было от силы на килобайт, а рекламных баннеров (зачастую анимированных) – пять-шесть. Хорошо когда канал большой и бесплатный. Когда же пользуешься обычным коммутируемым соединением да еще платишь за соединение из своего кармана, каждый килобайт начинаешь считать. В этом случае можно настроить локальный сервер Squid таким образом, чтобы не происходила закачка ненужных баннеров. Этого можно добиться несколькими способами.
Вариант 1
Простой. На месте баннеров показываются разорванные картинки или перекрещенные прямоугольники (неполученные файлы).
1. Определяем сайты банерных сетей и создаем для них регулярные выражения.
Интервал:
Закладка: