Назад | Перейти на главную страницу

NTP и iptables для синхронизации времени внутри центров обработки данных и между ними

У меня есть несколько серверов Linux (Debian) в двух центрах обработки данных, расположенных на восточном и западном побережье США. Я выбрал по одному серверу из каждого места в качестве сервера NTP. Сервер NTP синхронизирует время с серверами 0-3.us.pool.ntp.org. Кажется, пока это работает хорошо.

Клиенты настроены на использование ntp1 и ntp2. Я установил правила брандмауэра (UDP 123) для клиентов.

Мой вопрос в том, как я могу настроить серверы так, чтобы клиенты могли использовать оба моих сервера NTP и не допустить, чтобы мои серверы NTP были общедоступными серверами времени для всех остальных?

Я не уверен, как настроить файл /etc/ntp.conf на серверах, чтобы ограничить их только моими серверами, поскольку это будет сочетание публичной / частной IP-адресации.

Прямо сейчас у меня есть restrict 10.0.0.0 netmask 255.255.255.0 nomodify notrap который ограничит локальную подсеть, в которой работает каждый NTP.

По сути, вы делаете то, что описали выше:

restrict 10.0.0.0 netmask 255.255.255.0 nomodify notrap

для каждой подсети или IP-адреса, который вы хотите обслуживать, затем разрешите вашим серверам (то есть тем машинам, с которых вы получаете свое время) немного меньше привилегий:

restrict 128.118.25.3 noquery nomodify notrap nopeer
restrict 130.88.202.49 noquery nomodify notrap nopeer
restrict 128.59.59.177 noquery nomodify notrap nopeer
restrict 2a01:8000:0:4::123:123 noquery nomodify notrap nopeer

а затем явно запретить всем остальным:

restrict default ignore

Обратите внимание, что это несовместимо с использованием серверов пула, поскольку они будут меняться каждый раз при перезапуске NTP. Если вы хотите полностью игнорировать остальной мир, вам нужно будет настроить использование определенных серверов NTP, чтобы вы могли перечислить их адреса; Интернет-провайдеры часто предоставляют серверы для этой цели. Если вам необходимо использовать серверы пула, не создавайте конкретных записей для серверов времени, а вместо этого измените строку «остальной мир» на

restrict default noquery nomodify notrap nopeer