ユーザ用ツール

サイト用ツール


raspberrypi:log20140208_ntp_stratum_1

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
raspberrypi:log20140208_ntp_stratum_1 [2015-03-29 00:25]
tosihisa@netfort.gr.jp [●NTP サーバ稼働状況]
raspberrypi:log20140208_ntp_stratum_1 [2018-02-12 23:00] (現在)
tosihisa@netfort.gr.jp
行 1: 行 1:
 +~~socialite~~
 ====== Raspberry Pi で NTP Stratum-1 Server を作る. ====== ====== Raspberry Pi で NTP Stratum-1 Server を作る. ======
 {{ :raspberrypi:img_0124_20140209_181708.jpeg?400 |}} {{ :raspberrypi:img_0124_20140209_181708.jpeg?400 |}}
  
-===== ●変更履歴 ===== +[[raspberrypi/log20171231_rpi3_ntp_stratum_1|Raspberry Pi で NTP Stratum-1 Server を作る(Raspbian jessie)]]記載しました. Raspberry Pi 3 で NTP サーバの構築する場合, [[raspberrypi/log20171231_rpi3_ntp_stratum_1|ちら]] を参にしてみてください.以下の記述は, Raspberry pi 1 で2014年時のものです.
-  * 2014-3-2 初版 +
-  * 2014-04-29 追記(Linux Kernel Config の CONFIG_NO_HZ 無効にすることで1マイクロ秒未満の精度で同期します) +
-  * 2014-04-29 追記(NTP リフレクションアタック対策を iptables で行う) +
-  * 2014-05-03 変更(シェルスクリプトや差分は GitHub Gist に登録してを参照するようにした)+
  
-Evernote 共有リンク(Evernote 保存人向け) +このノートは,元々 Postach.io 公開ましたが,2015年3月29日に,記事を移転しました.
-https://www.evernote.com/shard/s32/sh/332945c9-464e-4816-9f60-c0d6c735d4e7/69b8e7b5e94ddbc9abb2a677a2ac37e8+
  
 ===== ●背景 ===== ===== ●背景 =====
行 34: 行 30:
 Raspberry Pi の拡張ピンに直結できるGPSモジュール基板が販売されています. Raspberry Pi の拡張ピンに直結できるGPSモジュール基板が販売されています.
  
-Raspberry Pi GPS Addon Board +Raspberry Pi GPS Addon Board\\ http://ava.upuaut.net/store/index.php?route=product/product&product_id=95
-http://ava.upuaut.net/store/index.php?route=product/product&product_id=95+
  
 日本からも購入できて,購入してから約10日後に届きました. 日本からも購入できて,購入してから約10日後に届きました.
行 60: 行 55:
 次に、ラズパイとGPSモジュールは,ラズパイの UART で直結しますので,Raspbian の inittab と cmdline.txt を編集して,カーネルのコンソールやシリアル経由でのログインを無効にします. 次に、ラズパイとGPSモジュールは,ラズパイの UART で直結しますので,Raspbian の inittab と cmdline.txt を編集して,カーネルのコンソールやシリアル経由でのログインを無効にします.
  
-  - vi 等のテキストエディタで, /boot/cmdline.txt を開いて console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 と二つのパラメータがあれば,二つとも削除します. +  - vi 等のテキストエディタで, ''/boot/cmdline.txt'' を開いて ''console=ttyAMA0,115200 kgdboc=ttyAMA0,115200'' と二つのパラメータがあれば,二つとも削除します. 
-  - /etc/inittab を開いて, T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 の行が有効になっていれば先頭に '#' を入れて無効にします.+  - ''/etc/inittab'' を開いて, ''T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100'' の行が有効になっていれば先頭に '#' を入れて無効にします.
  
 この時点で,一度ラズパイを再起動します. この時点で,一度ラズパイを再起動します.
行 130: 行 125:
  
 http://ntpi.openchaos.org/pps_pi/ を参考に,ラズパイの拡張ピンのGPIO18 をPPSドライバで使えるようにします. http://ntpi.openchaos.org/pps_pi/ を参考に,ラズパイの拡張ピンのGPIO18 をPPSドライバで使えるようにします.
-このページに記載がありますが,「Enable modules Device Drivers/PPS support/PPS support and PPS client using GPIO」を忘れないで下さい.+__**このページに記載がありますが,「Enable modules Device Drivers/PPS support/PPS support and PPS client using GPIO」を忘れないで下さい.**__
  
 (2014-04-29)ラズパイの Linux カーネルの Config は,CONFIG_NO_HZ が有効になっています. (2014-04-29)ラズパイの Linux カーネルの Config は,CONFIG_NO_HZ が有効になっています.
-この場合,精度をナノ秒精度で合わせられないようです.**必ず CONFIG_NO_HZ は is not set にしましょう.**+この場合,精度をナノ秒精度で合わせられないようです.__**必ず CONFIG_NO_HZ は is not set にしましょう.**__
  
 以下のURLのページが参考になります. 以下のURLのページが参考になります.
