いくつかのサーバーに適切なNTP構成


9

小規模なネットワークに約20台のLinuxサーバーがあり、それらのクロックを適切に(たとえば、20ミリ秒以内に)近づける必要があります。私はそれらすべてをeurope.pool.ntp.orgに同期させて作業を開始しました。

今私は2つの質問があります:

  1. プールへの負担は目立ちますか?すなわち、それはどの作るん目立っ私は20台のサーバからか、2から打っていた場合、プールに差は?
  2. それが違いをもたらす場合、私のサブネットとプールを軽い負荷の下で同期させ続けるセットアップ/構成は何ですか?巨大なネットワーク(http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101)のガイドラインはありますが、小規模なネットワークのガイドラインはありません。

1
通常、内部ネットワークを同期する1つまたは2つの内部タイムサーバーが必要です。2つの内部サーバーはpeer関係を持つことができます。例えば参照ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101
Marki

コメントをありがとう、Markiをリンクします。リンクに関しては、それは確かに私のケースではない「巨大なネットワーク」のためであると述べています。あなたの提案について:1つの内部タイムサーバーは良いアイデア(単一障害点)ではないと思いますが、2つは良いアイデアのように見えます。ピア関係とは何か説明できますか(またはリンクを提供できます)?
ndemou 2014

また、私は間違いなくNTPの専門家ではないことに注意してください-それからはほど遠い:-)
ndemou 14

あなたが仲間が何であるかについて少しグーグルしても害はありません。このサイトは、自分で調査をまったく行わない場合、銀の大皿では何も提供しないことに注意してください。
Marki 14

誤解しないでください、私は宿題をやりましたが、NTPはこれらの主題の1つであり、ほとんどのドキュメントは飲み込みすぎている(これはntp.confです-使用するだけです)か、深すぎます(操作の50ページの理論はあなたの前に読むことができません)基本的な事実を把握し始めることができます)。
ndemou 2014

回答:


8
  1. プールへの負担は目立ちますか?つまり、20台のサーバーまたは2台のサーバーからヒットした場合、プールに顕著な違いはありますか?

プールが何年にもわたってサーバーを常に必要としていることを考えると([1]を参照)、2台または20台のサーバーが実際に違いをもたらすわけではありませんが、自分が一人ではないことを常に覚えておく必要があります。つまり、管理者が1000人だと考える方がよいでしょう。この場合、私たちは2000または20000のサーバーについて話ているので、違い生まれます。

  1. それが違いをもたらす場合、私のサブネットとプールを軽い負荷の下で同期させ続けるセットアップ/構成は何ですか?

ネットワーク内の2つの[2]サーバーをプールと同期(プライマリNTPサーバーと呼びましょう)してから、他のすべてのサーバーをこれらの2つに同期する必要があります。この方法には、すべてのサーバー間の時間がより正確に一致するという利点もあります(1ミリ秒未満)。これはIETFのベストプラクティス準拠しています。

1)プライマリNTPサーバーの構成

ntp [d] .conf のserverand restrict行を次のように置き換え、残りをディストリビューションのデフォルト[3]に保ちます:

server 10.11.12.1  iburst peer
#      ^^^^^^^^^^^
#      The LAN IP of the _other_ Primary NTP server 
server 0.europe.pool.ntp.org 
server 1.europe.pool.ntp.org 
server 2.europe.pool.ntp.org 
server 3.europe.pool.ntp.org 
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

この構成では、インターネット全体からのホストがNTPクエリを介してホスト時間をクエリすることもできます。不要な場合はファイアウォールを使用してください。この例では、10.11.12.1と10.11.12.2はプライマリNTPサーバーのIPです(1つはパブリックインターネットに面し、もう1つはローカル10.11.12.xサブネットに面する2つのネットワークカードを持っています)。各プライマリNTPサーバーは、もう1つをピアとして宣言します(ピアは基本的にサーバーとクライアントの両方を意味します。他のホストをタイムソースとして使用し、他のホストもタイムソースとして使用します)。したがって、各プライマリNTPサーバーの構成がピアとして他のサーバーを指すように、1行目のIPを調整します。4つのサーバーを使用するという私の選択については、[4]を参照してください。

