CentOS5 システムの時刻を正確に保つ - itochif.com
GNOME端末を起動する
NTPサーバの選定
ファイアウォールの設定
ファイアウォールの設定で行ったiptablesの設定ではntpdateでの時刻同期のための通信が破棄されてしまいます。 以下は[/usr/sbin/ntpdate]コマンドを使用した時の/var/log/messagesの内容です。
# /bin/grep DROP /var/log/messages
Mar 2 16:00:00 www kernel: [DROP DEFAULT] :IN= OUT=eth0 SRC=192.168.10.2 DST=XXX.XXX.XXX.XXX LEN=76 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=123 DPT=123 LEN=56
図1.ファイアウォールによって破棄されたntpdateの通信(抜粋)
これら通信を行うために上記ログから必要な情報を抜き出すと以下のリストになります。
- 外向きの新規UDP通信(OUT=eth0/PROTO=UDP)
- 送信元IPアドレスはこのサーバ(SRC=192.168.10.2)
- 宛先IPアドレスはこのサーバ以外のANY(DST=XXX.XXX.XXX.XXX)
※NTPサーバのIPアドレスが固定ならば宛先IPアドレスは固定 - 送信元ポートは123(SPT=123)
- 宛先ポートは123(DPT=123)
ファイアウォールの設定で作成したシェルスクリプトに、この情報を元にして作成したiptablesコマンドを追記します。 「※この下に受け入れる接続を記述する」の部分に以下の設定を追記します。
# ----- ntpdate 用 /sbin/iptables -A OUTPUT -p udp -o $IF1 -s $IP1 --sport 123 --dport 123 -m state --state NEW -j ACCEPT図2.「ファイアウォールの設定」に追記するコマンド
上記のコマンドを追記した後、以下のコマンドでパケットフィルタテーブルを更新します。
# /usr/local/sbin/iptables.sh ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ] ファイアウォールルールを適用中: [ OK ] チェインポリシーを ACCEPT に設定中filter [ OK ] iptables モジュールを取り外し中 [ OK ] iptables ファイアウォールルールを適用中: [ OK ] iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]図3. パケットフィルタテーブルの更新
システムの時刻をNTPサーバと同期させる
システムの時刻を定期的に更新する
掲載日 3/02/2008



システムの時刻を正確に保つ事は大切です。ログの時刻があてにならなかったり、cronで動作するプログラムが予定外の時刻に動作したりする可能性があります。ここでは、Network Time Protocol(NTP)を使用してシステムの時刻を正確に保ちます。