行 143: 行 138:
 Linux Kernel Config の要所は以下の通りです. Linux Kernel Config の要所は以下の通りです.
  
-  - CONFIG_NO_HZ を無効にする.(# CONFIG_NO_HZ is not set) \\ 私の環境では,CONFIG_HZ_PERIODIC=y にしています.(Linux Kernel 3.10.28+) +  - ''CONFIG_NO_HZ'' を無効にする.(# CONFIG_NO_HZ is not set) \\ 私の環境では,''CONFIG_HZ_PERIODIC=y'' にしています.(Linux Kernel 3.10.28+) 
-  - CONFIG_PPS を有効にする.\\ 私の環境では,CONFIG_PPS=m にしています. +  - ''CONFIG_PPS'' を有効にする.\\ 私の環境では,''CONFIG_PPS=m'' にしています. 
-  - CONFIG_NTP_PPS を有効にする. +  - ''CONFIG_NTP_PPS'' を有効にする. 
-  - CONFIG_PPS_CLIENT_GPIO を有効にする.\\ 私の環境では,CONFIG_PPS_CLIENT_GPIO=m にしています.+  - ''CONFIG_PPS_CLIENT_GPIO'' を有効にする.\\ 私の環境では,''CONFIG_PPS_CLIENT_GPIO=m'' にしています.
  
 カーネルのビルドとインストールができたら,/etc/modules に pps-gpio を追加します. カーネルのビルドとインストールができたら,/etc/modules に pps-gpio を追加します.
行 258: 行 253:
 1日の内,初めの内は10マイクロ以上の変動が見られるのですが,その内収束して数マイクロ秒の差でGPSモジュールと同期しているのが確認できます. 1日の内,初めの内は10マイクロ以上の変動が見られるのですが,その内収束して数マイクロ秒の差でGPSモジュールと同期しているのが確認できます.
  
-{{ :raspberrypi:393e9a41-f199-4352-bba7-4479a0132aac.jpg?400 |}}+{{ :raspberrypi:393e9a41-f199-4352-bba7-4479a0132aac.jpg |}}
  
 1日のうちの初めの10マイクロ以上の変動は謎で,これは調査中ですが,これでラズパイが NTP Stratum 1 として動いていることが確認できます. 1日のうちの初めの10マイクロ以上の変動は謎で,これは調査中ですが,これでラズパイが NTP Stratum 1 として動いていることが確認できます.
行 265: 行 260:
  
 CONFIG_NO_HZ を無効にしたカーネルと,「●(2014-04-29)その他の設定」を実施した後のGPS同期状態グラフを以下に示します. CONFIG_NO_HZ を無効にしたカーネルと,「●(2014-04-29)その他の設定」を実施した後のGPS同期状態グラフを以下に示します.
 +
 +{{ :raspberrypi:loopstats_20_2.png |}}
  
 初めの±2マイクロ秒以上の offset は Linux カーネル変更と設定前です. 初めの±2マイクロ秒以上の offset は Linux カーネル変更と設定前です.
行 272: 行 269:
 上記のグラフではレンジが荒いので,±3マイクロ秒範囲でグラフにしたものを貼ります.時々1マイクロ秒を超えるオフセットがありますが,ナノ秒レベルで同期できています. 上記のグラフではレンジが荒いので,±3マイクロ秒範囲でグラフにしたものを貼ります.時々1マイクロ秒を超えるオフセットがありますが,ナノ秒レベルで同期できています.
  
 +{{ :raspberrypi:69f034c7-1b06-4d02-8b2b-137b8190df95.jpg |}}
 ====== ●NTPリフレクションアタックへの対応(2014-04-29) ====== ====== ●NTPリフレクションアタックへの対応(2014-04-29) ======
  
行 343: 行 341:
  
   * Secure NTP Template\\ http://www.team-cymru.org/ReadingRoom/Templates/secure-ntp-template.html\\ http://www.atmarkit.co.jp/ait/articles/1402/12/news140.html   * Secure NTP Template\\ http://www.team-cymru.org/ReadingRoom/Templates/secure-ntp-template.html\\ http://www.atmarkit.co.jp/ait/articles/1402/12/news140.html
 +
 +===== ●変更履歴 =====
 +  * 2014-3-2 初版
 +  * 2014-04-29 追記(Linux Kernel Config の CONFIG_NO_HZ を無効にすることで1マイクロ秒未満の精度で同期します)
 +  * 2014-04-29 追記(NTP リフレクションアタック対策を iptables で行う)
 +  * 2014-05-03 変更(シェルスクリプトや差分は GitHub Gist に登録してそれを参照するようにした)
 +
 +Evernote 共有リンク(Evernote で保存したい人向け)
 +https://www.evernote.com/shard/s32/sh/332945c9-464e-4816-9f60-c0d6c735d4e7/69b8e7b5e94ddbc9abb2a677a2ac37e8
 +
 +~~DISCUSSION:off~~
 +
raspberrypi/log20140208_ntp_stratum_1.1427556338.txt.gz · 最終更新: 2015-03-29 00:25 by tosihisa@netfort.gr.jp