2)他のすべてのサーバーの構成

2A)2つのネットワークインターフェイスがある場合

2番目のインターフェースを使用してローカルサブネット(など10.11.12.0/24)を作成し、それをNTPクエリに使用することをお勧めします。その場合、制限線をよりきつくすることができます。そのため、ntp [d] .conf のserverand restrict行を次のように置き換え、残りをディストリビューションのデフォルト[3]のままにします。

restrict -4 default ignore
restrict -6 default ignore
restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
#      ^^^^^^^^^^
#      The IPs of your 2 Primary NTP Servers

2B)2つのネットワークインターフェイスがない場合

以下の制限行を使用する必要があります(ファイアウォールを使用して上記のNTPサーバーへのアクセスをブロックすることに関する注意をお読みください)。そのため、ntp [d] .conf のserverand restrict行を次のように置き換え、残りをディストリビューションのデフォルト[3]のままにします。

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
#      ^^^^^^^^^^
#      The IPs of your 2 Primary NTP Servers

ノート

[1] 2006年から2012年に彼らが常に参加するために複数のサーバーを頼む:2006の要求、2009年 1および2012一つ。現在のステータスの更新については、www.pool.ntp.orgを確認してください。

[2] 2つのプライマリNTPサーバーは、複雑な高可用性の構成なしに冗長性を持たせる簡単な方法としてのみ提案されています。他の理由で3または4を選択できます(もう一度IETFのベストプラクティスをお読みください)

[3]実際には、ディストリビューションに関係なく、ntpd設定に含める必要があるのは、ドリフトファイルを置くディレクトリとその名前を定義する行だけです(例:)driftfile /var/lib/ntp/ntp.drift。CentOS、Debian、Ubuntuでソリューションをテストしました。私はそれが他のほとんどのディストリビューションで機能すると思います。

[4] ベストプラクティスに従って4つのプールサーバーを構成しました。4つを超えるサーバーを構成することは技術的には受け入れられますが、NTPプールへの負荷を増やして、可用性に疑問の余地があるため、実行しないでください。ベストプラクティスでは、「ntp-4.2.6以降、 'pool'ディレクティブは "十分な"アソシエーションを起動して、堅牢なタイムサービスを提供する」ので、.poolを使用するとわかります。ここでのようにアドレスを設定し、ntp> = 4.2.6のサーバー行の正確な数はおそらく問題ではありません。

ああラント!私はNTPが嫌いです(ただし、動作することを気に入っています)。公式ドキュメントには古い情報が満載されており、「使用方法」は記載されています。内部についての科学的詳細と混合された情報。そして、私はrestrict 127.0.0.1本当にどういう意味か嫌いですallow everything for 127.0.0.1


更新履歴

iburstプールに対する親しみやすさは議論の余地があるため、ローカルNTPサーバーの構成からオプションを削除しました。(コメントを参照)。それらを削除しても、最初の同期に数分の待機時間が追加されるだけです。


クレジット

SFユーザーのMarkiとSvenからのコメントと回答は、この回答の出発点として適しています。それらの両方に感謝します。


1
私からの+1。私はプールサーバーを実行していますが、この投稿の正しさを強調しすぎることiburstはありません。ただし、これはパブリックサーバーで使用するのは面倒なパラメーターなので、使用しないでください(と同じように面倒ではありませんburst)。プールサーバーの管理者は、純粋にインターネットの運用を改善するために、あなたが誰であるかを知らずに、自分への補償をすることなく、あなたに好意を示しています。 あなたが一生懸命に働き、彼らの生活をより簡単にすることができるなら、あなたはそうする義務を彼らに負っています。
MadHatter、2015

