ntpdateコマンドで時刻合わせをする時にプロキシを使うのは無理っぽい

Linuxサーバで時刻合わせをするために、ntpdateコマンドを使用したい場合がある。

ntpdateコマンドは、

ntpdate 時刻合わせ用のサーバのドメイン(またはIPアドレス)

《例》
ntpdate ntp.nict.jp

といった形式で実行するだけで、簡単にLinuxサーバの時刻を正しく合わせることができる大変便利なコマンドだ。

しかし、Linuxサーバ自身が外部のインターネット環境に自由に接続できない場合、このコマンドを実行しても、外部の時刻合わせ用のサーバにアクセスできず、時刻を合わせることができない。

《外部のサイトにアクセスできない制限があるLinuxサーバ上でのntpdateコマンド実行例》
# ntpdate ntp.nict.jp
30 Jun 02:25:31 ntpdate[9805]: no server suitable for synchronization found

最初この問題に直面した時、HTTPプロキシを使えばいいのではないか、と思った。

Googleで探していると、面白い記事が見つかった。

How to use ntpdate behind a proxy?
http://superuser.com/questions/307158/how-to-use-ntpdate-behind-a-proxy

Is it possible to use ntpdate behind a HTTP proxy with authentication? In case it is not possible, are there any good alternatives?

Answer
If it is purely an HTTP proxy, it is using port 80, so the basic answer is no to that specifically. NTP uses UDP port 123. If it is a more generic proxy server, serving all ports, then maybe.

この記事によると、NTPはUDPプロトコルの123番ポートを使うため、80番ポートを使う純粋なHTTPプロキシを使って外部のサーバにアクセスすることはできないだろう、とのことだった。

たしかに、そりゃそうだなぁ。

こういう時は、外部のNTPサーバにアクセスできるように、ファイアウォールのポートを開けるなどして頑張る(人にお願いする時は交渉する)か、内部のネットワークにもしNTPサーバが設置されているのであれば、そのサーバを管理している人に頼んで、そのサーバへの接続許可をもらう、などの方法となるだろう。

大規模なネットワーク環境内にサーバを設置する場合は、後者の方法が用意されていると思うのだが、そうではない規模の環境だと、前者の方法を採用することが多いかも。

どちらの方法も取れる場合は、後者の方法が良いと思う。

前へ

広島駅から博多駅まで新幹線「こだま」で移動すべきか、「のぞみ」で移動すべきか

次へ

PHPスクリプトを「php -r」でコマンドラインで実行する場合、LinuxとWindowsではPHPスクリプトの囲み方が異なるようだ