プロが教えるわが家の防犯対策術!

いつも参考にさせていただいています。
ntpdの複数起動について御教授下さい。

<やりたいこと>
NTPサーバの待ち受けポートを123と10123の2つにしたい。(dstのポートが123でも10123でも時刻同期のサービスを提供できるようにしたい)

待ちうけポートを10123にするために、ソースコードを編集し、それからリビルドしてrpmを作成しました。
参考:http://oshiete1.goo.ne.jp/kotaeru.php3?q=2300850

これで待ちうけポートを10123にすることはできたのですが、これではポート123でのアクセスを受け付けてくれません。正規のrpm(ソースを編集していないもの)を別途インストールするなどしてポート123でもアクセスできるように出来ないかと考えています。
OSはTurbolinux 10 Serverです。

何か設定方法があれば御教授いただきたいです。
よろしくお願いします。

A 回答 (4件)

NTPサーバ側にポートを追加するのは、あまりお勧めできません。


ポートの追加は、変更個所が多く結構厄介だし、NTPサーバ自体のバージョンアップも困難になりませんか?
また、123を10123への変更では、関連のツール群(ntpdate,ntpdc,ntpq,etc)も変更が必要になってしまうし、
元のntpd等の同名で機能が違うプログラムを多数管理しなきゃなりません。
ntpd付属のツール群って元々ポートが変更される事を想定していないんです。

やりたいことが、NTPサーバとして10123/udpを追加するだけなら、本体プログラムを修正するよりも、レピータを導入した方が楽だと思います。

ntpサーバ自体は全く変更せず、10123/udp → 127.0.0.1:123/udp へ転送してしまう方法です。

私は、tcp,udpのレピータにstoneを頻繁に使っています。

10123をntpサーバポートにするクライアントが無いので、起動だけ試してみました。(FreeBSD5.5ですが他のOSでも似たようなものでしょう)

% stone localhost:123/udp 10123/udp &
Aug 17 12:37:37.688741 134656000 start (2.3b) [39334]
Aug 17 12:37:37.707876 134656000 stone 4: 127.0.0.1:ntp/udp <- 0.0.0.0:10123/udp

% lsof -i4 | grep stone
stone 39902 hogehoge 4u IPv4 0xc5d049d8 0t0 UDP *:10123

こんな感じで、ちゃんと動いているようです。
# 使えたら教えて下さいね。

本件の設定自体は(たぶん)上記のもので大丈夫だと思いますが、更なる詳しい使い方やオプションは、作者の方(仙石さん)のホームページを参照して下さい。

# この場を借りて、小回りの効くプログラムを公開されている
# 作者の仙国さんに感謝致します。(私は10年位前から重宝しています)

参考URL:http://www.gcd.org/sengoku/stone/Welcome.ja.html
    • good
    • 0
この回答へのお礼

御教授ありがとうございます。
こんな便利なソフトがあったんですね。驚きました。
ご教示いただいた設定でポート変換することができました。ありがとうございます!!

ご参考までに、設定した内容を記載しておきます。
IPv4/v6の両方でポート変換が必要だったのですが、下記2つのコマンドで実現することが出来ました。
$ stone localhost:123/udp 10123/udp &
$ stone localhost:123/udp 10123/udp,v6only &

1行目だけではIPv4のみ変換できました。(IPv6も一緒に変換してくれるのかと思ったのですができませんでした)
2行目はオプションがv6のみではコマンドを受け付けてくれませんでした。(1行目がない場合はv6onlyではなく、v6オプションをつけるとIPv6のみポート変換されました)

お礼日時:2006/08/18 11:16

ntpdを2つ起動する事もそうですが、何故123番ポートと10123番ポートの2つで待ち受けする必要があるのですか?



参考にある質問は、たしかntpdの待ち受けを123番ポート以外にしたいという事でしたよね?
それなのに123番ポートでも待ち受けするんですか?

この回答への補足

待ち受けポートが2つ必要な経緯を説明致します。

元々、とある端末(ターミナルアダプタです)で時刻同期をするために、10123ポートにする必要がありました。しかし、さらに他のサーバーも同じNTPサーバで時刻同期しなくてはならなくなりました。OSはTurbolinux、Solaris、HP、Windowsです。
Turbolinuxはソースを編集してリビルドしたrpmをインストールすることでdstポート10123でNTPアクセスできたのですが、Solaris、HPでは同様のことができません(この2つは自分で勝手にいじっていい機器ではないです)。
ですので、端末・サーバーの両方でNTP同期できるように123、10123の両方でサービスが提供できるようにしなければいけなくなりました。これがこの質問をさせて頂いた経緯になります。

補足日時:2006/08/16 17:26
    • good
    • 0

理屈では, 123 で待つ ntpd と 10123 で待つ ntpd を別のところに置いておけばいい (必要なら -c で設定ファイルの場所も変える) はずなんですが....


そもそも, なんで 123 と 10123 の両方で待つんでしょうか....

この回答への補足

10123ポートに対応するために、ソースを編集したrpmを入れています。ですので違うrpmファイルとして認識できるようにした上でそれぞれのrpmファイルをインストールするしかないのかと思っていました。
-cとは何のコマンドのオプションでしょうか?

123と10123が必要なのは、それぞれのポートでしかNTP通信できない機器があるためです。

補足日時:2006/08/16 17:29
    • good
    • 0

その前に、なんのためntpdを2つ立ち上げるのでしょう?


整合性がないと思いますが・・・

この回答への補足

説明不足ですいません。
目的の内容ができるのであれば、ntpdを2つ立ち上げなくてもいいです。

ntpdを2つ起動して、1つ目のntpdで123ポート、2つ目のntpdで10123ポートを処理できればと考えていました。

補足日時:2006/08/16 15:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!