Debian を実行しているサーバーが複数あり、すべてのデフォルトゲートウェイで実行されている NTP サーバーにクロックを同期する必要があります。さまざまなネットワークセグメントに多数のサーバーがあるため、ゲートウェイのIPアドレスが何であるかを調べ、/etc/ntp.conf
各サーバーに対して手動で変更する必要があります。
この作業には時間がかかり、ネットワーク構造が頻繁に変更されることがわかっているので、どのような部分があるのか疑問に思います。簡単な方法(毎年IPアドレスを手動で変更するよりも簡単です。)ntpクライアントを「デフォルトゲートウェイへの自動同期」モードに設定します。そのようなことは可能ですか?
答え1
Jeff Schallerと議論した後、ntpの前に実行され、ゲートウェイアドレスを次に追加するinit.d
簡単なスクリプトを追加しました。set-gateway-as-ntp
/etc/ntp.conf
#! /bin/sh
### BEGIN INIT INFO
# Provides: setgatewayasntp
# Required-Start: $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Start-Before: $ntp
# Short-Description: Set gateway as NTP server
# Description: Set gateway address to /etc/ntp.conf
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Set Gateway as NTP"
. /lib/init/vars.sh
. /lib/lsb/init-functions
case "$1" in
start)
gateway_ip=`ip route show default | awk '/default/ {print $3}'`
sed -i /etc/ntp.conf -e "s/^server .*/server $gateway_ip/"
;;
stop)
;;
*)
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 3
;;
esac
:
私はこの解決策はあまり誇りに思っていませんが、私の問題を解決しました。
答え2
最も簡単な解決策は、dhcpリースにntp-servers optinoを提供することです。
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
option ntp-servers 192.168.10.1, 192.168.10.50;
BLAH BLAH
}
デフォルトでは、Debian の ntp パッケージには、dhcp リースリストにリストされている ntp サーバーを ntp.conf に追加する dhcp-exit フックが含まれています。