Мы — долго запрягаем, быстро ездим, и сильно тормозим.

RFC
Программирование
FreeBSD
man
EXIM
  4.62
  часть 1
  часть 2
  часть 3
  часть 4
  часть 5
  часть 6
  часть 7
  часть 8
  часть 9
  часть 10
  часть 11
  часть 12
  часть 13
  часть 14
  часть 15
  часть 16
  часть 17
  часть 18
  часть 19
  часть 20
  часть 21
  часть 22
  часть 23
  часть 24
  часть 25
  часть 26
  часть 27
  часть 28
  часть 29
  часть 30
  часть 31
  часть 32
  часть 33
  часть 34
  часть 35
  часть 36
  часть 37
  часть 38
  часть 39
  часть 40
  часть 41
  часть 42
  часть 43
  часть 44
  часть 45
  часть 46
  часть 47
  часть 48
  часть 49
  часть 50
  часть 51
  часть 52
  часть 53
  filter facility
  4.70


www.lissyara.su —> документация —> EXIM —> 4.62 —> часть 48

48. Файлы логов


    Exim пишет три различных лога, называемых - главный лог, лог отклонённых, и лог паники:

  • В главном логе записывается приход каждого сообщения, и каждая доставка, по одной строке на каждый случай. Формат - компактен насколько возможно, с целью попытаться уменьшить размер лог-файлов. Двухсимвольная последовательности флага облегчают выбор этих строк. Множество иных событий записывается в главный лог. Некоторые из них - опциональны, управляемые включением или выключением опции селектора логов log_selector. Perl`овый скрипт, называемый eximstats, производит простой анализ файлов главного лога, предоставляется в дистрибутиве exim`a (смотрите раздел 49.7).
  • В лог отклонённых записывается информация из сообщений, которые были отклонены как результат конфигурационных опций (т.е. по причинам политик). Первая строка каждого отклонения - копия строки, которая, также, пишется в главный лог. Затем, если заголовки сообщения были прочитаны во время записи лога, их содержимое пишется в этот лог. Доступны лишь оригинальные строки заголовоков; заголовки добавленные ACL - не логгируются. Вы можете использовать лог отклонённых для проверки, что ваши политики работают корректно; на загруженных хостах это может быть более легким чем сканирование главного лога на отклонённые сообщения. Вы можете подавить запись лога отклонённых путём установки write_rejectlog в ложь.
  • Когда происходят определённые серьёзные ошибки, exim делает запись в лог паники. Если ошибка достаточно серьёзная, exim прекращает работу. Записи в лог паники, обычно, также пишутся в главный лог, но могут теряться среди массы других записей. В обычных обстоятельствах, лог паники должен быть пустой. Хорошая идея - проверять его регулярно (или скрипт в cron, который будет это делать), с целью узнать о проблемах. Когда exim yе может открыть свой лог паники, он пытается, как последнее средство, записать в системный лог (syslog). Он открывается с LOG_PID+LOG_CONS и кодом средства LOG_MAIL. Само сообщение пишется с приоритетом LOG_CRIT.

       Каждая строка лога начинается со штампа времени, в формате, показанном в следующем примере. Отметьте, что многие из примеров, показанных в этой части, с переносом строк. В файле логов, это было бы одной строкой:
    2001-09-16 16:09:47 SMTP connection from [127.0.0.1] closed
      by QUIT
    

       По умолчанию, штампы времени в локальной временной зоне. Есть два способа это изменить:

  • Вы можете установить опцию timezone в иную временную зону; в частности, вы можете установить:
    timezone = UTC
    

    для штампов времени в UTC (который - GMT).

  • Вы можете установить log_timezone в истину, для добавления временной зоны к штампу времени, например:
    2003-04-25 11:17:07 +0100 Start queue run: pid=12762
    

    48.1 Где пишутся логи

       Логи могут быть записаны в локальные файлы, или в syslog, или и туда и туда. Однако, нужно отметить, что многие реализации syslog используют в качестве транспорта UDP, и ненадёжны, в смысле, что не гарантируется прибытие сообщений на хост логгирования, и при этом порядок сообщений не обязательно поддерживается. Также сообщалось, что на больших файлах логов (десятки мегабайт), возможно, вам необходимо настроить syslog, для предотвращения синхронизации файла при каждой записи - на linux было замечено, что это вызывало 90% загрузку центрального процессора.
       Назначение для логов exim`a конфигурируется путём установки LOG_FILE_PATH в
    Local/Makefile, или путём установки log_file_path в рабочей конфигурации. Эта, последняя, строка раскрывается, и, таким образом, она может содержать, например, ссылки на имя хоста:
    log_file_path = /var/log/$primary_hostname/exim_%slog
    

       Вообще, желательна установка строки в Local/Makefile, вместо рабочей конфигурации, поскольку в этом случае установка доступна с самого начала выполнения exim`a. Иначе, если будет нужно залоггировать что-то до чтения конфигурационного файла (например, ошибку в конфигурационном файле), он не сможет использовать путь который вы хотите, и может оказаться не в состоянии залоггировать вообще что бы то нибыло.
       Значение LOG_FILE_PATH или
    log_file_path - список разделённый двоеточиями, в настоящее время ограниченный максимум двумя элементами. Это - единственная опция, где не может использоваться средство для изменения разделителя списка. Этот список всегда должен быть разделён двоеточиями. Если элемент в списке - syslog, тогда используется syslog; иначе, элемент должен быть абсолютным путём, содержащим %s как точку, где должны быть вставлены main, reject, или panic, или быть пустым, подразумевая использование дефолтового пути.
       Когда exim сталкивается с пустым элементом в списке, он ищет список, заданный путём LOG_FILE_PATH, и использует первый найденный элемент, если он не пустой, или не
    syslog. Это означает, что в log_file_path может использоваться пустой элемент, для обозначения использовать путь заданный при сборке. Если элемента не существует, лог файлы пишутся в субдиректорию log, в директории спула. Это эквивалентно установке:
    log_file_path = $spool_directory/log/%slog
    

       Если вы не определили что-то при компиляции или в рабочей конфигурации, логи пишутся по указанному пути.
       Путь к логам может содержать
    %D, если в имени логов используется штамп даты - смотрите секцию 48.3, ниже.
       Вот - некоторые примеры возможных установок:
    LOG_FILE_PATH=syslog                     syslog only
    LOG_FILE_PATH=:syslog                    syslog and default path
    LOG_FILE_PATH=syslog : /usr/log/exim_%s  syslog and specified path
    LOG_FILE_PATH=/usr/log/exim_%s           specified path only
    

       Если в списке более двух путей, используется первый, и логгируется паническая ошибка.

    48.2 Логгинг в локальные файлы, которые периодически ротируются

       Некоторые операционные системы предоставляют централизованные и стандартизованные методы для ротации файлов логов. Для тех, которые этого не делают, предоставляется скрипт утилиты с именем exicyclog (смотрите секцию [url=/?id=1249#49.6]49.6[/url). Он переименовывает и сжимает главный лог, и лог отклонённых при каждом его вызове. Может быть настроено максимальное число оставляемых старых логов. Предполагается, что этот скрипт запускается как ежедневное задание cron.
       Процесс доставки exim`a открывает главный лог когда ему первый раз необходимо в него записать, и оставляет его открытым в случае, если требуется последующая запись - например, если для одного и того же сообщения производится несколько различных доставок. Однако, удалённые SMTP-доставки могут занять много времени, и это означает, что файл может оставаться открытым после его переименования, если
    exicyclog, или что-то подобное используется для переименования файлов логов на регулярной основе (имеется ввиду - постоянно - раз в сутки, например - прим. lissyara). Для гарантии, что переключение лог-файлов будет замечено как можно быстрее, exim вызывает stat() для имени главных логов, до повторного использования открытых файлов, и если файл не существует, или изменилась его инода, старый файл закрывается, и exim пробует открыть пустой главный лог. Таким образом, старый лог может оставться открытым довольно долго, но никакие процессы exim`a в него не пишут, как только он был переименован.

    48.3 Штамп даты на файлах логов

       Вместо ротации файлов главного лога и лога отклонённых путём их периодического переименовывания, некоторые любят исполльзовать файлы, чьи имена содержат штамп времени, например, mainlog-20031225. Штамп времни имеет форму yyyymmdd. Exim обладает поддержкой для этого способа работы. Он включается путём установки опции log_file_path в путь, который содержит %D в точке где требуется штамп даты. Например:
    log_file_path = /var/spool/exim/log/%slog-%D
    log_file_path = /var/log/exim-%s-%D.log
    log_file_path = /var/spool/exim/log/%D-%slog
    

       Как и прежде, %s заменяется на main или reject; вот - примеры имён генерируемых этим примером:
    /var/spool/exim/log/mainlog-20021225
    /var/log/exim-reject-20021225.log
    /var/spool/exim/log/20021225-mainlog
    

       Когда задана эта форма логов, exim автоматически переключается на новые файлы по ночам. Он не предпринимает никаких попыток для сжатия старых логов; вам придётся написать свой скрипт, который будет это делать. Вы не должны запускать exicyclog с этой формой логгинга.
       Местоположение лога паники, также определяется путём
    log_file_path, но на него не ставиться штамп даты, поскольку ротация лога паники не имеет смысла. При генерации имени лога паники, %D удаляется из строки. Дополнительно, если он идёт немедленно после слэша, следующий не алфавитно-цифровой символ - удаляется; иначе, удаляется предшествующий не алфавитно-цифровой символ. Таким образом, предыдущие три примера, привели бы к таким логам паники:
    /var/spool/exim/log/paniclog
    /var/log/exim-panic.log
    /var/spool/exim/log/paniclog
    

    48.4 Логгинг в syslog

       Использование syslog не изменяет того, как exim логгирует, или формат его сообщений, исключая одно отношение. Если syslog_timestamp установлена в ложь, штамп времени в строках лога exim`a пропускается, когда строка посылается в syslog. Кроме того? те же самые строки пишутся в syslog как в файлы логов. Средство (facility) syslog установлено в LOG_MAIL, и по умолчанию, программа именуется exim, но вы можете изменить это путём опций syslog_facility и syslog_processname, соответственно. Если exim скомпилен с SYSLOG_LOG_PID установленным в Local/Makefile (это, значение по умолчанию, в src/EDITME), тогда, на системах, которые разрешают это (все, исключая ULTRIX), флаг LOG_PID - установлен так, чтобы вызов syslog() добавлял pid, также как и время и имя хоста, в каждую строку. Три потока логов распределяются по приоритетам syslog следующим образом:

  • mainlog - маппится на LOG_INFO
  • rejectlog - маппится на LOG_NOTICE
  • paniclog - маппится на LOG_ALERT
       Многие строки пишутся в оба -
    mainlog и rejectlog, а некоторые пишутся и в mainlog и в paniclog, таким образом, они будут дублироваться, если syslod их направит в одно место. Вы можете подавить дубликацию путём установки syslog_duplication в ложь.
       Иногда, строки логов exim`a бывают очень длинными, и некоторые записи
    rejectlog содержат несколько строк, когда включаются заголовки. Для борьбы с этими обоими случаями, записываемые в syslog вхождения разделяются в отдельные вызовы syslog() по внутренним новым строкам, и, также, после максимум, 870 знаков. (Это учитывает максимальную длинну строки syslog - 1024, когда добавлены дополнения, типа штампа времени.) Если вы запускаете замену syslog, которая может обработать строки длинней чем 1024 символа, разрешённые RFC3164, вы должны установить
    SYSLOG_LONG_LINES=yes
    

    в Local/Makefile до сборки exim`a. Это предотвращает разбитие exim`ом длинных строк, но всё ещё разбирает внутренние новые строки во вхождениях лога reject.
       Для облегчения повторной сборки разбитых строк, каждый компонент разбитого вхождения начинается со строки формы
    [<n>/<m>] или [<n>\<m>], где <n> - компонент числа, и <m> - полное число компонентов вхождения. Разделитель / используется когда строка разбита из-за того, что она слишком длинная; если же она разбита из-за внутренней новой строки, используется разделитель \. Например, предположим что ограничение длинны 50 вместо 870, следующий пример был бы результатом типичного отклонения сообщения в mainlog (LOG_INFO), дополненительно, каждая строка предваряется временем, именем хоста, и pid, добавляемых syslog:
    [1/5] 2002-09-16 16:09:43 16RdAL-0006pc-00 rejected from
    [2/5]  [127.0.0.1] (ph10): syntax error in 'From' header
    [3/5]  when scanning for sender: missing or malformed lo
    [4/5] cal part in "<>" (envelope sender is <ph10@cam.exa
    [5/5] mple>)
    

       Та же самая ошибка могла бы привести к следующим строкам записанным в rejectlog (LOG_NOTICE):
    [1/18] 2002-09-16 16:09:43 16RdAL-0006pc-00 rejected fro
    [2/18] m [127.0.0.1] (ph10): syntax error in 'From' head
    [3/18] er when scanning for sender: missing or malformed
    [4/18]  local part in "<>" (envelope sender is <ph10@cam
    [5\18] .example>)
    [6\18] Recipients: ph10@some.domain.cam.example
    [7\18] P Received: from [127.0.0.1] (ident=ph10)
    [8\18]        by xxxxx.cam.example with smtp (Exim 4.00)
    [9\18]        id 16RdAL-0006pc-00
    [10/18]        for ph10@cam.example; Mon, 16 Sep 2002 16:
    [11\18] 09:43 +0100
    [12\18] F From: <>
    [13\18]   Subject: this is a test header
    [18\18]   X-something: this is another header
    [15/18] I Message-Id: <E16RdAL-0006pc-00@xxxxx.cam.examp
    [16\18] le>
    [17\18] B Bcc:
    [18/18]   Date: Mon, 16 Sep 2002 16:09:43 +0100
    

       Строки логов, которые не слишком длинные, или не содержат символа новой строки, пишутся в syslog без модификации.
       Если используется только syslog, монитор exim`a не может показывать логи, если syslog не направляет
    mainlog в файл на локальном хосте, и переемнная окружения EXIMON_LOG_FILE_PATH не указывает монитору, где он находится.

    48.5 Флаги строк логов

       На каждое пришедшее сообщение, в логи записывается одна строка, и для каждой успешной, неуспешной, и задержанной доставки. Эти строки могут быть выбраны по отличительным двухсимвольным флагам, которые идут сразу за штампом времени. Флаги таковы:
    Флаг
    Значение
    <= прибытие сообщения
    => нормальная доставка сообщения
    -> дополнительный адрес в той же доставке
    *> доставка подавлена путём -N
    ** доставка неудачна; отправляется рикошет
    == доставка задержана; временная проблема

    48.6 Логирование приёма сообщений

       Формат однострочного вхождения в главном логе, который пишется для каждого полученного сообщения, показан в простом примере, ниже, который разбит на несколько строк, чтобы уместиться на странице:
    2002-10-31 08:57:53 16ZCW1-0005MB-00 <= kryten@dwarf.fict.example
      H=mailer.fict.example [192.168.123.123] U=exim
      P=smtp S=5678 id=<incoming message id>
    

       Адрес, немедленно сопровождаемый <= - адрес отправителя конверта. Рикошет отображается с адресом отправителя <>, и, если он сгенерирован локально, он сопровождается элементом в форме:
    R=<message id>
    

    являющимся ссфлкой на сообщение, которое вызвало отсылку рикошета.
       Для сообщений с других хостов, поля
    H и U идентифицируют удалённый хост и запись идентификатора RFC1413 пользователя, пославшего сообщение, если оно было принято. Число данное в кадратных скобках - IP адрес, отсылавшего хоста. Если тут единственное, не заключённое в скобки, имя хоста в поле H, как выше, значит оно было проверено на соответствие IP адресу (смотрите опцию host_lookup). Если имя в круглых скобках, то это имя, указанное удалённым хостом в SMTP команде HELO или EHLO, и оно не было проверено. Если проверка приводит к имени отличающемуся от данного в HELO или EHLO, проверенное имя показано первым, сопровождаемое именем HELO или EHLO в круглых скобках.
       Неверно сконфигурированные хосты (и те, кто подделывает почту) иногда помещают IP адрес, с квадратными скобками, или без, в команду HELO или EHLO, приводя к записям в логах, типа этих примеров:
    H=(10.21.32.43) [192.168.8.34]
    H=([10.21.32.43]) [192.168.8.34]
    

       Это может запутывать. Можно положиться лишь на последний адрес в квадратных скобках.
       Для локально сгенерённых сообщений (т.е. не переданных через TCP/IP), поле
    H - пропущено, и поле U содержит логин вызвавшего exim.
       Для всех сообщений, поле
    P определяет протокол, используемый для получения сообщения. Это значение сохраняется в $received_protocol. В случае входящего SMTP сообщения, значение указывает, использовались ли расширения SMTP (ESMTP), шифрование, или аутентификация. Если сессия SMTP была шифрованная, есть дополнительное поле X, в котором записан тип использовавшегося шифрования.
       Протокол устанавливается в
    esmptsa или esmtpa для сообщений переданных от хостов которые аутентифицировались, используя команду SMTP AUTH. Первое значение используется когда SMTP соединение шифрованное (secure). В этом случае, есть дополнительный пункт A=, сопровождаемый именем использовавшегося аутентификатора. Если аутентифицированная идентификация была установлена аутентифкационной опцией server_set_id, она также логируется, отделяемая двоеточием от имени аутентификатора.
       Поле
    id записывает существующий идентификатор сообщения, если он есть. Размер принятого сообщения даётся в поле S. Когда сообщение доставляется, заголовки могут быть удалены или добавлены, таким образом, размер доставленных копий сообщений может не соответствовать этому значению (и в действительности могут отличаться друг от друга).
       Опция
    log_selector может использоваться для запроса логгинга дополнительных данных, при получении сообщения. Смотрите раздел 48.15.

    48.7 Логгинг доставок

       Формат однострочного вхождения в главном логе, который пишется для каждой доставки показан в одном из примеров ниже, для локальной и удалённой доставки соответсвенно. Каждый пример был разбит на две строки, чтобы вписаться в страницу:
    2002-10-31 08:59:13 16ZCW1-0005MB-00 => marv
      <marv@hitch.fict.example> R=localuser T=local_delivery
    2002-10-31 09:00:10 16ZCW1-0005MB-00 =>
      monk@holistic.fict.example R=dnslookup T=remote_smtp
      H=holistic.fict.example [192.168.234.234]
    

       Для обычных локальных доставок, оригинальный адрес даётся в угловых скобках после финального адреса доставки, который может быть трубой или файлом. Если между оргтнальным и финальным адресом существует промежуточный, последний даётся в круглых скобках после заключительного адреса. Поля R и T записывают роутер и транспорт которые использовались при обработке адреса.
       Если после успешной локальной доставки запускается теневой транспорт, к концу строки о успешной доставке добавляется элемент, в форме:
    ST=<shadow transport name>
    

       Если теневой транспорт был неуспешен, сообщение о ошибке помещается в конце, в круглых скобках.
       Когда в одной доставке включён более чем один адрес (например, две команды SMTP RCPT в одной транзакции), второй и последующие адреса помечаются флагами с
    -> вместо =>. Когда два и более сообщения отправляются по одному SMTP соединению, для второго и последующих сообщений в строках логов за IP адресом вставляется звёздочка.
       Генерация сообщения с ответом, путём файла фильтра, логгируется как
    доставка на адрес, которому предшествует >.
       Опция
    log_selector может использоваться для запроса логгинга дополнительных данных, при получении сообщения. Смотрите раздел 48.15.

    48.8 Доставки от которых отказались

       Когда от сообщения отказались, как разультат команды seen finish появившейся в файле фильтра, который не генерит никаких доставок, в логи записывается вхождение такой формы:
    2002-12-10 00:50:49 16auJc-0001UB-00 => discarded
      <low.club@bridge.example> R=userforward
    

    для указаний, почему не залоггированы никакие доставки. Когда от сообщения отказываются по причине что альяс привёл к :blackhole: (чёрная дыра - /dev/null - прим. lissyara), строка логов будет такой:
    1999-03-02 09:44:33 10HmaX-0005vi-00 => :blackhole:
      <hole@nowhere.example> R=blackhole_router
    

    48.9 Отсроченные доставки

       Когда сообщение задержано, логгируется строка следующей формы:
    2002-12-19 16:20:23 16aiQz-0002Q5-00 == marvin@endrest.example
      R=dnslookup T=smtp defer (146): Connection refused
    

       В случае удалённых доставок, ошибка - то, что давалось для последнего пробовавшегося IP адреса. Детали индивидуальной SMTP ошибки также пишутся в лог, таким образом, вышеупомянутой строке предшествовало  бы что-то вроде этого:
    2002-12-19 16:20:23 16aiQz-0002Q5-00 Failed to connect to
      mail1.endrest.example [192.168.239.239]: Connection refused
    

       Когда задержанный адрес пропускается, поскольку не наступило его времяя повтора, в лог записывается сообщение, но это может быть подавлено путём установки соответствующего значения в log_selector.

    48.10 Ошибки доставки

       Если доставка неуспешна по причине невозможности сроутить адрес, логгируется строка такой формы:
    1995-12-19 16:20:23 0tRiQz-0002Q5-00 ** jim@trek99.example
      <jim@trek99.example>: unknown mail domain
    

       Если доставка неудачна в транспортное время, показываются роутер и транспорт, и включается ответ удалённого хоста, как в этом примере:
    2002-07-11 07:14:17 17SXDU-000189-00 ** ace400@pb.example
      R=dnslookup T=remote_smtp: SMTP error from remote mailer
      after pipelined RCPT TO:<ace400@pb.example>: host
      pbmail3.py.example [192.168.63.111]: 553 5.3.0
      <ace400@pb.example>...Addressee unknown
    

       Слово pipelined указывает, что было использовано расширение SMTP PIPELINING. Смотрите hosts_avoid_esmtp в транспорте smtp для способа отключения PIPELINING. Строки логов для всех форм неудачной доставки помечаются флагом **.

    48.11 Поддельные доставки

       Если доставка, фактически, не имела места, поскольку для её подавления использовалась опция -N, в лог пишется обычная строка доставки, исключая, что => заменяется на *>.

    48.12 Завершение

       Строка в форме
    2002-10-31 09:00:11 16ZCW1-0005MB-00 Completed
    

    пишется в главный лог когда сообщение должно быть удалено из спула, в конце его обработки.

    48.13 Краткое изложение полей в строках логов

       Краткое изложение идентификаторов полей, которые используются в строках логов, показано в следующей таблице:
    Идентификатор
    Значение
    A имя аутентификатора (и опциональный id)
    С подтверждение SMTP после доставки
    CV статус проверки сертификата
    DN характерное имя от сертификата узла
    DT в строке => - время затраченное на доставку
    F адрес отправителя (в строках доставки)
    H имя хоста и IP адрес
    I используемый локальный интерфейс
    id идентификатор сообщения для входящего сообщения
    P в строке <= - используемый протокол
    P в => и ** строках - обратный путь
    QT в строках => - время нахождения в очереди на данный момент
    QT в строках “Completed - время нахождения в очереди
    R в строках <= - ссылка для локального рикошета
    R в ** и == строках - имя роутера
    S размер сообщения
    ST имя теневого транспорта
    T в строках <= - тема сообщения
    T в ** и == строках - имя транспорта
    U локальный пользователь или идентификатор RFC1413
    X способ шифрования TLS

    48.14 Другие записи логов

       Различные иные типы записей время от времени пишутся в логи. Большинство из них - очевидны. Чаще всего:

  • retry time not reached - предварительно, адрес подвергся временной ошибке при роутинге, или локальной доставке, и время его повтора ещё не наступило. Это сообщение не пишется в индивидуальный файл лога, если это не происходит во время первой попытки доставки.
  • retry time not reached for any host - предварительно, адрес подвергся временной ошибке в процессе удалённой доставки, и ни для одного из хостов, к которым был сроучен адрес, не наступило время повтора.
  • spool file locked - Попытка доставки сообщения не может произойти, поскольку некоторые иной процесс exim`a уже работают над ним. Это довольно обычно, если процесс обработки очереди запускается через короткие интервалы. Сервисный скрипт exiwhat может быть использован чтобы узнать, чем занимаются процессы exim`a.
  • error ignored - есть несколько обстоятельств, которые могут привести к этому сообщению:
    1. Exim не может доставить рикошет, чей возрас больше чем
    ignore_bounce_errors_after. От рикошета отказываются.
    2. Файл фильтра установил доставку используя опцию
    noerror, и доставка неудачна. От доставки отказываются.
    3. Доставка настроенная путём роутера сконфигурированного с
    errors_to = <>
    

    неудачна. От доставки отказываются.

    48.15 Сокращение или увеличение того, что логгируется

       Путём установки глобальной опции log_selector, вы можете отключить некоторое дефолтовое логгирование exim`a, или вы можете запросить дополнительный логгинг. Значение log_selector составлено из имён, с предшествующем символом плюса или минуса. Например:
    log_selector = +arguments -retry_defer
    

       Список опциональных элементов лога, указаны в следующей таблице, с дефолтовым значением отмеченным звёздочкой:
    элемент
    значение
    *acl_warn_skipped пропущенное в ACL утверждение “warn
    address_rewrite перезапись адреса
    all_parents все родители в => строке
    arguments аргументы командной строки
    *connection_reject отклонения соединений
    *delay_delivery задержка немедленной доставки
    deliver_time время затраченнное на выполнение доставки
    delivery_size добавляет S=nnn в строки =>
    *dnslist_defer задержки поисков в списках DNS (RBL)
    *etrn команды ETRN
    *host_lookup_failed в названии опции всё сказано
    ident_timeout таймаут соединения ident
    incoming_interface входящий интерфейс в строке <=
    incoming_port входящий порт в строке <=
    *lost_incoming_connection что сказано в названии опции (включая таймауты)
    outgoing_port добавляет удалённый порт к строке =>
    *queue_run начало и завершение обработки очереди
    queue_time время в очереди для одного получателя
    queue_time_overall время в очереди для всего сообщения
    received_recipients получатели в cтроках <=
    received_recipients отправители в строках <=
    *rejected_header содержимое заголовка в логе отклонённых
    *retry_defer retry time not reached
    return_path_on_delivery помещает путь возврата в строки => и *\
    sender_on_delivery добавляет отправителя к строкам =>
    *sender_verify_fail ошибка проверки отправителя
    *size_reject отклонение по причине слишком большого размера
    *skip_delivery пропуск доставки в обработчике очереди
    smtp_confirmation подтверждение SMTP в строках =>
    smtp_connection подключения SMTP
    smtp_incomplete_transaction незавершенная транзакция SMTP
    smtp_protocol_error ошибки протокола SMTP
    smtp_syntax_error ошибки синтаксиса SMTP
    subject содержимое Subject: в строках <=
    tls_certificate_verified статус проверки сертификата
    *tls_cipher метод шифрования TLS в строках <= и =>
    tls_peerdn TLS узел DN в строках <= и =>
    unknown_in_list неудача поиска DNS при сравнении списка
    - -
    all все вышеупомянутые

       Дополнительные детали для каждого из этих элементов таковы:

  • acl_warn_skipped: Когда пропускается warn утверждение ACL, поскольку одно из его условий не может быть оценено, о этом эффекте записывается строка лога, если этот селектор установлен.
  • address_rewrite: Это применяется к обоим перезаписям, - глобальной и транспортной, но не к перезаписи в фильтрах, работающих от непривелигированного пользователя (поскольку такой пользователь не имеет доступа к логам).
  • all_parents: Обычно, лишь оригинальный и финальный адреса логгируются в строках доставки; с этим селектором, промежуточные предки даются между ними, в круглых скобках.
  • arguments: Это вызывает запись exim`ом аргументов, с которыми он был вызван, в главный лог, предшествуемые текущей рабочей директорией. Это - отладочная возможность, добавленная для облегчения узнавания того, как некоторые MUA вызывают вызывают /usr/sbin/sendmail. Логгинг не происходит, если exim отказался от root`овых привилегий, поскольку он вызывается с опциями -C или -D. Аргументы которые пусты, или которые содержат пустое пространство - помещаются в кавычки. Непечатаемые символы показываются в последовательностях начинающихся с обратной косой черты. Это средство не может логгировать нераспознанные аргументы, поскольку аргументы проверяются до чтения конфигурационного файла. Единственный способ логгировать такие случаи - вставка скрипта, типа util/logargs.sh, между вызывающим и exim`ом.
  • connection_reject: Запись в лог производится каждый раз когда отклоняется входящее SMTP подключение, по любой причине.
  • delay_delivery: Запись в лог производится каждый раз когда процесс доставки не запускается для входящего сообщения, поскольку загрузка слишком высока, или слишком много сообщений передано в одном соединении. Логгирования не происходит, если процесс доставки не начат по причине что установлена опция queue_only или используется -odq.
  • deliver_time: Для каждой доставки, количество реального времени затраченного на реальную доставку логгируется как DT=<time>, например, DT=1s.
  • delivery_size: Для каждой доставки, размер сообщения добавляется к строке =>, с тегом S=.
  • dnslist_defer: Запись в логи делается если попытка поиска хоста в чёрных списках DNS возвращает временную ошибку.
  • etrn: Каждая полученная легальная команда ETRN логгируется, до запуска ACL, фактически определяющей, принята она или нет. Неверная команда ERTN, или переданная во время обработки сообщения - не логгируется этим селектором (смотрите smtp_syntax_error и smtp_protocol_error).
  • host_lookup_failed: Когда поиск IP-адресов хоста не в состоянии найти какой-либо адрес, или когда поиск по IP адресу не возвращает имени, в логи записывается строка. Этот логгинг не применяется к прямым поискам DNS при роутинге почтовых адресов, но он применяется к поискам по имени.
  • ident_timeout: Строка в лог записывается каждый раз когда попытка подключиться к клиентскому порту ident привела к таймауту.
  • incoming_interface: Интерфейс на котором получено сообщение добавляется к строке <= как IP-адрес в квадратных скобках, помеченный путём I= и сопровождаемый двоеточием и номером порта. Локальный интерфейс и порт также добавляется к прочим стркам логов SMTP, например, SMTP connection from, и строкам о отклонениях.
  • incoming_port: Удалённый номер порта, с которого было получено сообщение, добавляется к записям логов и строкам заголовков Received:, сопровождаемый IP-адресом в квадратных скобках, и отделённый от него двоеточием. Это осуществляется путём изменения значения помещённого в переменные $sender_fullhost и $sender_rcvhost. Запись удалённого номера порта стала более важной в связи с использованием NAT (смотрите RFC2505).
  • lost_incoming_connection: Строка лога записывается когда входящее SMTP соединение неожиданно обрывается.
  • outgoing_port: Номер удалённого порта, добавляемый к строкам доставки (которые содержат тэг =>), сопровождаемый IP-адресом. Эта опция не включена в дефолтовые настройки, поскольку в большинстве обычных конфигураций удалённый порт всегда 25 (порт SMTP).
  • queue_run: Логгирование запуска и завершения обработки очереди.
  • queue_time: Количество времени, которое сообщение находилось в очереди на локальном хосте логгируется как QT=<time> в строках доставки (=>), например, QT=3m45s. Часы запускаются когда exim начинает приём сообщения, таким образом оно включает время приёма как и время доставки для текущего адреса. Это означает, что оно может быть больше чем разница между временем прибытия и временем доставки в логе, поскольку строка лога о прибытии не пишется, пока сообщение не будет успешно получено.
  • queue_time_overall: Количество времени которое сообщение было в очереди на локальном хосте логгируется как QT=<time> в строках Completed, например, QT=3m45s. Часы запускаются когда exim начинает приём сообщения, таким образом оно включает время приёма как и полное время доставки.
  • received_recipients: Получатели сообщения перечислены в главном логе, как только получено сообщение. Список появляется в конце строки лога, которая записывается когда сообщение приянто, предшествуемый словом for. Адреса пеерчислены после того как они были квалифицированы, но до того как имела место перезапись адресов. Получатели от которых отказались из-за ACL для MAIL или RCPT не фигурируют в этом списке.
  • received_sender: Не перезаписанный оригинальный отправитель сообщения добавляется в конце строки лога, которая записывается по прибытии сообщения, после слова from (до получателей, если, также, установлена received_recipients).
  • rejected_header: Если во время записи о отклонении, в лог отклонённых, был получен заголовок сообщения, полный заголовок добавляется в лог. Логгинг заголовков может быть индивидуально отключен для сообщений которые были отклонены функцией local_scan() (смотрите раздел 41.2).
  • retry_defer: Строка лога записывается, если доставка задержана по причине что не достигнуто время повтора. Однако, сообщение retry time not reached всегда пропускается от индивидуальных логов сообщений, после первой попытки доставки.
  • return_path_on_delivery: Путь возврата, который передаётся с сообщением, включается в строки доставки и рикошета, используя тэг P=. Он пропускается, если не было фактической доставки, например, при неудаче роутинга, или при доставке в /dev/null, или в :blackhole:.
  • sender_on_delivery: Адрес отправителя сообщения, добавляемый к каждой строке доствки и рикошета, помеченный F= (для from). Это - оригинальный отправитель, который передан с сообщением; он - не обязательно то же самое, что и исходящий путь возврата.
  • sender_verify_failure: Если этот селектор не установлен, не пишется отдельная строка о ошибке проверки отправителя. Строка лога для отклонения SMTP команд содержит лишь sender verify failed, таким образом, некоторые детали теряются.
  • size_reject: Каждый раз, когда сообщение отклоняется потому, что слишком велико, пишется строка лога.
  • skip_delivery: Строка лога пишется каждый раз, когда сообщение пропущено в течение работы очереди, поскольку оно заморожено, или поскольку его уже доставляет иной процесс. Сообщение которое пишется - spool file is locked.
  • smtp_confirmation: Ответ на финальную . в диалоге SMTP для исходящего сообщения добавляется в строку лога доставки, в форме C=<text>. Большинство MTA (включая exim), в этом ответе, возвращают идентификационную строку.
  • smtp_connection: Строка лога пишется каждый раз, когда SMTP соединение установлено или закрыто, исключая соединения от хостов которые совпадают с hosts_connection_nolog. (В противоположность, lost_incoming_connection - применется лишь когда закрытие неожиданное.) Она применяется к соединениям от локальных процессов, которые используют -bs, точно так же как и к подключениям по TCP/IP. Если соединение разорвано в середине сообщения, строка лога пишется всегда, вне зависимости от установки этого селектора, если же он не установлен, то в начале и в конце соединнеия ничё не пишется.
       Для TCP/IP соединений к даемону exim`a, число текущих соединений включается в сообщение лога для каждого нового соединения, но записывается, что счётчик сброшен, если даемон перезапущен. Также, поскольку соединения закрываются (и закрытие логгируется) в подпроцессах, счётчик может не включать соединения, которые были закрыты, но чьё завершение ещё не заметил даемон. Таким образом, когда возможно совпадение открытия и закрытия соединений в логе, значение логгируемого счётчика может быть не совсем точным.
  • smtp_incomplete_transaction: Когда почтовая транзакция прервана по причине RSET, QUIT, потери соединения, или как-то иначе, инцидент логгируется, и отправитель сообщения плюс любые принятые получатели включаются в строку лога. Это может предостваить очевидные доказательства атак по словарю.
  • smtp_protocol_error: Строка лога пишется для каждой встреченной ошибки протокола SMTP. Exim не обладает прекрасным обранужением всех ошибок протокола, из-за задержек передачи и конвейерных обработок. Если клиент оповещался о PIPELINING, сервер exim предполагает что клиент будет его использовать, и поэтому не подсчитывает ожидаемые ошибки (например, RCPT переданную после отклонённого MAIL) как ошибки протокола.
  • smtp_syntax_error:  Строка лога пишется для каждой встреченной ошибки синтаксиса SMTP. Нераспознанная команда рассматривается как ошибка синтаксиса. Для внешних соединений, даётся идентификатор хоста; для внутренних соединений использующих -bs, даётся идентификатор отправителя (обычно - вызывающий пользователь).
  • subject: Тема сообщения  добавляется в строку лога прибытия, с предшествующим T= (T - topic, т.к. S уже используется для size). Любые слова MIME в теме - декодируются. Опция print_topbitchars задаёт, должны ли символы с кодом более 127 регистрироваться неизменными, или они должны быть превращены в последовательности с обратным слэшом.
  • tls_certificate_verified: Дополнительный пункт добавляется к строке <= и =>, когда используется TLS. Элемент CV=yes - если сертификат узла был проверен, и CV=no - если нет.
  • tls_cipher: Когда сообщение посылается или принимается через шифрованное соединение, используемый метод шифрования добавляется к строке лога, с предшествующим X=.
  • tls_peerdn: Когда сообщение посылается или принимается через шифрованное соединение, и сетификат предоставляется удалёным хостом, DN узла добавляется к строке лога, с предшествующим DN=.
  • unknown_in_list: "nf установка вызывает запись в лог когда результат сравнения списка неудачен по причине неудачи поиска в DNS.

    48.16 Лог сообщения

       В дополнение к главному файлу логов, exim пишет лог-файл для каждого сообщения, которое он обрабатывает. Имена этих персональных логов для сообщений - идентификаторы сообщений, и они хранятся в субдиректории msglog директории спула. Каждый лог сообщения содержит копии строк логов, которые касаются сообщения. Это облегчает выяснение статуса индивидуального сообщения без необходимости поиска по главному логу. Лог сообщения удаляется после завершения обработки сообщения, если не задана preserve_message_logs, но она должна использоваться с большой осторожностью, поскольку логи могут очень быстро заполнить ваш диск.
       На сильно загруженных системах, может быть желательным отключить использование персональных логов сообщений, для уменьшения дискового ввода-вывода. Это может быть сделано путём установки опции
    message_logs в ложь.


    =============
    translated by lissyara



    Ссылка на обсуждение: http://forum.lissyara.su/viewforum.php?f=20.



  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    2010-03-09, aspera
    Squid+AD (group access)

    Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
    2010-03-02, BlackCat
    Шлюз: Часть 4

    Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
    2010-03-01, BlackCat
    Шлюз: Часть 3

    Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
    2010-03-01, BlackCat
    Шлюз: Часть 2

    Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
    2010-03-01, BlackCat
    Шлюз: Часть 1

    Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
    2010-02-23, Morty
    darkstat

    Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
    2010-01-23, gonzo111
    squid+sams+sqstat

    Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
    2009-12-19, schizoid
    mpd5 + radius + ng_car + Abills

    Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
    2009-11-16, lissyara
    UFS->ZFS

    Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
    2009-11-13, gx_ua
    fusefs-ntfs

    Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
    2009-11-12, Morty
    LiveCD

    Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
    2009-09-27, lissyara
    Samba как PDC

    Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
    2009-08-30, terminus
    ipfw nat

    Подробное руководство по ipfw nat, сложные случаи конфигурации.
    2009-08-24, levantuev
    HotSpot

    Установка Hotspot системы в общественное заведение.
    2009-08-18, lissyara
    diskless

    Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
    2009-07-29, BAV_Lug
    Видеонаблюдение

    Настройка бюджетного варианта видеонаблюдения на удаленном объекте
    2009-07-22, Cancer
    OpenLDAP адресная книга

    Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
    2009-06-30, SergeySL
    AimSniff

    Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
    2009-06-25, atrium
    Управление правами доступа

    Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
    2009-06-16, DNK
    Exim+PgSQL

    Установка почтовой системы exim+pgsql на FreeBSD 7.1
    2009-05-30, mvalery
    HDD(mbr) -> HDD(gpt)

    Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
    2009-05-22, Cancer
    SendXMPP

    Отправка сообщений на Джаббер сервер по средствам SendXMPP
    2009-05-11, Raven2000
    Network UPS Tools

    Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
    2009-04-29, m0ps
    IPSEC over GRE with RIP

    Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
    2009-04-24, WhiteBear777
    qemu network

    Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
    2009-04-22, vp
    freebsd + huawei 162 gsm modem

    В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
    2009-04-12, mvalery
    Мониторинг RAID

    Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
    2009-04-09, texnotronic
    RAID1 via LAN

    Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
    2009-04-03, Raven2000
    Оптимизация хоста для CMS

    В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
    2009-04-01, atrium
    VSFTPD + AD && MySQL

    Настройка самого безопасного сервера FTP - vsftpd.
    2009-03-31, Dron
    Peoplenet + C-motech (3G)

    Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
    2009-03-25, lissyara
    mod_auth_external

    mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
    2009-03-24, gx_ua
    Lightsquid

    Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
    2009-03-18, LHC
    Установка Zabbix-1.6

    Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
    2009-03-16, Cancer
    Принт-Сервер Samba+LPD & AD

    Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
    2009-03-04, Mad_caterpillar
    ipsec_vpnc

    Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
    2009-02-18, Andy
    Free-SA

    Программа анализирует log файлы Squid'а и формирует по ним отчет.
    2009-02-02, Cancer
    Openfire Jabber Server

    Установка Jabber сервера на примере Openfire
    2009-01-28, Cancer
    mpd5 + сжатие и шифрование

    Установка VPN сервера mpd5 + сжатие и шифрование
    2009-01-26, vp
    freebsd + webcamera

    Подключение и настройка вебмкамеры для работы с freebsd на примере Logitech QCam STX
    2009-01-10, Grishun_U_S
    конфиг для офисов

    В статье разбирается конфиг для офиса, пользователи которого имеют строгие ограничения по портам. Заворачиваем www трафик на транспарентный прокси, а остальное NAT'им. Эффективно делим канал интернет
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 16 чел.
    За последние 30 мин было: 81 человек
    За сегодня было
    305 показов,
    102 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0498 секунд
    Из них PHP: 47%; SQL: 53%; Число SQL-запросов: 56 шт.
    Исходный размер: 238345; Сжатая: 40859