こんにちは、 鯨井貴博@opensourcetechです。
いつもntpdを使って時刻同期するときには、
ntpdateでバッチリ → ntpdで同期としてましたが、
逆も出来るらしいので調べてみました。
とりあえず、普通にやってみます。
ntpd-4.2 on CentOS6.9、入ってます。
起動させます。
からの、ntpdate(同期先は、mfeed)。
やっぱりソケット(UDP123)使っとると怒られます。
で、調べてみると、
ntpdateに-uオプションを付ければいけるようです。
ntpdate -u 210.173.160.27
あっさり出来ました!(笑)
ついでなんでパケットも確認してみました。
ntpdですが、
ntpd(192.168.128.110) <-------> ntpサーバ(203.112.10.129)、
双方ともUDP123を使って時刻同期をしてます。
No.91は、ntpd------->ntpサーバのパケット。
No.92は、ntpサーバ------->ntpdのパケット。
そして、ntpdate -uを使ったパターン。
No.96ですが、ntpdate------->mfeed。
通信の送信元ポートが、UDP60021になってますね。
そして、レスポンス(mfeed------->ntpdate)。
No.97では、その戻り。通信成立してますね。
結論
「 ntpdate -u 」を使うと、送信元ポート番号がUDP123から別のものに変更される
のでntpd起動中にntpdateが出来る。
検証はしてませんが、以下にあるソースコード上のポート番号などを変更して、
コンパイルしてもいけるのかな。
ntp/ntp.conf.def at stable · ntp-project/ntp · GitHub
そのうち、暇が出来たらやってみようっと。