Родерик Смит - Сетевые средства Linux
• -b. Данная опция указывает на то, что даже при малом значении ошибки должно устанавливаться новое показание часов.
• -о версия. С помощью этой опции вы можете указать программе версию NTP для использования.
• -р число_показаний_времени. В обычных условиях ntpdate устанавливает системные часы на основании четырех показаний времени, полученных с сервера.
С помощью данной опции вы можете увеличить или уменьшить это значение (но оно должно оставаться в диапазоне от 1 до 8).
• -q. При указании опции -q программа опрашивает сервер, не изменяя значение системного времени. В этом случае сервер не возвращает данные в формате, удобном для восприятия; результаты опроса могут быть использованы для вычисления времени задержки при взаимодействии с сервером.
• -s. Данная опция применяется при запуске программы с помощью инструмента cron.
• -u. В обычных условиях ntpdate использует при передаче пакетов стандартный порт 123. С помощью этой опции вы можете указать на необходимость применения непривилегированного порта (с номером выше 1024). В некоторых случаях это приходится делать при работе через брандмауэр.
После запуска программа ntpdate выводит различные статические данные, в частности, уровень сервера, используемого для синхронизации, смещение и задержку. Если при выполнении программы не возникнет ошибка и если при ее вызове не была задана опция -q, ntpdate скорректирует показания системных часов, установив новое значение либо выполнив их подстройку.
Для периодического запуска программы ntpdate часто используется инструмент cron. В большинстве случаев достаточно запускать ntpdate один раз в сутки, но если необходима более высокая точность, ее можно вызывать чаще, например, один раз в день. Периодическое выполнение ntpdate уменьшит NTP-трафик по сравнению с использованием ntpd.
ВниманиеЕсли вы используете для синхронизации времени общедоступный сервер, не планируйте вызов ntpdate на полуночь. Почему-то многие администраторы считают, что полночь — наилучшее время для коррекции системных часов, в результате в это время на сервер обрушивается лавина запросов. Указывайте для вызова ntpdate любое другое подходящее время, например 1:23 или 3:48. Это обеспечит более равномерную нагрузку на сервер, а ваша служба времени будет работать более точно и надежно, так как при обращении к серверу не возникнут непредвиденные задержки.
Использование Samba для предоставления данных о времени
Как вы уже имели возможность убедиться, NTP — чрезвычайно полезный протокол, позволяющий поддерживать с высокой точностью показания системных часов на компьютерах под управлением Linux. Кроме NTP, существуют и другие протоколы подобного назначения. Один из них реализован в составе протоколов SMB/CIFS, используемых для разделения файлов и принтеров. (Эти протоколы и реализующий их продукт Samba рассматривались в главе 7.) Если вы планируете запустить сервер NTP на компьютере, на котором установлен сервер Samba, примите во внимание тот факт, что гораздо проще сконфигурировать Samba для предоставления данных о времени, чем инсталлировать клиенты NTP на каждом из Windows-компьютеров. (Samba не позволяет устанавливать системное время, обращаясь к серверу SMB/CIFS, работающему под управлением Windows.)
Опция временного сервера в конфигурационном файле Samba
Как вы уже знаете, конфигурационный файл smb.conf используемый для настройки сервера Samba, состоит из нескольких разделов, большинство из которых описывает разделяемые каталоги. Однако первый раздел с именем [global] содержит установки по умолчанию, а также опции, которые не могут быть включены в описания разделяемых объектов. Одна из этих опций, time server, позволяет активизировать временной сервер. Для этого надо включить в файл smb.conf следующее выражение:
time server = Yes
Данное значение опции указывает на то, что сервер Samba должен отвечать на запросы клиентов SMB/CIFS и предоставлять им сведения о текущем времени. Вы можете задавать данное значение опции независимо от того, используется ли на вашем компьютере ntpdate, rdate или другая программа. Однако следует заметить, что для того, чтобы сервер Samba предоставлял точные данные о времени, следует принять меры для синхронизации системных часов этого компьютера.
На заметкуПротокол SMB/CIFS не обеспечивает такой точности установки времени, как NTP. Сразу после выполнения процедуры синхронизации времени разница в показаниях системных часов различных Windows-клиентов может составлять около секунды.
Настройка Windows-клиента для автоматической коррекции системного времени
Для того чтобы установить текущее время на клиентской машине под управлением Windows, надо выполнить следующую команду:
С:> NET TIME\SERVER /SET /YES
В данном случае SERVER — это NetBIOS-имя сервера Samba. Как и при использовании программы ntpdate в системе Linux, вы можете ввести данную команду вручную. Возможно, вы предпочтете, чтобы эта команда выполнялась при загрузке системы или при регистрации пользователя в ней. Для этого надо включить ее в файл .ВАТ (он может называться, например, SETTIME.ВАТ) и скопировать этот файл в папку Startup. Если ваша сеть состоит из доменов, вы можете включить данную команду в состав сценария регистрации, используемого по умолчанию. (Из AUTOEXEC.BAT ее вызывать нельзя, поскольку при выполнении этого файла сетевые средства еще не запущены.)
На заметкуWindows 2000 и XP обеспечивают непосредственную поддержку NTP. Команда NET TIME /SETSNTP:NTP_сервер позволяет выполнять синхронизацию времени с использованием сервера NTP_сервер. В состав этих систем входит даже полнофункциональный сервер NTP, но обсуждение его конфигурации выходит за рамки данной книги.
Резюме
Временной сервер дает возможность синхронизировать показания системных часов компьютеров вашей сети друг с другом, а также с внешним сервером, который, в свою очередь, получает сведения от эталонного источника времени. Использование временного сервера позволяет устранить проблемы, возникающие из-за неодинаковой настройки системных часов разных узлов сети. Одним из самых популярных протоколов, предназначенных для обеспечения работы временных серверов, является NTP. Сервер, поддерживающий NTP (обычно он реализуется с помощью программы ntpd или xntpd), работает постоянно и периодически сверяет свои данные о времени со сведениями, полученными от других серверов NTP. В небольших сетях достаточно установить один сервер NTP уровня 3, синхронизировав его с сервером уровня 2 (выше такого сервера в иерархии NTP находятся сервер уровня 1 и источник эталонных данных о времени). Для синхронизации клиентских компьютеров с сервером уровня 3 используется ntpd либо клиентская программа ntpdate. В больших сетях целесообразно установить несколько серверов NTP и даже источник эталонных данных, например устройство GPS.
Для получения данных о времени и коррекции системных часов предназначены также клиент-программа rdate и временной сервер SMB/CIFS, реализованный в пакете Samba. Для этой же цели служит команда NET системы Windows. Команду NET можно использовать для коррекции системных часов клиентского компьютера под управлением Windows, не инсталлируя на нем программное обеспечение NTP.
Глава 11
Получение почты: протоколы POP и IMAP
Электронная почта — одна из наиболее популярных служб Internet. Большинство пользователей глобальной сети ежедневно прибегают к ее услугам. С ее помощью можно одинаково просто послать сообщение сотруднику, работающему за соседним столом, и адресату, находящемуся на другом континенте. В системе Linux реализована поддержка различных почтовых протоколов. В данной главе рассматривается один из классов почтовых протоколов, а именно протоколы получения почты. При использовании этих протоколов доставка писем осуществляется по инициативе получателя. Кроме протоколов получения существуют также протоколы передачи почты, которые осуществляют передачу писем по инициативе отправителя. (Наиболее популярный на сегодняшний день протокол передачи почты SMTP будет рассмотрен в главе 19.) Протокол передачи почты является непременным участником процесса доставки писем. Протоколы получения используются, как правило, на последней стадии, в редких случаях — на промежуточных этапах доставки сообщений.