ari23の研究ノート

メーカ勤務エンジニアの技術ブログです

桜時計で立てたSNTPサーバから、有線LANで時刻取得するときの設定方法

業務でNTPサーバから時刻を取得する機能を実装することになりました。
会社のネットワークでは組込み機器から外部のNTPサーバにアクセスすることができないので、桜時計というフリーウェアを使って環境を構築しようとしましたが、その設定にかなりハマってしまいました。

そこで今回は、どのような設定をして問題を解消したかをまとめます🐜

開発環境

開発環境は下記の通りです(ちなみに、実際に開発しているのはスマホではありません)。

ネットワーク環境 組み込み機器-有線-サーバPC
ネットワーク環境 組み込み機器-有線-サーバPC

非常に単純な構成です。開発対象の組み込み機器は、無線LANなんて高価なものはありませんので、有線LANで行います。

なお、ノートPCはWindows10です。

桜時計

ググると普通のWindowsパソコンでも設定すれば、擬似的にSNTPサーバを立てることができるようでした。しかし、レジスタをいじらなければならず、戻すのもめんどくさいので、桜時計を使いました。

この桜時計ナニがすごいって、1997年で更新が止まっているのにもかかわらず1、まだみんな使っているっぽいです。
しかも、OCNが使い方のページまで作ってるぐらいすごいです。

フリーウェアを作っている方は本当にすごいですよね。ただただ尊敬します。

ハマった事象

で、本題です。

ググると、『「SNTPサーバとして動作する」のチェックボックスをつけるだけで、SNTPサーバとして使える!』と書いてあるんですが、まったく繋がりませんでした(泣)

そこで、組み込み機器の代わりにもう一台ノートPCを持ってきて、PC同士でも試しましたがダメでした。
このときの環境は以下の通りです。

ネットワーク環境 クライアントPC-有線-サーバPC
ネットワーク環境 クライアントPC-有線-サーバPC

あーでもないこーでもないを繰り返し、ダメ元で「ノートPC間を有線LANではなく無線LANにすれば、つながったりして」なんてことを考えて試したら、なんと接続できましたw
このときの環境は以下の通りです。

ネットワーク環境 クライアントPC-無線-サーバPC
ネットワーク環境 クライアントPC-無線-サーバPC

解決方法

接続できた環境を手がかりに試行錯誤を繰り返して、以下の2つをやるとつながることがわかりました。

  1. Windows Defender ファイアウォールの設定をいじる

    • 「コントロールパネル(カテゴリ)」の「システムとセキュリティ」を左クリック
    • 「Windows Defender ファイアウォール」を左クリック
    • 左側にある「詳細設定」を左クリック
    • 左側にある「受信の規則」を左クリック
    • 中央に出できた項目をスクロールすると以下のような項目が出てくる
      f:id:ari23:20190727165437p:plain
      桜時計|Windows Defender ファイアウォール設定前
    • 明らかに怪しげな「桜時計 network time client パブリック」をダブルクリック
    • 「操作」の「接続を許可する」のチェックボックスにチェックを入れて、OKを左クリック
      f:id:ari23:20190727165435p:plain
      桜時計|Windows Defender ファイアウォール設定後
  2. SW_NORAS.EXEを使う
    桜時計をダウンロードすると、readmeに「うまく動かないときはSW_NORAS.EXEを使ってね」みたいなことが書かれています。
    私の環境ではSKRWATCH.EXEではうまく行かず、サーバ側をSW_NORAS.EXEを使うとうまくできました(クライアント側はSKRWATCH.EXEで大丈夫です)。

簡単な考察

一番効いたのはWindows Defender ファイアウォールの設定を見直したことだと思っています。

無線LANでつながったのは、

  • 社内無線LANネットワークはドメインネットワークであり、
  • 受信の規則でプロファイルのドメイン、プライベートのときはデフォルトで許可されていた

のが理由だと思います。

ただし、SKRWATCH.EXEでできない理由はよくわかっておりません。

おわりに

今回の事象で3日くらい潰しましたorz
ググってもみんな簡単にできたって書いてあるだけで、解決策が全然わからず、桜時計を諦めかけていました。

ダメ元で無線LANで試して接続できたところを足掛かりに、Windows側の設定を見直すまでにたどり着きました。 やっぱりこういうときは、可能性があるものはなんでも試すのが大事ですね。

参考になれば幸いです(^^)


  1. 作成者の宇野信太郎さんのHPのリンクはもうないみたいです。