Raspbianの時刻自動同期設定

どうやら最近のRaspbianではntpdを時刻同期に使っていないらしい。systemd-timesyncdというsystemdサービスに置き換わっているようだ。Raspberry PiはRTCを積んでいないので何らかの時刻同期を起動時に行わないと時刻がでたらめなものになってしまう。古いRaspbianでは起動時にntpdateで一回限りの時刻同期を行っていたように記憶しているが、stretch以降はsystemdサービスで自動的に時刻同期を行うように変更されたようだ。

デフォルトの設定ではこれはDebianが提供している公開NTPサーバーから時刻を同期するように設定されているようだ。日本国内からは遠すぎるので、国内で参照できる公開NTPサーバーに書き換えることにする。

書き換える設定ファイルは/etc/systemd/timesyncd.confだ。このファイル内の[Time]セクションにNTPサーバーのアドレスを指定する場所がある。デフォルトではコメントアウトされているが、これを国内のサーバーのFQDNに書き換える。

[Time]
NTP=ntp.nict.jp
FallbackNTP=ntp.jst.mfeed.ad.jp

メインはNICTの公開NTPサーバーを指定するが、ここに繋がらなかった場合の代替NTPサーバーもFallbackNTPに国内の公開NTPサーバーを指定しておく。

再起動すれば、指定したNTPサーバーから時刻を取得して自動的に同期してくれる。同期されているかどうかは以下のコマンドで確認できる。

sudo systemctl status systemd-timesyncd

表示されるログから時刻同期の状況が確認できる。念のためdateコマンドの出力で正しい今の時刻が吐き出されることを見ておこう。

RaspbianでNetworkManager経由で固定IPを設定する

Raspbian OSの最新版はDebian Bookwormベースになっている。久しぶりに余っていたRaspberry Pi 3B+で遊んでみようとRasbpian Bookwormをインストールしてみたところ、Bookwormのネットワーク関係の設定がNetworkManagerで行うお作法に変更されていたので、設定方法を記録しておく。

まずは設定したいインターフェースの情報を取得する。コマンドラインからNetworkManagerを使うコマンドはnmcliだ。

nmcli connection show

すると設定されているインターフェースの情報が表示される。有線接続のインタフェースはDEVICE欄でeth0を探せばいい。そのDEVICEのNAMEがプロファイル名だ。ロケールをja_JP.UTF-8にしているためか’有線接続 1’という日本語のプロファイル名になっていた。

このプロファイル名を使えばNetworkManagerでどういう情報が設定されているかを詳しく知ることができる。プロファイル名はシングルクウォートで囲むこと。

nmcli connection show ‘有線接続 1’

さて、プロファイル名が分かればコマンドラインから静的IPを設定することができる。管理者権限で実行したいのでsudoコマンドを使う。

sudo nmcli connection modify ‘有線接続 1’ ipv4.method manual ipv4.address 192.168.xxx.xxx/24 ipv4.gateway 192.168.xxx.yyy ipv4.dns 192.168.xxx.zzz

念のため、正しく設定されているかどうか上記の詳細を表示するコマンドで確認しておこう。