wheezy向けの旧ページはこちら

4.NTPサーバーの立て方 - RaspberryPiで各種サーバー作り! - ある阪大生の物置小屋

NTPは外部のサーバから正確な時刻を得るためのプロトコルです。
家庭レベルであれば、特にサーバーを設ける必要はないのですが、デフォルトでインストールされているので活用してみましょう。
(「サーバー立てなくても・・・」という方は、「ntpd」をリムーブして、「ntpdate」をインストールし、cron等で定期的に同期すれば良いでしょう。)

NTPの設定

Raspbianには「ntpd」がデフォルトでインストールされているので、設定の説明から入ります。

  1. ntpdの設定ファイル「/etc/ntp.conf」を以下のように編集する。
    (変更)
    server 0.debian.pool.ntp.org iburst
    server 1.debian.pool.ntp.org iburst
    server 2.debian.pool.ntp.org iburst
    server 3.debian.pool.ntp.org iburst
    ↓
    #server 0.debian.pool.ntp.org iburst
    #server 1.debian.pool.ntp.org iburst
    #server 2.debian.pool.ntp.org iburst
    #server 3.debian.pool.ntp.org iburst
    pool ntp.nict.jp iburst
    pool ntp.jst.mfeed.ad.jp iburst
    server ats1.e-timing.ne.jp iburst
    
    (追加)
    disable monitor
    restrict -4 default ignore
    restrict -6 default ignore
    restrict ntp.nict.jp kod notrap nomodify nopeer noquery
    restrict ntp.jst.mfeed.ad.jp kod notrap nomodify nopeer noquery
    restrict ats1.e-timing.ne.jp kod notrap nomodify nopeer noquery
    restrict (時刻を参照させたいネットワークアドレス) mask (サブネットマスク) kod nomodify nopeer notrap
    
    (「「iburst」って何?」と思われるかもしれませんが、これは起動時に多くのNTPリクエストをサーバーに送り、サンプルを得ることで、同期を高速化するオプションなので、つけておくことを推奨。)
    (「disable monitor」は、一時期、monlist機能を使ったDDoS攻撃が問題になり、その対策としてmonlist機能を無効にするためのもの。最新版では修正されていますが、大抵の人には不要な機能なので無効にしておくことを推奨。)
  2. 以下のコマンドで、iptablesの設定を書き換え、NTPの通信ができるようにする。
    sudo iptables -A INPUT -j ACCEPT -s (時刻を参照させたいネットワークアドレス)/(サブネットマスク) --protocol udp --source-port 123 --destination-port 123
    sudo iptables -A OUTPUT -j ACCEPT -m owner --uid-owner (ntpユーザのユーザーID) --protocol udp --source-port 123 --destination-port 123
    
    ntpユーザのユーザーIDは以下のコマンドで調べられる。
    id -u ntp
    
    2.5.の通り、iptablesの設定の変更後は以下のコマンドで設定を記録しておくこと。
    sudo iptables-save | sudo tee /etc/iptables/rules.v4
    
  3. 以下のコマンドで、ntpdに設定を読み直しさせます。
    sudo systemctl restart ntp
    
  4. 外部からNTPで時刻を取得してみる。
    Windows XP以降では、コントロールパネルから「日付と時刻」に関する設定の「インターネット時刻」タブから設定できます。
    Windowsのデフォルトは、「time.windows.com」という海外にあるアクセスが多いサーバーになっているので、サーバーを立てていなくても変更した方がよいでしょう。
    それ以外のOSについては、「(使用しているOS)+NTPクライアント」で調べてください。(^^;)

4.参考サイト

製品紹介(Amazonアフィリエイト)