Тема: Network Time Protocol, узнаем точное время

Обнаружил что у меня сервак переодически переводит время (скорее всего проблема биоса) после ребуута может быть +2-3 часа... Устал воевать и решил убить легион зайцев один выстрелом: поднять NTP сервер и раздавать правильное время на все Win машины в сети (там тоже проблема со временем бывает)

Был приятно удивлен, Бсд имеет у себя все необходимое для этого, даже доставлять ничего не понадобилось...

1. Редактируем rc.conf[mono]
ntpd_enable="YES" # включить так сказать
ntpd_config="/etc/ntp.conf" # где лежит конфиг (файла по умолчанию нет, надо создать!!!)
ntpd_sync_on_start="YES" # ну тут все ясно
ntpd_flags="-p /var/run/ntpd.pid -f /var/db/ntpd.drift -l /var/log/ntpd.log" # log нужная штука, помогает отлаживать...[/mono]

2. ntp.conf[mono]
# сервера откуда берем время, лучше использовать ип, по ним отклик быстрее
server 193.193.193.107
server 193.82.131.32
server 87.139.126.233

# описяваем что можно делать с вешеуказонными серверами
restrict 193.193.193.107 noquery notrap
restrict 193.82.131.32 noquery notrap
restrict 87.139.126.233 noquery notrap

# описываем свою сеть
restrict 10.0.0.0 mask 255.255.254.0 nomodify notrap[/mono]

3. Открываем в фаерволе UDP на порт 123
[mono]${fwcmd} add pass udp from 10.0.0.0/23 to me 123
${fwcmd} add pass udp from me 123 to 10.0.0.0/23[/mono]

4. Пускаем шарманку
[mono]/etc/rc.d/ntpd start[/mono]

4. Обнавляем у винды время.
Тут есть несколько очень важных аспектов, винда очень нелогичная система, и глючит в этом плане... Два способа по синхронизации времени (учтите, что в домене оно синхронизируется автоматом с корневым сервером, так что время можно тока на нем менять, дальше само потянет...)

Команда:
[mono]net time /setsntp:111.111.111.111 (тут ип нашего локального сервера)
net time /set[/mono]

Data & Time Propertis:
идем во вкладку Internet Time->сервер 111.111.111.111->Update Now->OK

В любом случае если вы сделаете чтото из вышеуказанного система скорее всего не обновится (а может и матюгнутся, что сервер ненайде), надо перегрузить сервис времени. Это делается в оснастки Services (run->services.msc). Надо найти сервис "Windows Time" зайти в пропертис и сделать Stop && Start. Если возникли какието проблемы то можно попробывать вообще остановить его и запустить заного (Startup tipe ставим Disabled и нажимаем Apply, потом ставим Automatic и Apply) после чего опять Start.

У меня все заработало. Чего и вам желаю !

P.S. Завтро сделаю кукушку на серваке, а то както скучно стало...