Использование 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.
Читать дальше