MadHatterに感謝します。iburstについては、通常の「常時接続」サーバーでは問題ないと思いました。このオプションを使用しないというアドバイスをサポートするリンクはありますか?(私はwww.pool.ntp.org/en/use.htmlをチェックし、10分間グーグル検索しましたが、決定的なものは何も見つかりませんでした)
ndemou

私は私の交通統計を楽しく共有します。簡単なサンプルは、誤って構成されたホスト、つまり1分に1回よりも頻繁に送信するホストがクライアントの約45%を占めているが、トラフィックの約75%を占めていることを示しています。これは、主にサーバからその使用になりますburstが、それでもiburst(から言うntpd「manページ)メッセージのボレーは、データをグルーミングし、約10Sでクロックを設定するために交換され、このオプションを使用して」。を使用するiburstと、「サーバーの負荷を低く抑えるよりも、クロックをすばやく設定することが重要です」と言われますが、それは失礼です。
MadHatter、2015

あなたは「メッセージのボレー」について正しいですが、私が理解できる限り、このバーストはNTPデーモンの起動時と、(おそらく)プールサーバーが一時的に到達不能な場合(iが初期状態から)にのみ発生します。Arch wikiのNTPdページの要約は次のとおりです。「iburstオプションが推奨され、最初の試行で接続を取得できない場合にのみパケットのバーストを送信します。バーストオプションは、最初の試行でも常にこれを行います。明示的な許可なしに使用してはならず、ブラックリストに登録される可能性があります。」
ndemou 2015

あなたは正しいですiburstよりはるかに少ない不快ですburst。私のポイントは、誰かが無料で他の人のリソースを使用しているとき、思いやりがあるために後方に曲げるべきだという議論があるということです。単に積極的に思慮深くないというだけでは十分ではないと考えられるかもしれません。私はそれがベストプラクティスであると言われていることに同意しますが、これらのドキュメントでは、同期先のアップストリームサーバーが企業の一部であるかどうかは考慮されていません。彼らは、社会的なベストプラクティスではなく、技術的なベストプラクティス(私が同意するが、これを使用するiburst)を指示します。
MadHatter、2015

6

これに対する通常のアプローチは、階層化されたセットアップを使用することです。ネットワーク内の1つまたは2つのサーバーをプールと同期し、それらをローカルタイムソースとして使用します。このレベルは、NTPの用語ではと呼ばれます。

また、それについて考えてください。説明したようにこれを行うと、それほど目立たなくなりますが、1000サイトのサイズでこれを開始すると、20kのほとんど不必要なリクエストが発生し、ある時点でそれが目立つようになります。

http://en.wikipedia.org/wiki/Network_Time_Protocolをお読みください


ただし、別の視点を検討してください。何百万もの既存のクライアントに加えて20を超えるクライアントは、ほとんど何もありません。
200_success 2014

2
彼が言ったように、誰もがそのように考え始めたら...
Marki

しかし、どの時点で停止しますか?使用するように事前構成された状態で出荷されるすべてのLinksysクラスのデバイスについて考えてみてくださいpool.ntp.org。確かにDNSトラフィックはNTPトラフィックを超えています。DNSをローカルにキャッシュする必要もありますか?DNSトラフィックでさえ、残りの帯域幅消費と比較してごくわずかである可能性があります。
200_success 2014

@ 200_success:これは議論する価値はありませんが、この「Linksysクラス」デバイスのほとんどは実際にDNSトラフィックをローカルにキャッシュし、キャッシュするISP DNSにもクエリを実行します...
Sven

1
Linksysが同期するデバイスを出荷している場合、ntp.pool.orgそれらはプール条件に違反しています。彼らがベンダーゾーン(リンクを参照)を申請して適切に実行した場合は、負荷に比例してプールプロジェクトに貢献することも期待されます(ここでもリンクを参照)。
MadHatter、2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.